Database– category –
OracleやSQLのつまずきをまとめたカテゴリーです。NOT INが0件になる原因や、ユーザーとスキーマの違いなど、現場で「あれ?」となるポイントを確認用のSQL付きで解説します。
-
Database
OracleのPROCESSESとOPEN_CURSORS、増やす前に何を見る? ORA-01000・ORA-00020の原因をV$RESOURCE_LIMITとV$OPEN_CURSORで切り分ける(19c)
こんにちは、おうどんです🍜 新人さん「ORA-01000 が出ました! OPEN_CURSORS を 300 から 3000 に増やしておきますね」 おうどん「10倍!?」 新人さん「ついでに PROCESSES も 2000 にしておきます。大は小を兼ねるので」 おうどん「……それ、再起... -
Database
Oracleの初期化パラメータ変更で再起動が必要か調べる方法|V$PARAMETERのISSYS_MODIFIABLE(IMMEDIATE・DEFERRED・FALSE)とORA-02095・ORA-02096の意味(19c)
こんにちは、おうどんです🍜 新人さん「OPEN_CURSORS を増やしたいんですけど、DB の再起動っていります?」 おうどん「いい質問だね。……ちょっと待ってね」 おうどん(心の声)「……どっちだっけ」 (会話は説明用の架空の場面です) 正直に言いま... -
Database
SQLのBETWEENで日付の最終日が抜ける原因と対処|時刻付きの列は「>= 開始 AND < 翌日」で書く(Oracle・PostgreSQL・SQL Server・SQLite)
こんにちは、おうどんです🍜 10月の終わり。うどん屋の店長(おうどん)が、月の売上を集計しています。 今月の目玉は、ハロウィン当日だけの限定メニュー「かぼちゃうどん」。10月31日だけ、販売しました。 SQL を書く。 SELECT item, count(*) FR... -
Database
SQLのNOT INが0件になる原因はNULL|NOT EXISTS・LEFT JOINへの書き換えと三値論理
こんにちは、おうどんです🍜 うどん屋さんの顧客データベース。「まだ一度も注文していないお客さん」に、初回クーポンを送りたい。 SQL を書く。NOT IN でサクッと。昨日までは、ちゃんと1人出てきた。 今日。実行する。 0件。 ……待って。お客さん... -
Database
RMANのCONFIGUREはスクリプトで実行しても残る? コマンドファイル(@)実行後のSHOW ALLで確かめる
こんにちは、おうどんです🍜 (会話は説明用に作ったものです) バックアップ用のシェルスクリプトを読んでいたら、こんな行がありました。 rman target / @${rman_sample} 一時ファイルに RMAN のコマンドを書き込んで、それを RMAN に渡して実行...