Gblog

おもにTips

よくつかう tkprof のオプション

よく使うのに忘れる。 AGGREGATE = { YES | NO } SYS = { YES | NO } そもそも、tkprof をたまにしか使わないから。

Virtualbox で disk を拡張するときのコマンド(のメモ)

またやろうとすると、どうせ忘れて google 先生に聞く羽目になるので。 仮想ディスク(VDI)を拡張してから、linux で実行するコマンドのメモ。

NULL は、「= NULL」 では抽出できない。

※ 12.2 で動作確認

コレクション型は苦手

SET MARKUP CSV ON が使える件

12.2 の SQL*Plus の新機能ですが、SET MARKUP CSV ON で、CSV 出力ができるようになっています。 3.5.1.6 MARKUPオプション いままで、列が長いと、col ... for a10, col ... for a10 と一生懸命列を整形していましたが、CSV 出力ならそんな心配はないです。…

SYS_NC00004$

列名です。 GoldenGateのフィジビリティチェックで、SYS_NC00004$ なる列があったので調べてみたところ、どうやらファンクション索引を付けた場合に自動で仮想列ができるようです。

Data Pump の各モードで対象になるオブジェクト

アホのようにマニュアルにリストがないか探していました。 オリジナル export / import はリストがあります。。。 オリジナルのエクスポート オリジナルのインポート Data Pump ではディクショナリビューで管理されていました。。。 DATABASE_EXPORT_OBJECTS…

MVIEW と Data Pump

MVIEW (Materialized View) と Data Pump の組み合わせで小ネタ。 移行時に、「MVIEW は移行先で作成すればいいや」ってことで適当なオブジェクトを作って Pump の exclude の動作確認をしてみました。

サンプルスキーマのインストール

12.2 のテスト環境にサンプルスキーマを入れてます。 昔は Companion CD だった気がしますが、今は Github にあるんですね。。。 サンプル・スキーマのインストール

セグメント管理 [ AUTO | MANUAL ] / エクステント管理 [ LOCAL | DICTIONARY ]

表領域の話。忘れるのでメモ。

LOG_ARCHIVE_DEST_n の MANDATORY

最近、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を出力するためのSQL

CSV出力するためのSQLを書くのがめんどくさいのでつくりました。 おもに、V$ビュー、DBAビューの CSV出力を目的に作成していますが、普通の表でも使えるはず。 SQL Developer があればいらないけど、わりと便利で評判がいいんですよね。

p000 と pz99

p000 と pz99 の違いがマニュアルにありました。 スレーブ・プロセスには、0からPARALLEL_MAX_SERVERSに設定した値までの番号が付けられる。問合せがGV$の場合、バックグラウンド・プロセスにはPZ99から始まる番号が逆順に付けられる。 ようするに普通のパラ…

ヒストグラム、使った?

ある条件下でヒストグラムが使われるかどうか?という質問を受けた。 で、ヒストグラムが使われたかどうかを確認する方法ってあったけか?と調べてみたが、event 10053 以外は見つけられず。 そもそも、ヒストグラムは、取られていれば使われるもので、使わ…

ログイントリガーによる接続制御(ご利用は自己責任で)

トリガーってエラーになると、引き金になった処理も失敗する。 トリガーでの例外処理 ほとんどの場合、例外を呼び出す文がトリガーによって実行され、その例外が例外ハンドラによって処理されないと、データベースは、トリガーとそのトリガーを呼び出す文の…

nc コマンドを使った port の疎通確認

こんな感じ。 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 が子。 これも何度も調べた。

SQL*Net break/reset to client って

発生するたびに調べているような気がする。。。

外部表

外部表、データ移行で使えるかちょっと確認してました。

DBA_TABLES.CHAIN_CNT

行連鎖の状況って、dbms_stats.gather* で、dba_tables.chain_cnt に入ると思ってた。 間違いでした。

errorstack

errorstack の取り方なんてもう忘れてしまいました。。。 デバッグコマンドになるので、実行には十分にご注意いただき自己責任でおねがいします。

like '\_optim%' escape '\'

隠しパラメータの確認方法2のとこで like '_optim%' ってやったけど、これだと 先頭1文字がが "_" じゃないやつもヒットしちゃう。ほんとはエスケープしてあげる必要がある。で必要になったときのためのメモ。タイトルのとおり。

隠しパラメータの確認方法2

隠しパラメータって 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 の裏側

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' …

SQL文の先頭のヒントは無視される

そもそもコメントは無視されるのですが、 何が言いたいかというと。 /* TEST */SELECT 1 FROM DUAL; SELECT 1 FROM DUAL; この 2つのSQLの SQL_ID は同じ。