記録(e_c_e_t) RSSフィード

リンクはご自由に。

2011-12-21 家政婦のミタ最終回。

決して笑ってはいけない家政婦24時。

だったはずなのに、子供たちに、クズ親父に「笑って」とせがまれ、涙を流しながら子供たちに微笑みかける菜々子。笑顔ではなく、母親の顔になっている。

単に、感情のオン・オフをしているだけだと、もう分かっているのに、引きこまれついでに泣いてしまった。素晴らしい演技だ。感情を殺し、ほとんどを棒読みにして、数少ない演技する箇所でこれでもかと感情を詰め込む。凄いストーリー作りだし、それに応える松嶋菜々子も素晴らしい。

いいものが見れた。今年は、ドラマの当たり年だったように思う。


logminerの使い方(Oracleの変更履歴を見る方法) logminerの使い方(Oracleの変更履歴を見る方法)を含むブックマーク

簡単に、Oracleの変更履歴をおさらいしてみる。

    • SQLで変更された場合、変更内容はredoログに書き込まれる
    • redoログは複数ファイルで構成されており、いっぱいになったら、次のファイルに書き込まれる、これは循環する

redoログは状態を持っており、以下で調べられる

select * from v$log

状態は、

status意味
CURRENT現在書き込み中のファイル
ACTIVE次にcheckpointが来たらデータ書き込みされる状態のファイル
INACTIVE現在何もしていない状態のファイル

動作モードはこうやって確認

select log_mode from v$database;

なので、非一貫性バックアップなどに使える

大事な事なので2回言いました。

    • 変更履歴を見たい時は、redoログを見ればイイ

でも、redoログアーカイブログバイナリファイルだからそのまま開いても見れない

LogMinerで分析するログファイルを生成するには、その前にサプリメンタル・ロギングを有効にする必要があります。先に言えよ。

-- 有効化
alter database add supplemental log data;
-- 確認方法(yes か、impliciteが返ると有効)
select supplemental_log_data_min from v$database;

必要なもの

・inactive状態(?)で、supplemental logが有効なredoログ(か、アーカイブログ

オブジェクト一覧のID名前を記録したディクショナリ情報

(フラットファイルか、redoログに直接書きこむか、DB内のデータディクショナリを使うか3択)

    • 簡単な使い方

ディクショナリを用意する、これはフラットファイルに出力する例、マニュアルをよく見るとわかるが、この方法Oracleは推奨していない。

SQL> exec sys.DBMS_LOGMNR_D.BUILD( -
  DICTIONARY_FILE_NAME => 'dict.ora' , -
  DICTIONARY_LOCATION  => 'c:\output\', - 
  OPTIONS => SYS.DBMS_LOGMNR_D.STORE_IN_FLAT_FILE
);

※DICTIONARY_LOCATIONは、実はUTL_FILE_DIRで指定したところにしか出せない。これが、デフォルトだと「設定されたない」かつ、設定するにはデータベース再起動が必要(10gでは、11gも同じだと思う)なので、注意。

調査したいredoログ(またはアーカイブログ)を設定

SQL> exec sys.DBMS_LOGMNR.ADD_LOGFILE( -
  LOGFILE => 'c:\logfile\redo3.log' , -
  OPTIONS => SYS.DBMS_LOGMNR.NEW
);

logminerの開始

これは、コミットされたトランザクションのみを出力する(ディクショナリにフラットファイルを使用する)例

SQL> exec sys.DBMS_LOGMNR.START_LOGMNR( -
  OPTIONS => COMMITTED_DATA_ONLY , -
  DICTFILENAME => 'c:\output\dict.ora'
);

redoログの中身を調べる

v$logmnr_contentsの中に読める形で入っているので、selectする

select scn, timestamp, sql_redo
  from v$logmnr_contents
 where sql_redo like '%update XXXX%' -- 探したい条件

logminerの終了

終了する。

SQL> sys.DBMS_LOGMNR.END_LOGMNR();

基本的な使い方は、このとおりで、後はマニュアルを見ればわかると思う。

敷居が高いと思っていたが、一度やってみると、思ったほど難しいとは思いませんでした、というか、食わず嫌いしていました。

出会い出会い 2011/12/22 11:44 クリスマスまでまだ間に合う!マジで出会える最強出会いサイトです!今すぐに恋人を作るにはココしかない!

出会い出会い 2011/12/22 18:34 クリスマスまでまだ間に合う!マジで出会える最強出会いサイトです!今すぐに恋人を作るにはココしかない!

出会い出会い 2011/12/23 17:22 絶対ヤレル出会いサイトを発見!!ヤリトモ、セフレが欲しい人はこのサイトに来ないと損をする!!

出 会 い出 会 い 2011/12/24 11:39 今日はクリスマスイブ。なんだか素敵な事がおこりそう

出 会 い出 会 い 2011/12/24 18:53 今日はクリスマスイブ。なんだか素敵な事がおこりそう

モバゲーモバゲー 2011/12/25 10:55 モバゲーよりも楽しめるサイトが満を持して登場!!もうモバゲーなんか必要ない!全て無料で遊べます!