8.2 スタンバイ・データベースを読取り専用または読取り スタンバイ・データベースを読取り専用または読取り スタンバイ・データベースを読取り専用または読取り スタンバイ・データベースを読取り専用または読取り / 書込み 書込み 書込み 書込み アクセス用にオープンする方法
8.3.1 データファイルの追加または表領域の作成 データファイルの追加または表領域の作成 データファイルの追加または表領域の作成 データファイルの追加または表領域の作成
STANDBY_FILE_MANAGEMENT初期化パラメータを使用して、次のように、プライマリ・デー タベースへのデータファイルの追加がスタンバイ・データベースに自動的に伝播されるかどう かを制御できます。
■ スタンバイ・データベースのサーバー・パラメータ・ファイル(SPFILE)でSTANDBY_
FILE_MANAGEMENT初期化パラメータをAUTOに設定した場合は、プライマリ・データ ベースで作成された新しいデータファイルがスタンバイ・データベースでも自動的に作成 されます。
■ STANDBY_FILE_MANAGEMENT初期化パラメータを指定していない場合、またはこのパラ メータをMANUALに設定した場合は、新しいデータファイルをプライマリ・データベース に追加するときに、そのデータファイルをスタンバイ・データベースに手動でコピーする 必要があります。
既存のデータファイルを別のデータベースからプライマリ・データベースへコピーする場合は、
STANDBY_FILE_MANAGEMENT初期化パラメータの設定に関係なく、新しいデータファイルを スタンバイ・データベースにコピーし、スタンバイ制御ファイルを再作成する必要があります。
次の各項では、STANDBY_FILE_MANAGEMENT初期化パラメータがAUTOまたはMANUALに設 定されている場合に、データファイルをプライマリおよびスタンバイ・データベースに追加す る例を示します。
8.3.1.1 STANDBY_FILE_MANAGEMENT が が が が AUTO に設定されている場合 に設定されている場合 に設定されている場合 に設定されている場合
次の例は、STANDBY_FILE_MANAGEMENT初期化パラメータがAUTOに設定されている場合に、
新しいデータファイルをプライマリおよびスタンバイ・データベースに追加する手順を示して います。
1. プライマリ・データベースに新しい表領域を追加します。
SQL> CREATE TABLESPACE new_ts DATAFILE '/disk1/oracle/oradata/payroll/t_db2.dbf' 2> SIZE 1m AUTOEXTEND ON MAXSIZE UNLIMITED;
2. REDOデータがスタンバイ・データベースに転送され、そこで適用されるように、カレン トのオンラインREDOログ・ファイルをアーカイブします。
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
3. 新しいデータファイルがプライマリ・データベースに追加されたかどうかを確認します。
SQL> SELECT NAME FROM V$DATAFILE;
NAME
---/disk1/oracle/oradata/payroll/t_db1.dbf
/disk1/oracle/oradata/payroll/t_db2.dbf
4. 新しいデータファイルがスタンバイ・データベースに追加されたかどうかを確認します。
SQL> SELECT NAME FROM V$DATAFILE;
NAME
---/disk1/oracle/oradata/payroll/s2t_db1.dbf
/disk1/oracle/oradata/payroll/s2t_db2.dbf
スタンバイ・データベースに影響を与えるプライマリ・データベース・イベントの管理
フィジカル・スタンバイ・データベースの管理 8-9
8.3.1.2 STANDBY_FILE_MANAGEMENT が が が が MANUAL に設定されている場合 に設定されている場合 に設定されている場合 に設定されている場合
この項では、STANDBY_FILE_MANAGEMENT初期化パラメータがMANUALに設定されている場 合に、新しいデータファイルをプライマリおよびスタンバイ・データベースに追加する方法に ついて説明します。スタンバイ・データファイルがRAWデバイスに存在する場合は、
STANDBY_FILE_MANAGEMENT初期化パラメータをMANUALに設定する必要があります。また、
この項では、発生したエラーからのリカバリ方法についても説明します。
8.3.1.2.1 RAWデバイスでのデバイスでのデバイスでのデバイスでのSTANDBY_FILE_MANAGEMENTパラメータの使用パラメータの使用 パラメータの使用パラメータの使用
STANDBY_FILE_MANAGEMENTパラメータをAUTOに設定すると、新規データファイルがプラ イマリ・データベースに追加または削除された場合に、手動で変更しなくてもスタンバイ・
データベースに対応する変更が加えられます。これは、スタンバイ・データベースでファイル・
システムが使用されている場合です。スタンバイ・データベースでデータファイルにRAWデバ イスが使用されている場合もSTANDBY_FILE_MANAGEMENT初期化パラメータは機能しま すが、手動による介入が必要です。この手動による介入では、スタンバイ・データベース上の ログ適用サービスにより新規データファイルを作成するREDOデータがリカバリされる前に、
RAWデバイスの存在を確認します。
プライマリ・データベースで、データファイルがRAWデバイスに常駐する新規表領域を作成 します。それと同時に、スタンバイ・データベースでも同じRAWデバイスを作成します。次に 例を示します。
SQL> CREATE TABLESPACE MTS2 DATAFILE '/dev/raw/raw100' size 1m;
Tablespace created.
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.
スタンバイ・データベースでは、RAWデバイスが存在するため自動的にデータファイルが追加 されます。スタンバイ・アラート・ログには次のように示されます。
Fri Apr 8 09:49:31 2005
Media Recovery Log /u01/MILLER/flash_recovery_area/MTS_STBY/archivelog/2005_04_08/o1_
mf_1_7_15ffgt0z_.arc
Recovery created file /dev/raw/raw100
Successfully added datafile 6 to media recovery Datafile #6: '/dev/raw/raw100'
Media Recovery Waiting for thread 1 sequence 8 (in transit)
ただし、プライマリ・システム上でRAWデバイスが作成されてもスタンバイ上で作成されな ければ、MRPプロセスはファイル作成エラーにより停止します。たとえば、プライマリ・デー タベースで次の文を発行します。
SQL> CREATE TABLESPACE MTS3 DATAFILE '/dev/raw/raw101' size 1m;
Tablespace created.
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered.
注意注意
注意注意: 次の手順は、Oracle Managed Filesを使用するデータベースには使用 しないでください。また、RAWデバイスのパス名がプライマリ・サーバー上 とスタンバイ・サーバー上で異なる場合は、DB_FILE_NAME_CONVERT初期 化パラメータを使用してパス名を変換してください。
スタンバイ・データベースに影響を与えるプライマリ・データベース・イベントの管理
スタンバイ・システムには、RAWデバイス/Dave/raw/raw101が作成されていません。アー カイブをリカバリすると、スタンバイ・アラート・ログに次のメッセージが示されます。
Fri Apr 8 10:00:22 2005
Media Recovery Log /u01/MILLER/flash_recovery_area/MTS_STBY/archivelog/2005_04_08/o1_
mf_1_8_15ffjrov_.arc
File #7 added to control file as 'UNNAMED00007'.
Originally created as:
'/dev/raw/raw101'
Recovery was unable to create the file as:
'/dev/raw/raw101'
MRP0: Background Media Recovery terminated with error 1274 Fri Apr 8 10:00:22 2005
Errors in file /u01/MILLER/MTS/dump/mts_mrp0_21851.trc:
ORA-01274: データファイル'/dev/raw/raw101'を追加できません - ファイルを作成できませんでした ORA-01119: データベース・ファイル'/dev/raw/raw101'の作成中にエラーが発生しました。
ORA-27041: ファイルをオープンできません。
Linux Error: 13: Permission denied Additional information: 1
Some recovered datafiles maybe left media fuzzy
Media recovery may continue but open resetlogs may fail Fri Apr 8 10:00:22 2005
Errors in file /u01/MILLER/MTS/dump/mts_mrp0_21851.trc:
ORA-01274: データファイル'/dev/raw/raw101'を追加できません - ファイルを作成できませんでした ORA-01119: データベース・ファイル'/dev/raw/raw101'の作成中にエラーが発生しました。
ORA-27041: ファイルをオープンできません。
Linux Error: 13: Permission denied Additional information: 1
Fri Apr 8 10:00:22 2005
MTS; MRP0: Background Media Recovery process shutdown ARCH: Connecting to console port...
8.3.1.2.2 エラーのリカバリエラーのリカバリエラーのリカバリエラーのリカバリ
8.3.1.2.1項で説明した問題を修正する手順は、次のとおりです。
1. スタンバイ・データベースにRAWスライスを作成し、Oracleユーザーに権限を割り当て ます。
2. V$DATAFILEビューを問い合せます。次に例を示します。
SQL> SELECT NAME FROM V$DATAFILE;
NAME
---/u01/MILLER/MTS/system01.dbf
/u01/MILLER/MTS/undotbs01.dbf /u01/MILLER/MTS/sysaux01.dbf /u01/MILLER/MTS/users01.dbf /u01/MILLER/MTS/mts.dbf /dev/raw/raw100
/u01/app/oracle/product/10.1.0/dbs/UNNAMED00007 SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL;
SQL> ALTER DATABASE CREATE DATAFILE
2 '/u01/app/oracle/product/10.1.0/dbs/UNNAMED00007' 3 AS
4 '/dev/raw/raw101';
スタンバイ・データベースに影響を与えるプライマリ・データベース・イベントの管理
フィジカル・スタンバイ・データベースの管理 8-11 3. スタンバイ・アラート・ログに、次のような情報が表示されます。
Fri Apr 8 10:09:30 2005 alter database create datafile
'/dev/raw/raw101' as '/dev/raw/raw101' Fri Apr 8 10:09:30 2005
Completed: alter database create datafile '/dev/raw/raw101' a
4. スタンバイ・データベースで、STANDBY_FILE_MANAGEMENTをAUTOに設定してREDO
Applyを再開します。
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
SQL> RECOVER MANAGED STANDBY DATABASE DISCONNECT;
この時点で、REDO Applyは新規のRAWデバイスのデータファイルを使用し、リカバリが続 行されます。