数据库异机恢复 (RMAN)

数据库异机恢复 (RMAN)

1.講備份的文件copy至新機器上:
rsync -avlR /home/oracle/app/oracle/fast_recovery_area/ORCL/backupset/2018_05_10/ -e ssh 192.168.9.138:/
(rsync命令無法執行的,則需要安裝。root 權限執行:yum install rsync -y)

2.恢復spfile
啟動數據庫至nomount狀態
RMAN> restore spfile from ' /home/oracle/app/oracle/fast_recovery_area/ORCL/backupset/2018_05_10/o1_mf_ncsnf_TAG20180510T102038_fh7c4tp1_.bkp'

這個文件就是剛才copy過來的數據文件,其中mcsnf代表的控制文件和參數文件,nnndf表示數據文件,類型如下:
-rw-r-----. 1 oracle oinstall 9.4M May 10 10:21 o1_mf_ncsnf_TAG20180510T102038_fh7c4tp1_.bkp
-rw-r-----. 1 oracle oinstall 1.1G May 10 10:21 o1_mf_nnndf_TAG20180510T102038_fh7c3pgt_.bkp

3.恢復控制文件
RMAN> restore controlfile from ' /home/oracle/app/oracle/fast_recovery_area/ORCL/backupset/2018_05_10/o1_mf_ncsnf_TAG20180510T102038_fh7c4tp1_.bkp'

4.啟動至mount狀態
alter database mount

5.還原數據庫
restore database;

6.恢復數據庫
如果有歸檔日誌,則: recover database ;
如果出現:
Starting recover at 10-MAY-18
using channel ORA_DISK_1
starting media recovery
unable to find archived log
archived log thread=1 sequence=2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 05/10/2018 14:33:02
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 2 and starting SCN of 1242586

則:recover database until scn 1242586

如果沒有歸檔日誌需要恢復,則:
recover database noredo;
若果還是報錯,如
ORA-01113:file 1 nneds media recovery
ORA-01110: data file 1 : '/home/oracle/app/oracle/oradata/orcl/system.dbf'
則需添加隱藏參數,取消數據庫啟動前的一致性檢查即可:
SQL>create pfile='/tmp/a.ora' from spfile;
shutdown immediate
 vi /tmp/a.ora
加上: *._allow_resetlogs_corruption=true
SQL>startup mount pfile='/tmp/a.ora'
    
7.open 數據庫
alter database open resetlogs;
             (如果恢復的數據庫版本不一致,則會提示:
             ORA-01092:ORACLE instance terminated. Disconnection forced
             ORA-00704:bootstrap process failure
             ORA-39700:database must be opened with UPGRADE option
             Process ID:13147
             Session ID:1 Serial number:5

則開啟數據庫需執行:alter upgrade open resetlogs;






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Oracle数据库中,使用RMAN进行异机异目录恢复需要以下步骤: 1. 在目标数据库服务器上创建与源数据库相同的目录结构。 2. 在目标数据库服务器上创建与源数据库相同的数据库实例,包括实例名、SID、监听器、参数文件等。 3. 将备份文件从源数据库服务器拷贝到目标数据库服务器上的对应目录中。 4. 在目标数据库服务器上使用RMAN连接到目标数据库实例。 5. 执行RMAN命令进行恢复操作,包括设置恢复目标、设置恢复策略、设置备份文件位置等。 6. 执行完毕后,关闭数据库并重启实例。 具体步骤如下: 1. 在目标数据库服务器上创建与源数据库相同的目录结构。 需要创建与源数据库相同的目录结构,包括控制文件、数据文件、归档日志和备份文件等目录。 2. 在目标数据库服务器上创建与源数据库相同的数据库实例。 需要创建与源数据库相同的数据库实例,包括实例名、SID、监听器、参数文件等。 3. 将备份文件从源数据库服务器拷贝到目标数据库服务器上的对应目录中。 需要将备份文件从源数据库服务器拷贝到目标数据库服务器上的对应目录中,保证备份文件在恢复时能被找到。 4. 在目标数据库服务器上使用RMAN连接到目标数据库实例。 使用以下命令连接到目标数据库实例: ``` rman target sys/password@targetdb ``` 其中,sys/password是目标数据库的用户名和密码,targetdb是目标数据库的服务名或SID。 5. 执行RMAN命令进行恢复操作。 首先,设置恢复目标: ``` run { set until time "to_date('2022-12-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS')"; set newname for datafile '/path/to/source/datafile01.dbf' to '/path/to/target/datafile01.dbf'; set newname for datafile '/path/to/source/datafile02.dbf' to '/path/to/target/datafile02.dbf'; ... set newname for datafile '/path/to/source/datafileN.dbf' to '/path/to/target/datafileN.dbf'; restore database; switch datafile all; recover database; } ``` 其中,set until time语句指定恢复到的时间点,set newname语句指定恢复后的数据文件路径和名称。 然后,设置恢复策略: ``` run { set archivelog destination to '/path/to/target/archivelog'; restore archivelog all; } ``` 其中,set archivelog destination语句指定归档日志的恢复目录,restore archivelog all语句恢复所有的归档日志。 最后,设置备份文件位置: ``` run { allocate channel ch1 type 'sbt_tape'; set controlfile autobackup format for device type sbt to '/path/to/controlfile_%F.bkp'; backup current controlfile for standby; } ``` 其中,allocate channel语句指定备份设备类型和通道,set controlfile autobackup format语句指定自动备份控制文件的格式,backup current controlfile for standby语句备份当前的控制文件。 6. 执行完毕后,关闭数据库并重启实例。 在所有操作执行完毕后,关闭数据库并重启实例,然后可以进行测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ty_FFTQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值