最近、18c さわってます。 LOG_ARCHIVE_DEST_n の書き方がちょっとかわったんですね。 LOG_ARCHIVE_DEST_n = { LOCATION=path_name | SERVICE=service_name }
階層問い合わせがわかりにくくなるのは、どっちが、どっちかわからなくなるからだと思います。 少なくとも自分はそうです。。。 で、あえて逆をたどります。
訳あって階層問い合わせをいじってみました。
100回ぐらい調べた気がします。 確認は ARCHIVE LOG LIST ;
手元の Virtual Box に作った Linux 6.9 環境で、定期的にダイアログが表示されてました。 これ以上ミラーはありません
CSV出力するためのSQLを書くのがめんどくさいのでつくりました。 おもに、V$ビュー、DBAビューの CSV出力を目的に作成していますが、普通の表でも使えるはず。 SQL Developer があればいらないけど、わりと便利で評判がいいんですよね。
p000 と pz99 の違いがマニュアルにありました。 スレーブ・プロセスには、0からPARALLEL_MAX_SERVERSに設定した値までの番号が付けられる。問合せがGV$の場合、バックグラウンド・プロセスにはPZ99から始まる番号が逆順に付けられる。 ようするに普通のパラ…
ある条件下でヒストグラムが使われるかどうか?という質問を受けた。 で、ヒストグラムが使われたかどうかを確認する方法ってあったけか?と調べてみたが、event 10053 以外は見つけられず。 そもそも、ヒストグラムは、取られていれば使われるもので、使わ…
トリガーってエラーになると、引き金になった処理も失敗する。 トリガーでの例外処理 ほとんどの場合、例外を呼び出す文がトリガーによって実行され、その例外が例外ハンドラによって処理されないと、データベースは、トリガーとそのトリガーを呼び出す文の…
こんな感じ。 nc -v -w 1 <IP address> <port> 失敗すると $ nc -v -w 1 192.168.56.21 23nc: connect to 192.168.56.21 port 1521 (tcp) failed: Connection refused$</port></ip>
エンディアン(endian)の話。毎回忘れます。 x86 はリトル。 HP-UX や AIX など他は大体ビッグ。 メインフレームも大体ビッグ。
V$SQLAREA が親で、V$SQL が子。 これも何度も調べた。
発生するたびに調べているような気がする。。。
外部表、データ移行で使えるかちょっと確認してました。
行連鎖の状況って、dbms_stats.gather* で、dba_tables.chain_cnt に入ると思ってた。 間違いでした。
errorstack の取り方なんてもう忘れてしまいました。。。 デバッグコマンドになるので、実行には十分にご注意いただき自己責任でおねがいします。
隠しパラメータの確認方法2のとこで like '_optim%' ってやったけど、これだと 先頭1文字がが "_" じゃないやつもヒットしちゃう。ほんとはエスケープしてあげる必要がある。で必要になったときのためのメモ。タイトルのとおり。
隠しパラメータって V$ ビューで見えないと思ってる方も多いかもしれませんが。設定すれば見えます。例えば。 SQL> alter system set "_optim_peek_user_binds" = false ;System altered.SQL> col name for a30SQL> col value for a10SQL> col description f…
show parameter に SQL TRACE をしかけてみた。 event 10046 level 12 でバインド変数もみてみた。 結果、 =====================PARSING IN CURSOR #18446741324870934176 len=289 dep=0 uid=0 oct=3 lid=0 tim=3873769313860 hv=2462394820 ad='d3ce4140' …
そもそもコメントは無視されるのですが、 何が言いたいかというと。 /* TEST */SELECT 1 FROM DUAL; SELECT 1 FROM DUAL; この 2つのSQLの SQL_ID は同じ。
asmcmd って結構べんりですよね。しょぼいけど。
パーティションの CREATE 文は書きましたが、今度はコンポジット・パーティション。主なものだけですが。
当然、そらでかけるわけもなく。
メモメモ。。。 VARIABLE STMT_TASK VARCHAR2(64);EXEC :STMT_TASK := DBMS_SQLTUNE.CREATE_TUNING_TASK(sql_id=>'xxxxxxxxxxxxx', time_limit=>300);EXEC DBMS_SQLTUNE.EXECUTE_TUNING_TASK(:STMT_TASK);SET LONGCHUNKSIZE 2000000 LONG 2000000 LINESIZE 3…
log file sync をすごく簡単に言うと、、、 「コミット時に発生する待機で、LGWRによるREDOログの書込み完了待ち」 です。 トランザクションがコミットされると、データの整合性が保たれるようREDOログ情報をファイルに書き出す必要があります。 なので、サ…
log file sync の待機時間が長いというので、post-wait から polling に変わっていないか調べました。 AWR でここら辺のインスタンス統計が上がると polling になっている可能性があります。 redo synch poll writes redo synch polls 意味は、、、よくわか…
パーティションごとの件数はこんな感じで確認できます。 select count(*) from [table_name] partition( [parition_name] ); サブパーティションの場合は?
TSV やったんで、CSV もついでに。 こんなかんじ set lin 120set pages 0set head offset feed offset term offset trims onset echo offspool test.csvselect dummy || ',' || dummy from dual;spool off
CHR 関数でできる。CHR(9) がタブ。 こんな感じ set lin 120 set pages 0set head off set feed off set term off set trims onset echo off spool test.tsvselect dummy || CHR(9) || dummy from dual;spool off
V$SQL の COMMAND_TYPE 列や、V$SESSION の COMMAND列は、NUMBER 型。 これは、V$SQLCOMMAND で定義されている。 SQL> select * from V$SQLCOMMAND order by 1;COMMAND_TYPE COMMAND_NAME------------ ------------------------------ 0 1 CREATE TABLE 2 IN…