深度理解Oracle 10 gにおけるUNDO_RETENTIONパラメータの使用.

4481 ワード

各データベースにはロールバックまたはデータのキャンセルを管理する方法が必要です.DMLが発生した後、ユーザーがまだ変更を提出していません.ユーザーはこのような変更を継続して維持したくないです.修正をキャンセルして、データを変更が発生していない前に返品する必要があります.この場合は、一つの変更を使用してください.
レコードのデータをキャンセルします.
 
取り消し記録を使ってもいいです.
1、  ROLLBACK文を使用すると、事務をロールバックし、DLL操作の変更データをキャンセルします.
2、  データベースを復元
3、  読み込みの一貫性を提供します.
4、  Oracle Flashback Queryを使って前の時点に基づくデータを分析します.
5、  Oracle Flashback特性を使って、論理障害からデータベースを復元します.
 
Oracle 10 gにおける自動取消し管理(AUM)
Oracle 10 gにおけるロールバックの管理は、パラメータの設定により自動管理が可能である.取消し空間の自動管理を有効にするためには、まずinit.oraまたはSPFILEファイルに自動取消しモードを指定しなければなりません.次に、キャンセル情報を保存するために専用のテーブル空間を作成する必要があります.これは、ユーザがSYSTEMテーブル空間にキャンセル情報を保存しないことを保証します.また、保留時間の選択を取り消すために必要です.
 
AUMを実現するためには、以下の3つのパラメータを設定する必要があります.
 
UNDOMAGEMENTUNDO_TABLESPACEUNDORETENTION
 
初期化パラメータの設定を表示します.
SQL>show parameter undo_テーブルspace;
NAME                                 タイプ        VALE
---------------------------------------------
undo_テーブルスペース                      ストリングス      UNDOTB 1
SQL>show parameter undo_management
NAME                                 タイプ        VALE
---------------------------------------------
undo_management                      ストリングス      AUTO
SQL>show parameter undo_retection;
NAME                                 タイプ        VALE
---------------------------------------------
undo_retension                       インテグ     900
SQL>
 
初期化パラメータの説明:
Initialization Parameeter
Description
UNDOMANAGEMENT
If AUTO,use atomatic undo management.The default is MANUAL
UNDOTABLESPACE
An optional dynamic parameter specifying the name of an undo table space.This parameter shound be used only when the database has multiple und and you want to direct the database instance to use the particular particular spir spore partuntables.spore.spore.spore.spore.
UNDORETENTION
The UNDO.RETENTION parameter is ignored for a fixed size undo table space.The database may overwrite unexpired undo information when table space becompes low.
For an undo tablespace with the AUTOEXTEND option enabled,the database atempts to honer the minimum retection period specified by UNDO_RETENTION.When space is low,instead of overwriting unexpired undo information,the table space aut-extens.If the MAXZE clause is specified for and aut-exted unite ble,when the maximuse the the inessited formation.
 
パラメータUNDO_を初期化するとMANAGEMENTをAUTOに設定すると、Oracle 10 gはAUMを有効にします.
初期化パラメータUNDO_でも大丈夫です.RETENTIONでは、保留解除時間の大きさを設定します.
UNDORETENTION=1800         保留時間を30分(1800秒)に設定します.
UNDORETENTIONパラメータはデフォルトで900秒に設定されています.
UNDORETENTIONの値はどれぐらいに設定すれば合理的ですか?
理想は存在しないRETENTIONの時間間隔.予約時間間隔は、推定された最も長いトランザクションの実行可能な時間の長さに依存する.データベースの中で一番長い事務長の情報によって、UNDO_をあげられます.RETENTIONは大体の時間を割り当てます.
 
v$undostatビューのmaxquerylien列を介して過去の期間で、最長のクエリーが実行される時間(秒単位)を照会することができます.UNDORETENTIONパラメータにおける時間設定は、少なくともmaxqueryloen列で与えられた時間と同じくらい長いはずである.
Oracleは、次のように新しいデータベースの設定のために保留時間間隔を取り消す指導を提供します.
1、  OLT Pシステム:15分
2、  ミックス:1時間
3、  DSSシステム:3時間
4、  フラッシュバッククエリ:24時間
 
UNDORETENTIONパラメータの高い値は、キャンセルデータがUNDO_を保持することを保証していません.RETENTIONパラメータ指定の時間.指定された時間の保留を取り消すためには、RETENTION GRARANTEE子文が必要です.
 
たとえば:
 
CREATE UNDO TABLESPACE UNDOTBL 01
DATAFILE
‘E:/oracle/product/10.2.0/oradaa/keymen/UNDOTBL 01.DBF’
SIZE 500 M AUTOEXTEND ON
RETENTION GUARANTEE
 
 
ALTER DATABASE命令でデータベースからのキャンセル・保留もできます.
 
ALTER DATABASE UNDOTBL 01 RETENTION GUARANTEE
 
キャンセルされた情報の保証保留を解除します.
 
ALTER DATABASE UNDOTBL 01 RETENTION NOGUARANTEE
 
キャンセルテーブル空間のサイズを設定します.
Oracleは、Unido Advisorの助けを借りて、キャンセルテーブル空間のサイズを設定することを推奨します.小さいサイズ(約500 M)の取消しテーブル空間を作成できます.AUTOEXTENDデータファイルの属性をONにして、テーブル空間の自動拡張を可能にします.このテーブルスペースは、データベース内のアクティブなトランザクションの数の増加とトランザクションの長さの増加をサポートするために自動的に増加します.
データベースが適切に動作してから、UNDO Advisorを使用して、キャンセルテーブルの空間サイズの設定についてのアドバイスを得ることができます.Analysis Time Periodフィールドで許可される最大時間を使用すべきです.このため、OEM UNDO Managementページで与えられたLongest-Runing Queryの長さを使用することができます.フラッシュバック需要に応じてNew UNDO Retensionフィールドの値を指定しなければなりません.例えば、希望表が24時間に戻るなら、このフィールドの値として24時間を使うべきです.
 
データベースにRETENTION GUARANTEEのサブフレーズを使って設定したら、保留取り消しを保証します.取消表のスペースが小さすぎて、それを使用するすべての活動を満足できない場合、以下のような状況が発生します.
1、  キャンセルテーブルの空間が85%を使い切ると、Oracleは自動テーブル空間警告を発表します.
2、  キャンセルテーブルの空間が97%を使い切ると、Oracleは自動テーブルの空間に重大な警告を発表します.
3、  すべてのDML文は許可されず、エラーを超える空間を受信します.
4、  DDL文は続行を許可します.