前述の
データベース・インスタンスは、buffercacheを持っている多くのバッファが存在しているbuffercache
記録のための独立したメモリ領域を持っているbuffercacheは、チェーンリンクがたくさんあります
LRUチェーン:少なくとも最近使用最低使用、LRUチェーンブロックがきれいです
LRUWチェーン:最低使用書き込み、また汚れたリスト、汚いブロックリストと呼ばれます
LRUチェーンは、清潔で、文字列一緒に内部から見つかった空きブロックがLRUチェーンbuffercacheを見つけるために使用可能なブロック、
LRUWが一緒に汚れたブロックチェーンで、汚れたブロックにDBWRほしいですが、ディスクに書き込まれ、このチェーンLRUWを訪問する未来は、我々はブロック鎖を立てる理由は、整理し、これらのブロックを管理することです。
要するに、異なる鎖は、異なる機能を持っています!!
チェックポイントキューチェーン
チェックポイントキュー・チェーンと呼ばれるチェーン----チェックポイント問合せの連鎖があるのOracle buffercache
彼は、バッファ、チェーンブロックであることをチェーンリンクの点で最初のものです
ダーティなチェックポイント待ち行列は、ブロックに接続されています
リンク上LRUWのダーティブロックは、リンクは、高温端が頻繁にまれにディスクに書き込まれるコールド端に第1のデータブロックのコールド端でアクセス、アクセス、(ホット/コールド)によって周波数ブロックを使用することですそれは再利用することができます。
しかし、汚れたチェックポイントキュー接続ブロックは、ブロックは、第1の時点汚れによって接続されています。
注:1つのチェックポイントキューに対応するブロックが汚いブロックです
2.ダーティブロックが最初ダーティの時点に接続されています
チェックポイントのキュー接続の意義
ログが生成されるログ・ブロック・アドレスRBA RedoBlockAddressブロックを変更した後、RBAは、ログブロックのアドレスであります
2つのブロックのアドレスがあります。
LRBAは、まず汚れたブロックアドレスログでした
HRBAブロックアドレスの最後の汚いログ
注:チェックポイントのキューに応じて汚れたブロックが一緒に接続されてLRBA
第一次のブロックに対応するログダーティブロックは、ログを対応する第一なかんずくのダーティブロックに格納されます。
時間順に変更されたブロックのロギング
CKPTプロセスは----チェックポイントプロセスは、2つの方法で動作します
1.完全にチェックポイント:完全にチェックポイントが発生すると、CKPTプロセスはDBWRをトリガーする、汚れたブロックの全てがディスクに書き込まれます。
2.増分チェックポイント:増分チェックポイントが発生すると、最初のログLRBA汚いブロックCKPTプロセスのチェックポイントキューの対応するアドレスは、制御ファイルに記録されます。
何が正確にいつチェックポイントが起こったのか?
------通常の操作中にデータベース、唯一の完全なチェックポイントは、通常のデータベース中に発生します
何時に増分チェックポイントが起こったのか?
-------通常の操作中にデータベースがチェックポイントが発生しませんが、増分チェックポイントが発生し、Oracleの増分チェックポイントは3秒ごとに発生し、ほぼ完全です。
その後、増分チェックポイントは、CKPTプロセスをチェックアドレスレコードLRBA制御ファイルに対応するダーティキューの最も古いデータブロック、発生します。
注意:増分チェックポイントが3秒ごとに一度発生しました!!!
最初のチェックポイントのキューチェーンの汚れに記録LRBAアドレスブロック:インクリメンタルチェックポイントは、主に2つのことを行います
ディスクRBA ----記録し、現在のアドレスでの最新のログ
|| CPLRBA_BOF "低RBA" ' '|| || CPLRBA_BNO '' CPDRT、CPLRBA_SEQ ||を選択し、CPODR_SEQ ||'。 '|| CPODR_BNO ||'。 '||'。' CPODR_BOF "ディスクRBAオン" X $ kcccpから、CPODS、CPODT、CPGBT。
ALTER SYSTEMフラッシュbuffer_cache; ---すべてのダーティブロックがディスクに書き込まれます