oracle恢复指定全量备份集,oracle 备份集恢复测试

查看服务器磁盘空间使用率,确保磁盘有足够的测试空间。

创建测试所需目录。

#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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值