分类: Oracle
2011-08-09 16:45:03
RMAN> backup database plus archivelog delete input;
SQL> alter database backup controlfile to trace;Database altered.
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Aug 9 16:19:37 2011Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 '/u01/app/oracle/oradata/test/redo01.log' SIZE 50M,
9 GROUP 2 '/u01/app/oracle/oradata/test/redo02.log' SIZE 50M,
10 GROUP 3 '/u01/app/oracle/oradata/test/redo03.log' SIZE 50M
11 -- STANDBY LOGFILE
12 DATAFILE
13 '/u01/app/oracle/oradata/test/system01.dbf',
14 '/u01/app/oracle/oradata/test/undotbs01.dbf',
15 '/u01/app/oracle/oradata/test/sysaux01.dbf',
16 '/u01/app/oracle/oradata/test/users01.dbf',
17 '/u01/app/oracle/oradata/test/test01.dbf',
18 '/u01/app/oracle/oradata/test/test02.dbf',
19 '/u01/app/oracle/product/10.2.0/dbs/t1_01.ora',
20 '/u01/app/oracle/product/10.2.0/dbs/undots02.ora'
21 CHARACTER SET AL32UTF8
22 ;
CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01565: error in identifying file
'/u01/app/oracle/oradata/test/system01.dbf'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Aug 9 16:20:11 2011Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> declare
2 devtype varchar2(256);
3 done boolean;
4 begin
5 devtype:=sys.dbms_backup_restore.deviceallocate(type=>'',ident=>'t1');
6 sys.dbms_backup_restore.restoresetdatafile;
7 sys.dbms_backup_restore.restoredatafileto(dfnumber=>01,toname=>'/u01/app/oracle/oradata/test/system01.dbf');
8 sys.dbms_backup_restore.restoredatafileto(dfnumber=>03,toname=>'/u01/app/oracle/oradata/test/sysaux01.dbf');
9 sys.dbms_backup_restore.restoredatafileto(dfnumber=>06,toname=>'/u01/app/oracle/oradata/test/test02.dbf');
10 sys.dbms_backup_restore.restoredatafileto(dfnumber=>07,toname=>'/u01/app/oracle/product/10.2.0/dbs/t1_01.ora');
11 sys.dbms_backup_restore.restorebackuppiece(done=>done,handle=>'/u01/rman_back/TEST/TEST_20110809_47mjio1k_1_1',params=>null);
12 sys.dbms_backup_restore.devicedeallocate;
13 end;
14 /
PL/SQL procedure successfully completed.SQL> declare
2 devtype varchar2(256);
3 done boolean;
4 begin
5 devtype:=sys.dbms_backup_restore.deviceallocate(type=>'',ident=>'t1');
6 sys.dbms_backup_restore.restoresetdatafile;
7 sys.dbms_backup_restore.restoredatafileto(dfnumber=>04,toname=>'/u01/app/oracle/oradata/test/users01.dbf');
sys.dbms_backup_restore.restoredatafileto(dfnumber=>02,toname=>'/u01/app/oracle/oradata/test/undotbs01.dbf');
sys.dbms_backup_restore.restoredatafileto(dfnumber=>05,toname=>'/u01/app/oracle/oradata/test/test01. 8 dbf');
sys.dbms_backup_restore.restoredatafileto(dfnumber=>08,toname=>'/u01/app/oracle/product/10.2.0/dbs/undots02.ora');
sys.dbms_backup_restore.rest 9 orebackuppiece(done=>done,handle=>'/u01/rman_back/TEST/TEST_20110809_46mjio1k_1_1',params=>null);
sys.dbms_backup_restore.devicedealloca 10 te;
end;
/ 11 12 13 14PL/SQL procedure successfully completed.
SQL> declare
2 devtype varchar2(256);
3 done boolean;
4 begin
5 devtype:=sys.dbms_backup_restore.deviceallocate(type=>'',ident=>'t1');
6 sys.dbms_backup_restore.restoresetdatafile;
7 sys.dbms_backup_restore.restoreControlfileTo (cfname=>'/u01/app/oracle/oradata/test/control01.ctl');
8 sys.dbms_backup_restore.restorebackuppiece(done=>done,handle=>'/u01/rman_back/TEST/c-2012049283-20110809-00',params=>null);
sys.dbms_backup_restore.devicedeallocate;
end;
/
9 10 11
PL/SQL procedure successfully completed.
SQL> declare
2 devtype varchar2(256);
3 done boolean;
4 begin
5 devtype:=sys.dbms_backup_restore.deviceallocate(type=>'',ident=>'t1');
6 sys.dbms_backup_restore.restoresetarchivedlog(destination=>'/u01/app/oracle/flash_recovery_area/TEST/archivelog/');
7 sys.dbms_backup_restore.restorearchivedlog(thread=>1,sequence=>133);
8 sys.dbms_backup_restore.restorebackuppiece(done=>done,handle=>'/u01/rman_back/TEST/TEST_20110809_48mjio41_1_1',params=>null);
9 sys.dbms_backup_restore.devicedeallocate;
10 end;
11 /PL/SQL procedure successfully completed.
SQL> alter database mount;Database altered.SQL> recover database using backup controlfile until cancel
ORA-00279: change 11544987 generated at 08/09/2011 15:41:40 needed for thread 1
ORA-00289: suggestion :
/u01/app/oracle/flash_recovery_area/TEST/archivelog/2011_08_09/o1_mf_1_133_%u_.a
rc
ORA-00280: change 11544987 for thread 1 is in sequence #133
Specify log: {=suggested | filename | AUTO | CANCEL} SQL> alter database open resetlogs;
cancel
Media recovery cancelled.Database altered.
扫描备份片
CATALOG BACKUPPIECE ‘?/oradata/01dmsbj4_1_1.bcp’;
扫描归档日志
CATALOG ARCHIVELOG ‘?/oradata/archive1_30.dbf’, ‘?/oradata/archive1_31.dbf’;
扫描数据文件拷贝,并且将其做为增量备份的level 0
CATALOG DATAFILECOPY ‘?/oradata/users01.bak’ LEVEL 0;
扫描控制文件拷贝
CATALOG CONTROLFILECOPY ‘controlfilecopy.ctl’
扫描整个目录,如果备份片或者归档日志文件太多,可以放到一个目录中,一次性扫描就行
CATALOG START WITH ‘/tmp/arch_logs’;
扫描闪回恢复区
CATALOG RECOVERY AREA NOPROMPT;