sooni

oracle

V$LOCKED_OBJECTで現在ロックされているテーブルを確認する

現在発生しているトランザクションが獲得しているロックを表示 V$LOCKED_OBJECTを参照する事で現在ロックがされているテーブルを確認できます。ロックしているだけで誰にも迷惑をかけていない(誰も待たせていない)のであれば良いのですが、...
Windows

Windows環境にnkfをインストールする

本来であれば、PowerShellのコマンドレットか何かでファイルの文字コードを判定したかったのですが実現方法が見つかりませんでした。これを実現するために、今回nkfコマンドをインストールしました。
oracle

SQL*Plusの戻り値を使いPowerShellへ値を渡す(Windows環境)

以前Linux環境を想定した記事を書いたのですが、Windows環境(PowerShell)でも同様な事を実現する事があったので今回記事としました。基本的にはLinux環境と同じですが新たな発見もありました。windows環境の場合、Lin...
oracle

Oracle DATE型の引き算で経過時間を見やすく表示する

バッチ処理等で経過時間を出力する際に出番があります。地味ですが意外と困っていらっしゃる方多いようなので記載してみました。 経過時間表示SQL select c1 ,to_char( to_date( (c3-c2)*24*60*60,'SS...
動的パフォーマンス・ビュー

V$INSTANCE インスタンスが起動してからの経過時間を確認する

v$instanceを参照する事で確認できます。この動的パフォーマンスビューへアクセスできない場合はSELECT_CATALOG_ROLEを権限付与してください。
oracle

失効している統計情報のみを取得しなおす(分割実行)

SCOTTスキーマが持つテーブルの中で現在失効している統計情報を取得しなおすプロシージャです。無名ブロックで記載しているのでDBへのストアドは不要でお気軽です。fetch first xxx rows only の部分を適当に変えて使ってく...
oracle

V$ACTIVE_SESSION_HISTORY 待機イベントの発生を確認する

SQLを実行した時、実行プランは同じなのに実行タイミングによって実行時間が大きく変わるような場合があります。こんな時は想定外の待機イベントが発生している可能性が高いです。 AWRレポートを確認すれば良いのでしょうが、DBA_HIST_ACT...
oracle

統計情報をOracle任せにした際、対象となるオブジェクトを確認する

以下のプロシージャではOPTIONS =>'GATHER AUTO' と指定した場合、統計情報の取得対象をOracle任せにする事ができます。運用に携わる側としてはお気楽なのですが、たまに『実際には何が対象になるのだろうか』と確認したくなる...
oracle

Oracle テーブルのサイズ(使用状況)を調べる

たまに上司やお客様より「テーブルのサイズいくら?」と質問がきます。大抵の場合「このテーブルの存在はどの程度Disk容量を消費しているのだろうか」という事が知りたいようです。質問の通りテーブルのサイズを返答するだけでなく「インデックスのサイズ...
oracle

Oracle INDEXのDDLをファイル出力する

sqlplusを使ってインデックスのDDLをファイル出力します。