RMANリストアとリカバリ2(RMAN Incomplete Recovery)
27048 ワード
---コンテンツの復元開始---
一.RMANが不完全なリカバリを実現
手順:
a.mount状態にデータをロードする(リカバリ前にバックアップを行うことを推奨する);
b.高同時に複数のチャネルを割り当てる.
c.必要なすべてのデータファイルを復元する.
d.until time,until sequence,until scnを使用してデータベースを復元する.
e.resetlogsを使用してデータベースを開く.
f.全備データベース;
RMANのuntil timeベースの例を示します.
二.SPFILEファイルが失われたリカバリ
SPFILEパラメータファイルはRMANでバックアップできるため、RMANを使用してSPFILEファイルを復元できます.SPFILEは自動バックアップが可能です.
SPFILEの自動バックアップは、制御ファイルのバックアップとともに行われるため、制御ファイルを自動バックアップすることで、SPFILEファイルの自動バックアップを実現することができる.次に、システムの表領域をバックアップすると、自動バックアップパラメータがONに設定されているかどうかにかかわらず、制御ファイルの自動バックアップが開始されます.この場合もSPFILEファイルをバックアップします.
SPFILEファイル復元手順:
a. startup nomount [force];
b. set dbid=dbid_no;
c. restore spfile from autobackup | ''
d. startup force; dの実行に失敗した場合、e,fに移動し、そうでなければe,fを実行しない.
e. set dbid=dbid_no;
f. startup;
三.制御ファイルの復元処理
制御ファイルには、作成時間、DBID、データファイル、ログファイルなどのデータベースに関する物理情報が記述されているため、制御ファイルが失われるとデータベースが起動しなくなり、その重要性を考慮して、制御ファイルのバックアップとリカバリが個別にリストされます.
---コンテンツの復元終了---
一.RMANが不完全なリカバリを実現
手順:
a.mount状態にデータをロードする(リカバリ前にバックアップを行うことを推奨する);
b.高同時に複数のチャネルを割り当てる.
c.必要なすべてのデータファイルを復元する.
d.until time,until sequence,until scnを使用してデータベースを復元する.
e.resetlogsを使用してデータベースを開く.
f.全備データベース;
RMANのuntil timeベースの例を示します.
1 SQL> insert into user1.t select 9,'polestar' from dual;
2 1 row created.
3 SQL> commit; -- commit
4
5 -bash-3.00$ strings redo03.log |grep polestar --
6 polestar
7 -bash-3.00$
8
9 SQL> alter system switch logfile;
10 System altered.
11 SQL>
12
13 --
14 RMAN> run{
15 2> allocate channel ch1 type disk;
16 3> allocate channel ch2 type disk;
17 4> backup as compressed backupset database plus archivelog delete input
18 5> format '/tmp/backup/Whole_lg_%U'
19 6> tag='Wholebak_Pluslog';
20 7> release channel ch1;
21 8> release channel ch2;
22 9> }
23
24
25 --
26 SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') as TO_CHAR from dual;
27
28 TO_CHAR
29 --------------------
30 2013-01-26 17:50:13
31
32 --
33 SQL> drop table user1.t;
34
35 Table dropped.
36
37 SQL>
38
39 -- mount
40 SQL> startup mount
41
42 --
43 RMAN> run{
44 2> allocate channel ch1 type disk;
45 3> allocate channel ch2 type disk;
46 4> set until time "to_date('2013-01-26 17:50:13','yyyy-mm-dd hh24:mi:ss')";
47 5> restore database;
48 6> recover database;
49 7> alter database open resetlogs;
50 8> release channel ch1;
51 9> release channel ch2;
52 10> }
53
54 --
55 SQL> select * from user1.t order by 1;
56
57 ID NAME
58 ---------- ----------------
59 0 oracle
60 1 oracle
61 2 oracle
62 3 oracle
63 4 oracle
64 5 oracle
65 6 oracle
66 7 myrman
67 8 inspur
68 9 polestar
69
70 10 rows selected.
71
72 SQL>
二.SPFILEファイルが失われたリカバリ
SPFILEパラメータファイルはRMANでバックアップできるため、RMANを使用してSPFILEファイルを復元できます.SPFILEは自動バックアップが可能です.
SPFILEの自動バックアップは、制御ファイルのバックアップとともに行われるため、制御ファイルを自動バックアップすることで、SPFILEファイルの自動バックアップを実現することができる.次に、システムの表領域をバックアップすると、自動バックアップパラメータがONに設定されているかどうかにかかわらず、制御ファイルの自動バックアップが開始されます.この場合もSPFILEファイルをバックアップします.
SPFILEファイル復元手順:
a. startup nomount [force];
b. set dbid=dbid_no;
c. restore spfile from autobackup | '
d. startup force; dの実行に失敗した場合、e,fに移動し、そうでなければe,fを実行しない.
e. set dbid=dbid_no;
f. startup;
1 -- ( DBID, DBID )
2 RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;
3
4 new RMAN configuration parameters:
5 CONFIGURE CONTROLFILE AUTOBACKUP ON;
6 new RMAN configuration parameters are successfully stored
7
8 RMAN> configure controlfile autobackup format for device type disk to '/tmp/backup/ctl_%d_%F';
9
10 new RMAN configuration parameters:
11 CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/tmp/backup/ctl_%d_%F';
12 new RMAN configuration parameters are successfully stored
13
14 RMAN>
15
16 SQL> alter tablespace users add datafile '/u01/oradata/sunbak/users03.dbf' size 5m
17
18 -bash-3.00$ ls /tmp/backup -- alter tablespace users add datafile
19 ctl_SUN_c-1913551800-20130222-01
20 -bash-3.00$
21
22
23 --
24 SQL> shutdown immediate;
25
26 -- spfile
27 -bash-3.00$ mv spfilesun.ora spfilesun.ora.bak -- spfile
28
29 --
30 [oracle@oradb ~]$ rman target / nocatalog
31
32 RMAN> startup nomount force;
33
34 RMAN> set dbid=1913551800;
35
36 RMAN> restore spfile from autobackup; -- , Oracle , nomount
37 RMAN-06172: no autobackup found or specified handle is not a valid copy or piece
38
39 RMAN> restore spfile from '/u01/bk/rmbk/auto_ctl_ORCL_c-1263182651-20101124-00'; --
40 RMAN> startup force;
41
三.制御ファイルの復元処理
制御ファイルには、作成時間、DBID、データファイル、ログファイルなどのデータベースに関する物理情報が記述されているため、制御ファイルが失われるとデータベースが起動しなくなり、その重要性を考慮して、制御ファイルのバックアップとリカバリが個別にリストされます.
1 --
2 -bash-3.00$ mv control01.ctl.bak control01.ctl
3 -bash-3.00$ mv control02.ctl.bak control02.ctl
4 -bash-3.00$ mv control03.ctl.bak control03.ctl
5
6 --Nocatalog Spfile ( )
7 [oracle@oradb ~]$ rman target / nocatalog
8
9 RMAN> startup nomount force;
10
11 RMAN> set dbid=1913551800;
12
13 RMAN> RESTORE CONTROLFILE FROM '/tmp/backup/ctl_SUN_c-1913551800-20130222-01';
14 RMAN> ALTER DATABASE MOUNT;
15
16 -- : 6: ( )
17 SQL> recover database using backup controlfile;
18 ORA-01507: database not mounted
19
20 SQL> recover database using backup controlfile;
21 ORA-00279: change 831957 generated at 02/22/2013 20:46:02 needed for thread 1
22 ORA-00289: suggestion : /u01/admin/sun/arch/1_2_805747372.dbf
23 ORA-00280: change 831957 for thread 1 is in sequence #2
24
25 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
26 /u01/oradata/sunbak/redo01.log
27 Log applied.
28 Media recovery complete.
29 SQL> alter database open resetlogs;
30
31 Database altered.
32
33 SQL>
---コンテンツの復元終了---