- 查看服务器磁盘空间使用率,确保磁盘有足够的测试空间。
- 创建测试所需目录。
#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
- 创建恢复测试的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'
- 使用生产库的RMAN 转储备份的控制文件到指定位置。
RMAN>restore controlfile to '/u02/control01.ctl';
- 使用指定的pfile启动测试数据库到mount状态。
$export ORACLE_SID=prod1
$sqlplus / as sysdba
SQL>startup mount pfile='/u02/initprod1.ora';
- 关闭测试库BLOCK CHANGE TRACKING。
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
- 关闭测试库Oracle Flashback Database。
SQL> ALTER DATABASE FLASHBACK OFF;
- 查询测试库控制文件记录的数据文件名。
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
- 使用测试库的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;
}
- 重命名数据文件名。
RMAN>switch database to copy;
- 使用测试库的RMAN恢复测试库。
$export ORACLE_SID=prod1
$rman target /
RMAN>recover database;
- 重命名测试库在线日志组。
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';
- 重建测试库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;
- 开启测试库。
SQL>alter database open resetlogs;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29193965/viewspace-1276700/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29193965/viewspace-1276700/