┏┏┏┏┏━━━━━━━━━━━━━━━━━━━━━━━━…・・ ┏━
┏┏┏┏┛ 2001.11.14 ┏┛┛
┏┏┏┛ ☆おら!オラ!Oracle -どっぷり検証生活-★ ┏┛┛┛
┏┏┛ ┏┛┛┛┛
┏┛・・…━━━━━━━━━━━━━━━━Vol.81━…・・ ┏┛┛┛┛┛
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
◆ Oracle技術セミナー追加開催! ◆
◇ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ◇
◆ ご要望にお応えして「パフォーマンス悪化のケーススタディ」を ◆
◇ 株式会社システムコンサルタント主催の特別セミナー ◇
◆ において開催することが決定いたしました。 ◆
◇ 詳細とご登録は下記のURLから。 ◇
http://www.insight-tec.com/jp/html/topics/semi_information.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
■□注意事項□■
本文中にテーブルが含まれていますので、お読みになる際はMSゴシッ
ク等、等幅フォントをお使いただくことをお勧めします。
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 Oracle 検証生活 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
< ログマイナに関する検証 その弐 > ペンネーム チョビひげ
--- みてみてv$logmnr_contents ---
前回はログ・マイナーの実行手順の説明を行なった。
今回は実際にログ・マイナーを実行し、
v$logmnr_contents表に作成される内容を見てみたいと思う。
まずは簡単なUPDATE文を実行して、ログ・マイナーを実行してみよう。
*************************************************************
# scottユーザで実行
SQL> desc zura;
Name Null? Type
----------------------------------------- -------- -------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
#1行をUPDATE
SQL> update zura set ENAME='Urashima' where ENAME='Momotaro';
SQL> commit;
# ここからsysユーザで実行
# ディクショナリ・ファイルの作成
SQL> exec dbms_logmnr_d.build(dictionary_filename=>
'ora817dict.ora',dictionary_location=>'../u01');
# REDOログ・ファイルの登録(今回は特定のトランザクションを検証するために、
# 事前にログ・スイッチを行いアーカイブログ・ファイルを取得する)
SQL> exec dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>
'../u01/arch0_28.dbf');
#ログ・マイナーの初期化
SQL> exec dbms_logmnr.start_logmnr(dictfilename=>
'../u01/ora817dict.ora');
# v$logmnr_contentsより検索
SQL> select scn, data_obj#, seg_owner, seg_name, operation
from v$logmnr_contents;
SCN DATA_OBJ# SEG_OWNER SEG_NAME OPERATION
---------- ----------- ------------ ----------- ------------------
687902 0 INTERNAL
687902 0 START
687902 26065 SCOTT ZURA UPDATE
687904 0 COMMIT
*************************************************************
上記のv$logmnr_contents表を検索した結果を見てみると、UPDATEとCOMMITで4
つのオペレーション(INTERNAL,START,UPDATE,COMMIT)のREDOレコードが作成さ
れているのが分かる。
REDOログ・ファイルのダンプファイルではSCN(system change number)などが
16進数表示であったが、v$logmnr_contents表では10進数表示になっており分
かりやすくなっている。
ちなみに、SCNはデータベースになんらかの障害が発生した場合に、バックア
ップファイルとREDOログ・ファイルからPointInTime回復を実行する際に指定
する事が出来る。
次にv$logmnr_contents表よりSQL_REDO、SQL_UNDO列を検索してみよう。
*************************************************************
SQL> select data_obj#, operation, sql_redo, sql_undo
2 from v$logmnr_contents;
DATA_OBJ# OPERATION SQL_REDO
--------- ------------ -----------------
0 INTERNAL
0 START set transaction read write;
26065 UPDATE update "SCOTT"."ZURA" set "ENAME" = 'Urashima'
where ROWID = 'AAAGXRAAFAAASDHAAO';
0 COMMIT commit;
SQL_UNDO
-----------------------------------------------------------------------
update "SCOTT"."ZURA" set "ENAME" = 'Momotaro'
where ROWID = 'AAAGXRAAFAAASDHAAO';
*************************************************************
REDO、UNDOのSQL文が確認できる。
また、ログ・マイナーの初期化の際、ディクショナリ・ファイルを指定するこ
とにより、v$logmnr_contents表内で表示されるオブジェクト名、列名等の変換
も行なわれている。
ちなみに、ディクショナリを指定しなかった場合は以下のような表示になる。
*************************************************************
# sysでユーザで実行
SQL> exec dbms_logmnr.add_logfile(options=>dbms_logmnr.new,logfilename=>
'../u01/arc0_28.trc');
# ログ・マイナーの初期化
SQL> exec dbms_logmnr.start_logmnr();
# v$logmnr_contents表を検索
SQL> select scn, seg_owner, seg_name, operation, sql_redo
from v$logmnr_contents;
SCN SEG_OWNER SEG_NAME OPERATION SQL_REDO
------- ---------- --------- ---------- -------------------
346635 START set transaction read write;
346635 UNKNOWN UPDATE update UNKNOWN.Objn:3825 set
Col[2] = HEXTORAW('35cfba')
where ROWID = 'AAAA7xAABAAAGTUAAA';
346637 COMMIT commit;
*************************************************************
オブジェクトのオーナ(SEG_OWNER)が表示されず、SQL_REDO列のオブジェクトID
や列番号がそのまま表示されており、非常に分かりづらい。
REDOログ・ログファイルを分析する際は、ディクショナリを指定することによ
って、SQL_REDO列やSQL_UNDO列のSQL文がコピーアンドペーストで利用可能にな
り、分析がやり易くなっていることが分かる。
以上、きょうもへいわな茅ヶ崎にて
┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 セミナー情報 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
<パフォーマンス悪化のケーススタディ>
Oracleデータベース・チューニングの方法論を明確にするために、チュ
ーニングポイントとなるシステムアーキテクチャの解説、さらに6つの
ケースを題材としてチューニングの基礎を徹底的に解説します。また
、当日はPerformance Insight 4 for Oracle 最新リリースの機能デモ
ンストレーションも行います。
●講師から
実は数年前に同じタイトルでセミナーを開き延べ約500名の方々にお話
をさせていただきました。予想を上回る人数に少々躊躇しておりました
が、お客様から”もう一度やって欲しい”というご意見をいただき、新
たな題材を集めております。役に立つ情報を満載したセミナーにするた
めにも、出席者の方々が抱えておりますご質問やお悩みなどの「議論の場」
となるような「会」になることを願っております。当日は、私(小幡)の他、
弊社コンサルタントも配備させますので、気兼ねなくお声を掛けてください。
題名 Oracleユーザーのための先進のパフォーマンス・運用管理ツール
「Performance Insight for Oracle」による特別セミナー
対象 Oracle DBA
日時 2001年 11月 22日(木)14:00〜17:00
会場 日本オラクル株式会社 本社 12Fセミナールーム
定員 120名 (定員に達し次第募集を締め切らせていただきます)
主催 株式会社システムコンサルタント
地図 日本オラクル株式会社 本社 12Fセミナールーム
http://www.oracle.co.jp/corp/office/
ご登録は下記のURLから
http://www.insight-tec.com/jp/html/topics/semi_information.html
┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 QAについて 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
<皆様からのQAを受付けております>
皆様のQAにはできるだけ、お答えしたいと思っています。
すべてのQAにお答えすることはできないかもしれませんが、
適宜メルマガ内でとりあげていく予定ですので、是非QAをお寄せください。
┏─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┓
●【 編集者より 】 ●
┗─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━┛
最近、寒くて毎日カタカタ震えていたら・・。ついに母の許しが出て、スト
ーブが私の部屋に戻ってきたんですっ!!嬉しさのあまり、毎日ストーブの
前でぬくぬくしてるんです。そのせいもあり、最近すっごく用意するのに時
間がかかってしまって・・・。急がないといけないと思いつつも、ついつい
ストーブの前に行ってしまうと・・。気づけば時間が5分、10分と過ぎてし
まうんですよねぇ。今からこれでは、冬はどーなるんだろう??と思うと少
し不安な今日このごろ・・。 by TI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録・解除は以下のURLで行うことができます。
http://www.insight-tec.com/jp/html/ora3/ora3.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<おら!オラ!Oracle−どっぷり検証生活−>
発行/編集:株式会社インサイトテクノロジー
http://www.insight-tec.com
マガジンID:0000030093
本メールマガジンに掲載された記事を許可なく転載することを禁じます。
Copyright (c) 1996-2001, Insight Technology, Inc. All rights reserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━