OracleのSQL実行痕跡は以下に示すものの中にあります。 ただし、それぞれの設定レベル、保存方法によって、参照できる範囲は変わります。 1.オンラインREDOログとアーカイブログ オンラインREDOログはすべてのOracleデータベースに存在します。 ですが、そのREDOログのサイズとシステムのアクセス量によって保存期間は変化します。アーカイブログ設定しておけば、古いREDOログはアーカイブとして吐き出されます。 これらは#1の方がおっしゃったLOGMINERで実行済みSQLを調査することができます。 アーカイブログモードになっているかどうかは、下記で確認できます。 SQL> select log_mode from v$database; また、どのアーカイブログファイルを調査するかは下記を参照すれば良いと思います。 SQL> select name,to_char(completi
各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります JPOUGのadvent calendar 12月4日担当です。いやー、ぎりぎりの時間です。 http://www.zusaar.com/event/1687004 DBAは通常、DataBase Administratorの略とされます。 最近、DBAの定義について考えることがあったので、そのネタで書いてみたいと思います。 Administratorという定義から考えると、管理者、運用者というイメージです。しかし、DBA(もしくはDB担当)というのは、私が知る限り、開発プロジェクトに所属していることもありますし、運用部隊に居ることもありま
各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります 前回に引き続いてSQL文の捕まえ方&実行計画取得方法です。 その0から3は、前編に載せています。 ●その4 statspackから捕まえる 注:snapのレベルは6以上がお勧めですからね! 例:execute statspack.snap(i_snap_level=>6); この方法は、過去のある時点のSQLの実行計画を確認するために 便利な方法です。「昨日遅かった」とか、「前土曜日のバッチが 遅かった」といった調査において力を発揮します。 statspackやAWR(有償オプション)によって、過去のある時期の DB全体の稼動状況を確認でき
Statspackは自動取得も可能 Oracle データベースでは、取得済みスナップショットの確認や 手動/自動での取得、対象レベルの指定も可能。その方法を紹介する。 Statspackの手動取得コマンド デフォルト以外のレベルでスナップショットを取得するには、 引数に i_snap_level を追記する。 デフォルト SQL> execute statspack.snap ※ レベル5でスナップショットが作成される レベル6指定 SQL> execute statspack.snap(i_snap_level=> 6) ※ 実行時のみレベル6で取得される Statspackの自動取得コマンド 日付の演算で一定時間毎に取得することも可能。 1時間毎 execute dbms_job.interval(<ジョブ>, 'sysdate+(1/24)'); 10分毎 execute dbms_
各種インフラ技術(OS、ストレージ、ネットワーク)やオラクル製品といった話題を取り上げます。著者は小田圭二、「門外不出のOracle現場ワザ」、「絵で見てわかるOracleの仕組み」、「絵で見てわかるOS/ストレージ/ネットワーク」などの著作もあります ※いただいたコメントを採用させていただきました。「 and a.sql_child_number = b.child_number」を追加しています。 今回は、私がよく使う、実行されたSQL文の捕まえ方、およびSQL文の実行計画取得方法をご紹介します。長いので前編と後編に分けます。今回は前編です。 まず、「v$sql_planから実行計画を表示する」方法を簡単に紹介し、その後、「実行されたSQL文の捕まえ方」を説明します。 ●その0 v$sql_planから実行計画を表示する。 どの方法でも大体使える、v$ビューからの実行計画の表示方法です
はじめに アプリケーションから発行したSQLがうまく動作しない場合、発行したSQLが分かれば調査の手がかりとなります。Oracleのv$sqlを参照すると、実行したSQLの履歴とバインド変数を確認することができます。 ざっくり言うと SQLの実行履歴はv$sqlテーブルを見ると分かる。 行が多すぎるため、SQLの断片を検索条件に含めると良い。 バインド変数の確認はv$sql_bind_captureを見ると分かる。 新・門外不出のOracle現場ワザ エキスパートが明かす運用・管理の極意 (DB Selection)posted with amazlet at 15.06.06小田 圭二 大塚 信男 五十嵐 建平 谷 敦雄 宮崎 博之 神田 達成 村方 仁 翔泳社 売り上げランキング: 76,494 Amazon.co.jpで詳細を見る 直近5分間に実行されたSQLを参照する 以下のクエリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く