株式会社インサイトテクノロジー 発行
http://www.insight-tec.com/jp/
・;*;・゜’★,。・*;・゜’♪☆。・;*;゜’♪★。・;*;゜’☆ ●●●●
● Vol.52 ●●●
●● おら!オラ!Oracle −どっぷり検証生活− ●●
●●● ☆ 2001.04.18 ●
●●●●☆。・;*;・゜’★,。・*;・゜’♪☆。・;*;゜’♪★。・;*;゜;♪
◎● I┃ N┃ D┃ E┃ X┃!┃◎●
━┛━┛━┛━┛━┛━┛
◆Oracle検証生活・・・ロールバック・セグメントに関する検証 その8
◆お知らせ・・・◇Oracle管理ツール Performance Insight
◇SQeeLのご案内 ◇連載情報
◇書籍ご購入受付中 ◇QAについて
◆編集者より
■▽注意事項!!▽■
本文中にテーブルが含まれていますので、お読みになる際はMSゴシック等、
等幅フォントをお使いただくことをお勧めします。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ Oracle検証生活 □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
〜ロールバック・セグメントに関する検証 その8〜
ペンネーム ちゃむ
前回は、読み取り一貫性に関して説明した。
今回は、この読み取り一貫性の仕組みを説明する上では欠かすことのできない
「ORA-1555」のエラーに関して、実際に検証を交えながら説明していく。
ORA-1555は、「スナップショットが古すぎます。」というメッセージであるが、
いったいどのようなものなのであろうか?
ロールバック・セグメントは、以下の図のように、トランザクションに循環的
に使われる。
http://www.insight-tec.com/html/reference/ref52.html
この更新前の情報は、トランザクションがコミットされた後も別のトランザク
ションにより上書きされるまでは残っている。トランザクションがコミットさ
れるより前に、別のセッションからSELECT文が発行されていると、そのSELECT
文のSCNの方が古いので、更新前情報を必要とする。その後で、そのトランザク
ションがコミットされ、さらに、既に別のトランザクションに上書きされてし
まうと更新前情報を読み込むことができないので、ORA-1555が発生するのである。
ORA-1555が発生するパターンは、次の3つが考えられる。
1.TRN TBLのスロットが上書きされてしまったとき
2.UNDOブロックが上書きされてしまったとき
3.データブロックのITLが上書きされてしまったとき
今回は、そのうちの1.を発生させて検証してみる。
1.を起こすためには、21個のスロットをすべて上書きすればいいのではなか
ろうか?
ということで、22個のトランザクションを一つのロールバック・セグメントに
書き込んでみよう。
ORA-1555を発生させるためには、別セッションでこのSELECT文を実行しておく
必要があるが、小さいテーブルでは、すぐにそのSELECT文の処理が終わってし
まうので、このままではORA-1555は発生しずらい(逆に言うと、大きな表が大
量に更新されるときに、その大きな表が別のセッションからSELECTされるよう
な環境であれば、ORA-1555は発生しやすいといえる)。
ORA-1555を発生させるには、SELECT文が古いSCNを取得する必要があるので、そ
のためにトランザクションレベルの読み取り一貫性を設定する。
SQL> SET TRANSACTION READ ONLY ;
トランザクションが設定されました。
通常の読み取り一貫性とは、文レベルの読み取り一貫性を指す。この文レベル
とは、文が実行される毎に、つまりSELECT文が発行される毎に、現在のSCNを取
得するという意味になる。これが、トランザクションレベルとなると、
SET TRANSACTION READ ONLY ;を発行した後に、実行されるSELECT文をいくつ流
しても、SET TRANSACTION READ ONLY ;を発行した時点のSCNを使用することに
なる(コミットやロールバックを発行してトランザクションが終了するまで)。
これは、アプリケーションである時点において、バッチ的に複数のテーブルを
ジョインしてデータを取得するときなどに使用されるが、今回は、ORA-1555を
起こしやすくするために使用する。
今回は、結果だけを述べよう。実は22個のトランザクションを発生させて、
22個目のトランザクションがスロットを上書きしたにも関わらず、ORA-1555は
発生しなかった。
これは、以下のようにロールバック・セグメントのセグメント・ヘッダーの中
に、トランザクション表の他にTRN CTLという領域が存在する。この領域は、ト
ランザクションテーブル自身のロールバック情報の場所を示すデータを持って
いる。
TRN CTL:: seq: 0x010c chd: 0x000a ctl: 0x0002 inc: 0x00000000 nfb: 0x0000
mgc: 0x8002 xts: 0x0068 flg: 0x0001 opt: 2147483646 (0x7ffffffe)
uba: 0x008001e0.010c.06 scn: 0x0000.00ed6ae1
おそらく、この情報が原因で22個目のトランザクションが、トランザクション
テーブルを上書きしても、そのトランザクションテーブル自身のロールバック
情報が存在するため、ORA-1555が発生せずに、検索できてしまったのであろう。
22個のトランザクションでは、「1.TRN TBLのスロットが上書きされてしまっ
たとき」の原因によるORA-1555を発生させるのには不十分であると判断し、次
回は49個のトランザクションを発生させる検証を試みる予定である。
以上 ♪オライチゴーゴーゴー♪ 茅ヶ崎にて
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
↓発進!茅ヶ崎移住計画↓
http://www.insight-tec.com/jp/company/career.html
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■□ Oracle 管理ツール Performance Insight ■□÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Oracleを知り尽くしたメンバーが開発したOracleパフォーマンス監視ツール
の決定版。それがPerformance Insightです。インサイトテクノロジーの技術
者の知恵とノウハウがここに結集!
パフォーマンス監視だけでなくOracleを使用しているシステムの運用、管理、
そして開発にも役立つ機能がいっぱいです。
詳しくは以下のURLをご覧ください。
http://www.insight-tec.com/jp/products/products.html
また無料で試使用することも可能です。
是非お問い合わせください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ SQeeLのご案内 □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<プログラマ待望の言語SQeeL>
●手軽に使える、速い、そしてWEBに適した新言語SQeeL!
フリーソフトSQeeLは、以下のURLより好評ダウンロード中!
既に多くの方々にご利用いただいております。
あなたもSQeeLの世界を体験してみませんか?
http://www.SQeeL.org/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■□ 連載情報 ■□÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<雑誌連載>
Oracleのエキスパートとして定評のある弊社のスタッフが執筆しております
連載記事に関してご紹介しています。
現在「DB Magazine」に、Oracleビギナー向け連載が掲載されています。
5月号が発売中ですので、是非ご覧下さい。
http://www.insight-tec.com/jp/topics/magazine.html
上記のURLでタイトルがご覧になれます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ 書籍ご予約受付中 □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<送料無料でお届けします>
1.「Oracle8 プロフェッショナルテクニック」
弊社のHPよりお申し込みいただいた方に限り、送料無料でお届けします。
専門書としては異例の速さで増刷が決定するほどの好評をいただいている
「Oracle8 プロフェッショナルテクニック」をぜひご活用ください。
2.「Oracleデータベース管理を極める13章」
「DB Magazine」に連載され大好評だった「体験的・DBAのお仕事」が
加筆され書籍化された同書は、おかげさまで発売以来3ヶ月足らずで第3刷
となりました。
好評につき、キャンペーンを拡大いたしました!上記の書籍はいずれも
消費税サービス+送料無料、つまり本体価格のみでご購入いただけます。
この機会をお見逃し無く。
さらに書籍をお買い上げいただいた方にはもれなく「Oracleの知恵袋」進呈中!
数に限りがございますので、在庫がなくなり次第終了とさせていただきます。
お早めに!
書籍ご購入のお申し込みは以下のURLより受付中!
http://www.insight-tec.com/jp/topics/books.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■□ QAについて ■□÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<皆様からのQAを受付けております>
皆様のQAにはできるだけ、お答えしたいと思っています。
すべてのQAにお答えすることはできないかもしれませんが、
適宜メルマガ内でとりあげていく予定ですので、是非QAをお寄せください。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
□■ 編集者より □■÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
この間、会社で電話を取ったときに会社の人の声だったものだから思わず
「お疲れさまでーす」って叫んでしまったのです。そのあと相手が会社名を
言い出したものだから、パニック状態です!頭が真っ白でしたよ。結局会社
の人からだったんですけどね。私は二度と叫ぶのは止めようと、思いました
ね・・・。みなさんも電話を取ったときは、確認してから叫びましょうね!
by TI
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録・解除は以下のURLで行うことができます。
http://www.insight-tec.com/jp/em/mail_magazine.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<おら!オラ!Oracle−どっぷり検証生活−>
発行/編集:株式会社インサイトテクノロジー
http://www.insight-tec.com/jp
マガジンID:0000030093
本メールマガジンに掲載された記事を許可なく転載することを禁じます。
Copyright (c) 1996-2001 , Insight Technology, Inc. All rights reserved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━