oracle

データ・ディクショナリ

Oracle ユーザ一覧

DBA_USERSDBA_USERSを参照する事でユーザ一覧を出力できます。COMMON='NO'と条件をつけているのは、システムデフォルトで作成されるユーザを外すためです。この項目は12c以降に追加されているのですが、個人的には結構重宝し...
oracle

利用不可状態のINDEXに対しリビルドを実行

UNUSABLE状態のインデックスは利用できません断片化対策等でテーブルのMOVEを行った場合、PKを含めインデックスは「UNUSABLE」となりそのままでは利用できません。利用できるようにするにはインデックスのリビルドが必要になります。以...
oracle

TIMESTAMP型の引き算で経過時間を表示する

DATE型と異なり経過時間を秒で表現するにはひと手間(EXTRACTファンクション)かけて導出する事になります。検証SQLselect c1,to_char(x.ELAPSED) as 経過日時分秒,EXTRACT(SECOND FROM ...
oracle

Oracle TIMESTAMP型の計算(XX秒後、XX日後)

TIMESTAMP型においてXX秒後、XX秒前、XX分後というのは少し面倒です。NUMTODSINTERVAL()ファンクションを使って計算します。利用例-- 1.45秒後systimestamp + NUMTODSINTERVAL(1.4...
データ・ディクショナリ

DBA_MVIEW_LOGS マテビュ―ログ一覧

マテビュ―ログ一覧高速リフレッシュ(差分)するにはマスターテーブルに対する更新を情報を保存するテーブル「マテリアライズド・ビュー・ログ」が必要になります。このDBA_MVIEW_LOGSを参照する事でログテーブルとマスターテーブルの関係を確...
データ・ディクショナリ

DBA_MVIEWSでマテリアライズド・ビュー一覧

DBA_MVIEWS でマテリアライズド・ビュー一覧マテビューはDBA_MVIEWSにて確認できます。マテビュー一覧出力SQLselect t.OWNER,t.MVIEW_NAME,t.MASTER_LINK,t.REFRESH_MODE,...
oracle

ランダム文字列、乱数の生成

DBMS_RANDOM.STRING()の第一パラメータで指定できる文字は以下の通り(大文字、小文字どちら指定しても同じ意味となる)U   大文字アルファベットL   小文字アルファベットA   大、小文字が混在アルファベット文字X   大...
oracle

Oracle テーブルとカラムへコメントを追加する

テーブル、Viewへのコメント追加viewに対してもなぜかcomment on tableで作成できます。comment on viewにするとエラーです。(ORA-32594: COMMENTコマンドのオブジェクト・カテゴリが無効です)そ...
oracle

Oracle ROWIDとは

ROWID疑似列ROWID疑似列というくらいなので、「カラム」ではありません。オブジェクト(テーブル)のアドレスとなります。ROWIDは以下項目で構成されます。オブジェクト番号行が存在するデータファイル番号行が存在するデータファイルのブロッ...
oracle

Oracle HWMを下げる

HWMが高い位置にあるってどうゆう状況?例えば「住所マスタテーブル」を新規にCREATEし、1レコード1024バイトのデータを10万レコードINSERTしたとします。こと時1024×10万≒98Mバイト分のデータを格納するだけのブロックが消...