![我可以将 Oracle 数据库恢复到具有不同 SID 的实例吗?](https://linux22.com/image/556581/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%B0%86%20Oracle%20%E6%95%B0%E6%8D%AE%E5%BA%93%E6%81%A2%E5%A4%8D%E5%88%B0%E5%85%B7%E6%9C%89%E4%B8%8D%E5%90%8C%20SID%20%E7%9A%84%E5%AE%9E%E4%BE%8B%E5%90%97%EF%BC%9F.png)
我已经为 Oracle 11gR2 数据库实施了备份(和恢复)计划,如下所示:
- 在生产和灾难恢复 (DR) 服务器上安装相同版本的 11gR2
- 在两台服务器上创建相同的 Oracle 实例(文件系统结构、SID 等)
- 每 6 小时我在生产系统上执行一次热备份并将文件复制到 DR 系统:
alter database begin backup;
<copy all data files to DR server>
alter database end backup;
alter system archive log current;
alter database backup controlfile to 'c:\temp\control01.ctl';
alter database backup controlfile to trace as 'c:\temp\create_control.sql';
<copy both control files to DR server>
<copy all archived logs to DR server>
- 当我想在 DR 系统上进行恢复时,我只需确保所有文件都在正确的位置,“启动安装”、“使用备份控制文件恢复自动数据库直到取消;”和“更改数据库打开重置日志”。此时,我只需要更改几个 dba 密码,数据库就可以使用了。
我的问题/担忧是我需要支持 DR 服务器上的多个实例,所有这些实例都将从生产站点恢复(它们基本上是额外的测试实例)。我希望使用上述流程,而不是 expdp/impdp,因为它比导入快得多。
我可以这样做吗?DR 服务器上只能有一个实例与生产服务器具有相同的 SID。此外,DR 服务器上除 1 个实例外,其他所有实例的文件系统路径都不同。
答案1
是的,这是可能的 - 请参阅http://www.shutdownabort.com/quickguides/clone_rman.php
这可能也有一些有用的信息http://download.oracle.com/docs/cd/B12037_01/server.101/b10734/rcmrecov.htm#1009919
不使用 RMAN 进行编辑:
参见http://www.dba-oracle.com/oracle_tips_db_copy.htm
不使用 RMAN 进行编辑2:
http://www.idevelopment.info/data/Oracle/DBA_tips/Backup_and_Recovery/BandR_2.shtml