oracle 备份集恢复测试

  1. 查看服务器磁盘空间使用率,确保磁盘有足够的测试空间。
  2. 创建测试所需目录。

#mkdir –p /u02/oradata/prod

#mkdir –p /u02/admin/adump

#mkdir /u02/admin/bdump

#mkdir /u02/admin/cdump

#mkdir /u02/admin/dpdump

#mkdir /u02/admin/udump

#mkdir /u02/arc

#mkdir /u02/redolog

#chown –R oracle:oinstall /u02

#chmod –R 775 /u02

  1. 创建恢复测试的pfile文件。

$vi /u02/inittest.ora

*.audit_file_dest='/u02/admin/adump'

*.background_dump_dest='/u02/admin/bdump'

*.compatible='10.2.0.1.0'

*.control_files='/u02/control01.ctl'

*.core_dump_dest='/u02/admin/cdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='prod'

*.db_unique_name='test'

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'

*.job_queue_processes=10

*.log_archive_dest_1='location=/u02/arc'

*.log_archive_format='%t_%s_%r.arc'

*.nls_date_format='YYYY-MM-DD HH24:MI:SS'

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/u02/admin/udump'

  1. 使用生产库的RMAN 转储备份的控制文件到指定位置。

RMAN>restore controlfile to '/u02/control01.ctl';

  1. 使用指定的pfile启动测试数据库到mount状态。

$export ORACLE_SID=prod1

$sqlplus / as sysdba

SQL>startup mount pfile='/u02/initprod1.ora';

  1. 关闭测试库BLOCK CHANGE TRACKING。

SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

  1. 关闭测试库Oracle Flashback Database。

SQL> ALTER DATABASE FLASHBACK OFF;

  1. 查询测试库控制文件记录的数据文件名。

SQL>select file#,name from v$datafile;

     FILE# NAME

---------- --------------------------------------------------

         1 +DATA/prod/datafile/system.273.819024757

         2 +DATA/prod/datafile/undotbs1.271.819024105

         3 +DATA/prod/datafile/sysaux.274.819024871

         4 +DATA/prod/datafile/users.272.819024611

         5 +DATA/prod/datafile/example.275.819024937

  1. 使用测试库的RMAN转储备份的数据文件到指定位置。

RMAN>

run {

set newname for datafile 1 to '/u02/oradata/prod/system01.dbf';

set newname for datafile 2 to '/u02/oradata/prod/undotbs1.dbf';

set newname for datafile 3 to '/u02/oradata/prod/sysaux.dbf';

set newname for datafile 4 to '/u02/oradata/prod/users.dbf';

set newname for datafile 5 to '/u02/oradata/prod/example.dbf';

restore datafile 1;

restore datafile 2;

restore datafile 3;

restore datafile 4;

restore datafile 5;

}

  1. 重命名数据文件名。

RMAN>switch database to copy; 

  1. 使用测试库的RMAN恢复测试库。

$export ORACLE_SID=prod1

$rman target /

RMAN>recover database;

  1. 重命名测试库在线日志组。

SQL>

alter database rename file '+DATA/prod/onlinelog/group_1.260.819054405' to '/u02/redolog/redo01a.log';

 

alter database rename file '+FRA/prod/onlinelog/group_1.256.819054423' to '/u02/redolog/redo01b.log';

 

alter database rename file '+DATA/prod/onlinelog/group_2.257.819054443' to '/u02/redolog/redo02b.log';

 

alter database rename file '+FRA/prod/onlinelog/group_2.261.819054463' to '/u02/redolog/redo02a.log';

 

alter database rename file '+DATA/prod/onlinelog/group_3.275.819054553' to '/u02/redolog/redo03a.log';

 

alter database rename file '+FRA/prod/onlinelog/group_3.258.819054571' to '/u02/redolog/redo03b.log';

  1. 重建测试库tempfile。

SQL>select file#,name from v$tempfile;

     FILE# NAME

---------- --------------------------------------------------

         1 +DATA/prod/datafile/temp01.275.819024937

 

SQL> ALTER DATABASE TEMPFILE '+DATA/prod/datafile/temp01.275.819024937' DROP;

SQL> ALTER TABLESPACE temp ADD TEMPFILE;

 

  1. 开启测试库。

SQL>alter database open resetlogs;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29193965/viewspace-1276700/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29193965/viewspace-1276700/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值