rman异机恢复实践全图解析

全库备份(包括数据库,控制文件,归档日志)

 RMAN> run {

2> backup full database format '/orabk/full_%U.bak';

3> backup archivelog all format '/orabk/arc_%U.bak'delete input;

4> copy current controlfile to '/orabk/control_bak.ctl';

5> }

Starting backup at 28-MAY-07

using channelORA_DISK_1

channel ORA_DISK_1:starting full datafile backupset

channel ORA_DISK_1:specifying datafile(s) in backupset

including currentSPFILE in backupset

including currentcontrolfile in backupset

input datafilefno=00011 name=/u01/app/oracle/oradata/orcl9i/rep_test.dbf

input datafilefno=00001 name=/u01/app/oracle/oradata/orcl9i/system01.dbf

input datafilefno=00002 name=/u01/app/oracle/oradata/orcl9i/undotbs01.dbf

input datafilefno=00005 name=/u01/app/oracle/oradata/orcl9i/example01.dbf

input datafilefno=00012 name=/u01/app/oracle/oradata/orcl9i/rman_ts01.dbf

input datafilefno=00010 name=/u01/app/oracle/oradata/orcl9i/xdb01.dbf

input datafilefno=00006 name=/u01/app/oracle/oradata/orcl9i/indx01.dbf

input datafilefno=00009 name=/u01/app/oracle/oradata/orcl9i/users01.dbf

input datafilefno=00003 name=/u01/app/oracle/oradata/orcl9i/cwmlite01.dbf

input datafilefno=00004 name=/u01/app/oracle/oradata/orcl9i/drsys01.dbf

input datafilefno=00007 name=/u01/app/oracle/oradata/orcl9i/odm01.dbf

input datafilefno=00008 name=/u01/app/oracle/oradata/orcl9i/tools01.dbf

channel ORA_DISK_1:starting piece 1 at 28-MAY-07

channel ORA_DISK_1:finished piece 1 at 28-MAY-07

piecehandle=/orabk/full_07iis0oe_1_1.bak comment=NONE

channel ORA_DISK_1:backup set complete, elapsed time: 00:24:05

Finished backup at 28-MAY-07

 

Starting backup at 28-MAY-07

current log archived

using channelORA_DISK_1

channel ORA_DISK_1:starting archive log backupset

channel ORA_DISK_1:specifying archive log(s) in backup set

input archive logthread=1 sequence=23 recid=23 stamp=623773878

channel ORA_DISK_1:starting piece 1 at 28-MAY-07

channel ORA_DISK_1:finished piece 1 at 28-MAY-07

piecehandle=/orabk/arc_08iis25m_1_1.bak comment=NONE

channel ORA_DISK_1:backup set complete, elapsed time: 00:00:02

channel ORA_DISK_1:deleting archive log(s)

archive logfilename=/u01/app/oracle/oradata/orcl9i/archive/1_23.dbf recid=23stamp=623773878

Finished backup at 28-MAY-07

 

Starting copy at 28-MAY-07

using channelORA_DISK_1

channel ORA_DISK_1:copied current controlfile

outputfilename=/orabk/control_bak.ctl

Finished copy at 28-MAY-07

 

RMAN>

 

 

RMAN异机恢复实践。

下面仍以linux为例来说明利用上面的全备来做异机恢复测试。

Windows平台需要将下面存放在$ORACLE_HOME/dbs下的文件房在$ORACLE_HOME/database下,同时需要使用oradim配置一个OracleServiceSID的服务。

cmd>oradim –NEW –SID ORCL9I -STARTMODEa

然后在netmgr中配置一个监听,用lsnrctl start启动,会自动在添加一个监听服务。

 

按照原数据库环境的设置来配置异机的环境,但是也不是必须完全一样,在不一样的情况下需要做相应的技术处理,这里以相同的环境设置来做实验。

1.      配置环境变量

$ORACLE_BASE=/u01/app/oracle

$ORACLE_HOME=/u01/app/oracle/product/9.2.0

如下图:

2.      安装ORACLE SOFTWARE, 不需要创建数据库

3.      设置环境变量ORACLE_SID=orcl9i (我这里的是orcl9i, 这个依据实际情况而定);

如图:

验证:

4.      创建和原数据库相同的目录结构,如下

/u01/app/oracle/

          |___admin

          |     |___orcl9i

          |          |___bdump

          |          |___udump

          |          |___cdump

          |

          |___oradata

                |____orcl9i 数据文件、控制文件、redo log文件位置

                       |____archive(这个是我这里的归档日志存放的位置)

 

如下图:

 

5.配置默认监听器及本地服务名,工具netmgr

 

监听:

 

 

 

Local Service Naming:

6.创建密码文件,工具orapwd

   例:[oracle@ora9lnx bin]$ cd $ORACLE_HOME/dbs

      [oracle@ora9lnx dbs]$ orapwd file=orapworcl9i password=oracle entries=5

           file格式       orapwORACLE_SID

           password       sys用户的密码

           entries         最多允许sysdba/sysoper用户的数量,默认1.

7.          复制原数据库的参数文件

原数据库操作

    Sqlplus:SQL>create pfile from spfile;

    这里会在原数据库机器上的$ORACLE_HOME/dbs下产生一个initORACLE_SID.ora的参数文件。

 

复制

将上面产生的参数文件ftp或通过samba共享等方式复制到测试机的$ORACLE_HOME/dbs下。

8.   复制控制文件

     将rman全库备份中copy出来的控制文件备份/orabk/control_bak.ctl传到测试机, 然后将其按照参数文件中的控制文件配置复制。这里是复制成如下三个文件:

/u01/app/oracle/oradata/orcl9i/control01.ctl

/u01/app/oracle/oradata/orcl9i/control02.ctl

/u01/app/oracle/oradata/orcl9i/control03.ctl

8.          将全备后的备份文件复制到异机,这里是/orabk.

在异机下先建文件夹/orabk,且授权给oracle.dba,操作如下

  mkdir /orabk

  chown oracle.dba /orabk

然后将备份的文件传过来,由于oracle用户在2台机器中创建后的id并不一定一样,所以最后再重新授权。

  Chownoracle.dba /orabk/*.bak

如果由于空间等问题复制的文件夹不是/orabk,那么我们可以通过ln –s 做符号连接来完成。

 

 

9.          启动数据库到mount状态

1)     启动监听

   

 

2)     启动数据库到mount 状态

 

如果将数据库改到OPEN状态(SQL>alter database open;),会报错。

 

10.       用RMAN做全库恢复

a)      检查备份

 

b)     全库恢复。如下图:

      

 

 

11.       启动数据库到OPEN

使用该热备方式做的备份和方式,一般alter database open时必须加resetlogs参数,除非是在mount状态下的冷备,并且将重做日志也复制到异机的情况下可以直接alter database open;。

12.       检查temp表空间,为temp表空间增加临时文件。

  添加临时文件:

13.重新启动数据库,做全备(略).

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值