ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ebs 还原数据

ebs 还原数据

原创 Linux操作系统 作者:aishu521 时间:2013-05-08 09:12:51 0 删除 编辑

$ rman  target  /  @rman.cmd

大约需要3-4个小时,才能将数据还原完成,完成后如下

发现有错误,不过没关系,是因为还原脚本内写了”recover database” 的命令,这是自动恢复命令,但实际上是要求手动恢复的,所以会报错。现在还原已经成功,接下来,开始恢复数据。

(说明:还原成功后,绝大部份的数据已经OK了,但还有一点点在归档日志里,所以还需要最后的恢复)

 

恢复数据,是要求恢复到备份后的某个时间点,<因为每天晚上数据库RMAN备份后,数据库是还是运行的,还是不停的有数据生成,所以会不断的产生归档日志,这里所说的恢复数据到某个时间点,就是恢复到数据库RMAN备份后所产生归档日志的时间点。这里的具体方法是,先看一看当时所选择的备份控制文件的时间点,再看一看,稍后一点的归档日志的时间点,这里所恢复的时间点就是这个归档日志时间点了。如下图:

   备份控制文件controlfile_20110906_s1154_p1 的时间点是:2011-09-06 00:00:00

再看一看,稍后一点的归档日志的时间点吧,如下图:

稍后一点的归档日志是:1_3524_736991136.dbf  时间点是:2011-09-06 00:00:00

        好了,知道了恢复的时间点,现在开始恢复了,操作命令如下:

        $ sqlplus  /nolog

        Sql> connect  /as  sysdba

        Sql> recover database until time '2011-09-06 00:00:00' using backup controlfile;

       

 

         注意了,恢复命令要求将归档日志1_3524_736991136.dbf 放入到指定的归档日志目录/ebs10/oracle/prod/archive 内。所以需要再开一个DOS窗口,进入拷贝的操作。

      

         归档日志1_3524_736991136.dbf 拷贝到指定的归档日志目录/ebs10/oracle/prod/archive 内了

         回到第一个DOS窗口,输入 auto ,再按回车,如下图:

         

        如上图所示,恢复成功。现在需要打开数据库(数据还原恢复后的打开数据库命令要加一个参数resetlogs, 正常运行的数据库,不能使用此参数)

        Sql > alter database open resetlogs;

        

        

        Sql> shutdown immediate;

        

        再一次打开数据库(注意:只做到mount)

        Sql> startup mount;

        

        输入更改数据库SID的命令(因为当前机器是test2环境,而数据还原后的环境是prod的,所以要改SID )

Sql> host  nid  target=sys/manager  dbname=test2

        

          请输入 Y

          注意,输入 Y 后,命令将开始更改SID为 test2 ,但好像命令有BUG ,运行完后,不会退出,所以需要手动干预,按Ctrl+C  或都 Ctrl+D  退出。要多退出,直到出现操作系统命令符号 $ ,然后再 sqlplus进入

使用shutdown immediate 关闭数据库。

$ sqlplus  /nolog

Sql> connect  /as  sysdba

Sql> shutdown immediate;

      

          Su到 oradev 或都 export  ORACLE_SID=test2 ,恢复到test2机器oradev用户的默认环境变量。

密码:oracle

$ su  -  oradev

 

export  ORACLE_SID=test2

 

打开数据库:

$ sqlplus  /nolog

Sql> connect  /as  sysdba

Sql> startup  mount

Sql> alter  database  open  resetlogs;

OK ,在test2机器的数据库正常启动了,数据是最新的PROD环境数据,并且已成功更改了SID为test2了。

现在启动监听器

$ lsnrctl  start  test2

数据库的还原恢复终于搞定了,这是所有过程中最复杂最辛苦的,终于完了。

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

下一篇: EBS数据还原
请登录后发表评论 登录
全部评论

注册时间:2012-05-26

  • 博文量
    139
  • 访问量
    721088