windows bat
1,C:dbautility man man.bat
del C:dbautility
manfull_db_* /q
set TNSNAME=ceipuat
rman target /@%TNSNAME% cmdfile=C:dbautility
man
man.cmd
2.C:dbautility man man.cmd
backup filesperset = 5 as compressed backupset database format 'C:dbautility manfull_db_%U' plus archivelog delete all input format 'C:dbautility manfull_db_arch_%U';
step 0:
backup scripts:
backup filesperset = 5 as compressed backupset database format 'C:dbautility manfull_db_%U' plus archivelog delete all input format 'C:dbautility manfull_db_arch_%U';
Step 1: 重启服务器后,oracle 会自动拉起,不需要 操作。
检查健康方法:
确认以下服务的状态是 正在运行 的状态
OracleService****
OracleOraDB11gHome1TNSListener***
Step 2:
确定数据库文件的目录都存在 (C:APPORACLEORADATAsidpdb_name or PDBSEED)
rman target /
restore controlfile from autobackup;
(或者指定的有控制文件 备份的备份集)
alter database mount;
restore database;
restore arachivelog all;
recover database;
shutdown immediate;
startup mount;
alter database open resetlogs;
12C引进了pdb的概念,使得rman的恢复相对来说复杂了一些,这里对pdb的常规备份和恢复进行了简单测试,供大家参考
1.cdb启动和pdb关系测试
[oracle@xifenfei tmp]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.0.2 Beta on Wed Dec 12 23:48:02 2012
Copyright (c) 1982, 2012, Oracle. All rights reserved.
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> startup ORACLE instance started.
Total System Global Area 939495424 bytes Fixed Size 2267128 bytes Variable Size 662702088 bytes Database Buffers 268435456 bytes Redo Buffers 6090752 bytes Database mounted. Database opened. SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE ---------- ---------- ------------------------------ ---------- 2 4043918109 PDB$SEED READ ONLY 3 2346805300 LX1 MOUNTED 4 2385557792 LX2 MOUNTED 5 1565384817 FF MOUNTED
SQL> alter pluggable database all open;
Pluggable database altered.
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE ---------- ---------- ------------------------------ ---------- 2 4043918109 PDB$SEED READ ONLY 3 2346805300 LX1 READ WRITE 4 2385557792 LX2 READ WRITE 5 1565384817 FF READ WRITE |
证明直接startup cdb里面的pdb不会自动open,需要手工进行open
2.rman使用cdb备份数据库
[oracle@xifenfei ~]$ rman target /
Recovery Manager: Release 12.1.0.0.2 on Wed Dec 12 21:36:08 2012
Copyright (c) 1982, 2012, Oracle and/or its affiliates. All rights reserved.
connected to target database: xifenfei (DBID=2412861330)
RMAN> backup filesperset = 5 as compressed backupset database format '/tmp/full_db_%U';
Starting backup at 12-DEC-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=259 device type=DISK channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=/u01/app/oracle/oradata/xifenfei/system01.dbf input datafile file number=00010 name=/u01/app/oracle/oradata/xifenfei/LX2/system01.dbf input datafile file number=00011 name=/u01/app/oracle/oradata/xifenfei/LX2/sysaux01.dbf channel ORA_DISK_1: starting piece 1 at 12-DEC-12 channel ORA_DISK_1: finished piece 1 at 12-DEC-12 piece handle=/tmp/full_db_06nsn3uq_1_1 tag=TAG20121212T213626 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00019 name=/u01/app/oracle/oradata/xifenfei/xffexample01.dbf input datafile file number=00005 name=/u01/app/oracle/oradata/xifenfei/undotbs01.dbf input datafile file number=00007 name=/u01/app/oracle/oradata/xifenfei/LX1/system01.dbf input datafile file number=00018 name=/u01/app/oracle/oradata/xifenfei/xffSAMPLE_SCHEMA_users01.dbf input datafile file number=00008 name=/u01/app/oracle/oradata/xifenfei/LX1/sysaux01.dbf channel ORA_DISK_1: starting piece 1 at 12-DEC-12 channel ORA_DISK_1: finished piece 1 at 12-DEC-12 piece handle=/tmp/full_db_07nsn407_1_1 tag=TAG20121212T213626 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00017 name=/u01/app/oracle/oradata/xifenfei/xffsysaux01.dbf input datafile file number=00002 name=/u01/app/oracle/oradata/xifenfei/pdbseed/system01.dbf input datafile file number=00004 name=/u01/app/oracle/oradata/xifenfei/pdbseed/sysaux01.dbf channel ORA_DISK_1: starting piece 1 at 12-DEC-12 channel ORA_DISK_1: finished piece 1 at 12-DEC-12 piece handle=/tmp/full_db_08nsn41l_1_1 tag=TAG20121212T213626 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00003 name=/u01/app/oracle/oradata/xifenfei/sysaux01.dbf input datafile file number=00016 name=/u01/app/oracle/oradata/xifenfei/xffsystem01.dbf input datafile file number=00006 name=/u01/app/oracle/oradata/xifenfei/users01.dbf input datafile file number=00009 name=/u01/app/oracle/oradata/xifenfei/LX1/LX1_users01.dbf input datafile file number=00012 name=/u01/app/oracle/oradata/xifenfei/LX2/LX2_users01.dbf channel ORA_DISK_1: starting piece 1 at 12-DEC-12 channel ORA_DISK_1: finished piece 1 at 12-DEC-12 piece handle=/tmp/full_db_09nsn440_1_1 tag=TAG20121212T213626 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 12-DEC-12 channel ORA_DISK_1: finished piece 1 at 12-DEC-12 piece handle=/tmp/full_db_0ansn45d_1_1 tag=TAG20121212T213626 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 12-DEC-12
RMAN> list backup summary;
List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- --------------- ------- ------- ---------- --- 1 B F A DISK 12-DEC-12 1 1 YES TAG20121212T213250 2 B F A DISK 12-DEC-12 1 1 YES TAG20121212T213626 3 B F A DISK 12-DEC-12 1 1 YES TAG20121212T213626 4 B F A DISK 12-DEC-12 1 1 YES TAG20121212T213626 5 B F A DISK 12-DEC-12 1 1 YES TAG20121212T213626 6 B F A DISK 12-DEC-12 1 1 YES TAG20121212T213626
RMAN> report schema;
Report of database schema for database with db_unique_name xifenfei
List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 700 SYSTEM *** /u01/app/oracle/oradata/xifenfei/system01.dbf 2 210 PDB$SEED:SYSTEM *** /u01/app/oracle/oradata/xifenfei/pdbseed/system01.dbf 3 550 SYSAUX *** /u01/app/oracle/oradata/xifenfei/sysaux01.dbf 4 165 PDB$SEED:SYSAUX *** /u01/app/oracle/oradata/xifenfei/pdbseed/sysaux01.dbf 5 310 UNDOTBS1 *** /u01/app/oracle/oradata/xifenfei/undotbs01.dbf 6 5 USERS *** /u01/app/oracle/oradata/xifenfei/users01.dbf 7 210 LX1:SYSTEM *** /u01/app/oracle/oradata/xifenfei/LX1/system01.dbf 8 165 LX1:SYSAUX *** /u01/app/oracle/oradata/xifenfei/LX1/sysaux01.dbf 9 5 LX1:USERS *** /u01/app/oracle/oradata/xifenfei/LX1/LX1_users01.dbf 10 210 LX2:SYSTEM *** /u01/app/oracle/oradata/xifenfei/LX2/system01.dbf 11 165 LX2:SYSAUX *** /u01/app/oracle/oradata/xifenfei/LX2/sysaux01.dbf 12 5 LX2:USERS *** /u01/app/oracle/oradata/xifenfei/LX2/LX2_users01.dbf 16 270 FF:SYSTEM *** /u01/app/oracle/oradata/xifenfei/xffsystem01.dbf 17 570 FF:SYSAUX *** /u01/app/oracle/oradata/xifenfei/xffsysaux01.dbf 18 5 FF:USERS *** /u01/app/oracle/oradata/xifenfei/xffSAMPLE_SCHEMA_users01.dbf 19 341 FF:EXAMPLE *** /u01/app/oracle/oradata/xifenfei/xffexample01.dbf
List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 530 TEMP 32767 /u01/app/oracle/oradata/xifenfei/temp01.dbf 2 20 PDB$SEED:TEMP 32767 /u01/app/oracle/oradata/xifenfei/pdbseed/temp01.dbf 3 20 LX1:TEMP 32767 /u01/app/oracle/oradata/xifenfei/LX1/temp01.dbf 4 20 LX2:TEMP 32767 /u01/app/oracle/oradata/xifenfei/LX2/temp01.dbf 5 20 FF:TEMP 32767 /u01/app/oracle/oradata/xifenfei/xfftemp01.dbf |
试验证明:通过rman通过cdb库的备份,可以实现对对应的cdb和所包含的pdb进行备份
3.配置pdb访问tns
[oracle@xifenfei ~]$ lsnrctl status
LSNRCTL for Linux: Version 12.1.0.0.2 on 12-DEC-2012 22:33:27
Copyright (c) 1991, 2012, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=xifenfei)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.1.0.0.2 Start Date 12-DEC-2012 22:31:55 Uptime 0 days 0 hr. 1 min. 32 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.1/db_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/xifenfei/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xifenfei)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xifenfei)(PORT=5500))(Presentation=HTTP)(Session=RAW)) Services Summary... Service "ff" has 1 instance(s). Instance "xff", status READY, has 1 handler(s) for this service... Service "xifenfei" has 1 instance(s). Instance "xff", status READY, has 1 handler(s) for this service... Service "lx1" has 1 instance(s). Instance "xff", status READY, has 1 handler(s) for this service... Service "lx2" has 1 instance(s). Instance "xff", status READY, has 1 handler(s) for this service... Service "xffXDB" has 1 instance(s). Instance "xff", status READY, has 1 handler(s) for this service... The command completed successfully
[oracle@xifenfei admin]$ vi tnsnames.ora lx1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xifenfei)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = lx1) ) ) ff = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xifenfei)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ff) ) ) |
sqlplus访问pdb
[oracle@xifenfei admin]$ sqlplus sys@lx1 as sysdba
SQL*Plus: Release 12.1.0.0.2 Beta on Wed Dec 12 22:35:07 2012
Copyright (c) 1982, 2012, Oracle. All rights reserved.
Enter password:
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.0.2 - 64bit With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show con_name;
CON_NAME ------------------------------ LX1
SQL> create user xff identified by xifenfei;
User created.
SQL> GRANT SYSDBA TO XFF;
Grant succeeded. |
4.rman备份pdb数据库
[oracle@xifenfei admin]$ rman target xff/xifenfei@lx1
Recovery Manager: Release 12.1.0.0.2 on Wed Dec 12 22:44:46 2012
Copyright (c) 1982, 2012, Oracle and/or its affiliates. All rights reserved.
connected to target database: xifenfei (DBID=2412861330)
RMAN> backup filesperset = 5 as compressed backupset database format '/tmp/lx1_db_%U';
Starting backup at 12-DEC-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=256 device type=DISK channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00007 name=/u01/app/oracle/oradata/xifenfei/LX1/system01.dbf input datafile file number=00008 name=/u01/app/oracle/oradata/xifenfei/LX1/sysaux01.dbf input datafile file number=00009 name=/u01/app/oracle/oradata/xifenfei/LX1/LX1_users01.dbf channel ORA_DISK_1: starting piece 1 at 12-DEC-12 channel ORA_DISK_1: finished piece 1 at 12-DEC-12 piece handle=/tmp/lx1_db_0bnsn80f_1_1 tag=TAG20121212T224534 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:25 Finished backup at 12-DEC-12
RMAN> report schema;
Report of database schema for database with db_unique_name xifenfei
List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 7 210 LX1:SYSTEM *** /u01/app/oracle/oradata/xifenfei/LX1/system01.dbf 8 165 LX1:SYSAUX *** /u01/app/oracle/oradata/xifenfei/LX1/sysaux01.dbf 9 5 LX1:USERS *** /u01/app/oracle/oradata/xifenfei/LX1/LX1_users01.dbf
List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 3 20 LX1:TEMP 32767 /u01/app/oracle/oradata/xifenfei/LX1/temp01.dbf |
5.rman通过cdb备份pdb
[oracle@xifenfei admin]$ rman target /
Recovery Manager: Release 12.1.0.0.2 on Wed Dec 12 23:02:07 2012
Copyright (c) 1982, 2012, Oracle and/or its affiliates. All rights reserved.
connected to target database: xifenfei (DBID=2412861330)
RMAN> backup filesperset = 5 as compressed backupset pluggable database FF format '/tmp/ff_db_%U';
Starting backup at 12-DEC-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=262 device type=DISK channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00017 name=/u01/app/oracle/oradata/xifenfei/xffsysaux01.dbf input datafile file number=00019 name=/u01/app/oracle/oradata/xifenfei/xffexample01.dbf input datafile file number=00016 name=/u01/app/oracle/oradata/xifenfei/xffsystem01.dbf input datafile file number=00018 name=/u01/app/oracle/oradata/xifenfei/xffSAMPLE_SCHEMA_users01.dbf channel ORA_DISK_1: starting piece 1 at 12-DEC-12 channel ORA_DISK_1: finished piece 1 at 12-DEC-12 piece handle=/tmp/ff_db_0cnsn8vm_1_1 tag=TAG20121212T230214 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26 Finished backup at 12-DEC-12 |
6.模拟pdb库全库恢复
SQL> conn xff/xifenfei@lx1 as sysdba Connected.
SQL> create table t_xifenfei as select * from dba_objects;
Table created.
SQL> select count(*) from t_xifenfei;
COUNT(*) ---------- 19121
--在pdb中不能切换日志(因为日志是全局的) SQL> alter system switch logfile; alter system switch logfile * ERROR at line 1: ORA-65040: operation not allowed from within a pluggable database
SQL> shutdown immediate; Pluggable Database closed.
--删除数据文件 [oracle@xifenfei admin]$ rm /u01/app/oracle/oradata/xifenfei/LX1/*
--rman基于cdb恢复pdb库 [oracle@xifenfei ~]$ rman target /
Recovery Manager: Release 12.1.0.0.2 on Wed Dec 12 23:11:22 2012
Copyright (c) 1982, 2012, Oracle and/or its affiliates. All rights reserved.
connected to target database: xifenfei (DBID=2412861330)
RMAN> restore pluggable database lx1;
Starting restore at 12-DEC-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=25 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/xifenfei/LX1/system01.dbf channel ORA_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/xifenfei/LX1/sysaux01.dbf channel ORA_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/xifenfei/LX1/LX1_users01.dbf channel ORA_DISK_1: reading from backup piece /tmp/lx1_db_0bnsn80f_1_1 channel ORA_DISK_1: piece handle=/tmp/lx1_db_0bnsn80f_1_1 tag=TAG20121212T224534 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:25 Finished restore at 12-DEC-12
RMAN> recover pluggable database lx1;
Starting recover at 12-DEC-12 using channel ORA_DISK_1
starting media recovery media recovery complete, elapsed time: 00:00:01
Finished recover at 12-DEC-12
RMAN> alter pluggable database lx1 open;
Statement processed
--验证恢复结果 SQL> conn xff/xifenfei@lx1 as sysdba Connected.
SQL> select count(*) from t_xifenfei;
COUNT(*) ---------- 19121 |
试验证明:对于pdb库的备份,使用rman可以在cdb级别进行还原和恢复
7.模拟数据文件恢复
SQL> create table t_xifenfei tablespace example 2 as 3 select * from dba_objects;
Table created.
SQL> select count(*) from t_xifenfei;
COUNT(*) ---------- 89604
SQL> col name for a60 SQL> set lines 134 SQL> select file#,name from v$datafile;
FILE# NAME ---------- ----------------------------------------------------------- 5 /u01/app/oracle/oradata/xifenfei/undotbs01.dbf 16 /u01/app/oracle/oradata/xifenfei/xffsystem01.dbf 17 /u01/app/oracle/oradata/xifenfei/xffsysaux01.dbf 18 /u01/app/oracle/oradata/xifenfei/xffSAMPLE_SCHEMA_users01.dbf 19 /u01/app/oracle/oradata/xifenfei/xffexample01.dbf
--离线含测试数据的数据文件 SQL> alter database datafile 19 offline;
Database altered.
--删除数据文件 SQL> !rm /u01/app/oracle/oradata/xifenfei/xffexample01.dbf
SQL> !ls -l /u01/app/oracle/oradata/xifenfei/xffexample01.dbf ls: /u01/app/oracle/oradata/xifenfei/xffexample01.dbf: No such file or directory
--尝试pdb级别恢复 [oracle@xifenfei ~]$ rman target sys/xifenfei@ff
Recovery Manager: Release 12.1.0.0.2 on Wed Dec 12 23:29:03 2012
Copyright (c) 1982, 2012, Oracle and/or its affiliates. All rights reserved.
connected to target database: xifenfei (DBID=2412861330)
RMAN> restore datafile 19;
Starting restore at 12-DEC-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=19 device type=DISK
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of restore command at 12/12/2012 23:29:15 RMAN-06026: some targets not found - aborting restore RMAN-06023: no backup or copy of datafile 19 found to restore
--pdb级别不能识别对应数据文件(一种可能是我在cdb级别备份FF库,另一种可能bug) RMAN> list backup of datafile 19;
specification does not match any backup in the repository
--在cdb级别还原 [oracle@xifenfei tmp]$ rman target /
Recovery Manager: Release 12.1.0.0.2 on Wed Dec 12 23:44:21 2012
Copyright (c) 1982, 2012, Oracle and/or its affiliates. All rights reserved.
connected to target database: xifenfei (DBID=2412861330)
RMAN> list backup of datafile 19;
using target database control file instead of recovery catalog
List of Backup Sets ===================
BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 3 Full 76.81M DISK 00:00:44 12-DEC-12 BP Key: 3 Status: AVAILABLE Compressed: YES Tag: TAG20121212T213626 Piece Name: /tmp/full_db_07nsn407_1_1 List of Datafiles in backup set 3 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 19 Full 1860043 12-DEC-12 /u01/app/oracle/oradata/xifenfei/xffexample01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 8 Full 189.52M DISK 00:01:25 12-DEC-12 BP Key: 8 Status: AVAILABLE Compressed: YES Tag: TAG20121212T230214 Piece Name: /tmp/ff_db_0cnsn8vm_1_1 List of Datafiles in backup set 8 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 19 Full 1860043 12-DEC-12 /u01/app/oracle/oradata/xifenfei/xffexample01.dbf
RMAN> restore datafile 19;
Starting restore at 12-DEC-12 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=28 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00019 to /u01/app/oracle/oradata/xifenfei/xffexample01.dbf channel ORA_DISK_1: reading from backup piece /tmp/ff_db_0cnsn8vm_1_1 channel ORA_DISK_1: piece handle=/tmp/ff_db_0cnsn8vm_1_1 tag=TAG20121212T230214 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:45 Finished restore at 12-DEC-12
--cdb级别恢复数据文件 RMAN> recover datafile 19;
Starting recover at 12-DEC-12 using channel ORA_DISK_1
starting media recovery media recovery complete, elapsed time: 00:00:01
Finished recover at 12-DEC-12
--cdb级别不能直接online RMAN> alter database datafile 19 online;
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of sql statement command at 12/12/2012 23:46:15 ORA-01516: nonexistent log file, data file, or temporary file "19"
RMAN> alter pluggable database ff datafile 19 online;
RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of sql statement command at 12/12/2012 23:47:53 ORA-65046: operation not allowed from outside a pluggable database
--进入pdb库进行online SQL> alter database datafile 19 online;
Database altered.
--验证数据 SQL> select count(*) from t_xifenfei;
COUNT(*) ---------- 89604 |
试验证明:rman通过cdb级别操作,还是一步步恢复了pdb中离线异常的数据文件
8.pdb数据库冷备恢复
pdb数据库冷备恢复不需要完全关闭cdb数据库,只需要pdb数据库启动到mounted状态即可。
1.确保需要冷备的pdb1的open mode是mounted状态
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 PDB1 MOUNTED
2.备份pdb1
[oracle@ora12c cdb]$ cp -r pdb1 pdb_bak
3.删除pdb1
[oracle@ora12c cdb]$ rm -rf pdb1
4.把pdb1数据库open
SQL> alter pluggable database pdb1 open;
alter pluggable database pdb1 open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 44 - see DBWR trace file
ORA-01110: data file 44: '/u01/app/oracle/oradata/cdb/pdb1/pdb_users01.dbf'
5.利用冷备还原
[oracle@ora12c cdb]$ mv pdb_bak pdb1
6.重新把pdb1数据库open。
SQL> alter pluggable database pdb1 open;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 PDB1 READ WRITE NO
-------------
pdb数据库冷备恢复不需要完全关闭cdb数据库,只需要pdb数据库启动到mounted状态即可。
1.确保需要冷备的pdb1的open mode是mounted状态
SQL> show pdbs
CON_ID CON_NAME OPEN MODE
RESTRICTED
---------- ------------------------------
---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 PDB1 MOUNTED
2.备份pdb1
[oracle@ora12c cdb]$ cp -r pdb1 pdb_bak
3.删除pdb1
[oracle@ora12c cdb]$ rm -rf pdb1
4.把pdb1数据库open
SQL> alter pluggable database pdb1 open;
alter pluggable database pdb1 open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 44 -
see DBWR trace file
ORA-01110: data file 44:
'/u01/app/oracle/oradata/cdb/pdb1/pdb_users01.dbf'
5.利用冷备还原
[oracle@ora12c cdb]$ mv pdb_bak pdb1
6.重新把pdb1数据库open。
SQL> alter pluggable database pdb1 open;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE
RESTRICTED
---------- ------------------------------
---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
4 PDB1 READ WRITE NO