[size=medium]物理standby进行迁移,该方法适用于在相同操作系统平台,相同数据库版本之间进行数据迁移。在Oracle11G中可以实现,从10G到11G的物理Standby的迁移,而且可以实现从Windows平台到Linux平台的迁移。
步骤: 要首先具有主备数据库结构(如DataGuard环境),本方案针对Oracle10GR2版本。
1、在32Bit的OS上,利用RMAN或者是其他方式备份主数据库。
2、产生备份数据库的控制文件、以及参数文件、并把备用控制文件和参数文件拷贝到备用机器上。
3、把备份恢复到备用机器上(可以是64Bit机器),如果是普通文件备份,只拷过去即可,如果是RMAN备份,需要先拷贝备份集(或NFS) 过去,然后在备份机器上恢复。32Bit OS上的数据库可以直接恢复到64Bit的OS上。
4、配置监听与tnsnames.ora,使备库可以接收日志。(分别针对主备机上配置)
5、恢复备用库,适用如下命令
recover automatic standby database;
或者
recover managed standby database disconnect from session;
6、等到日志全部恢复完毕后,执行如下命令做切换:
主:alter database commit to switchover to physical standby with session shutdown;
备:alter database commit to switchover to primary;
7、等切换完毕后,关闭新主库,如果是RAC先关闭RAC环境参数:
alter system set cluster_database=false scope=spfile;
shutdown immediate;
8、使用UPGRADE方式打开新主库:
startup upgrade;
9、执行数据库格式转换脚本,此时不要执行DDL
spool utlirp.log
/u01/oracle/ora10g/rdbms/admin/utlirp.sql(具体路径会有差异)
spool off
10、重新启动主库,如果是RAC环境,先打开RAC参数:
alter system set cluster_database=true scope=spfile;
shutdown immediate;
startup open;
11、编译经过上面过程可能失效的包:
spool utlrp.log
/u01/oracle/ora10g/rdbms/admin/utlrp.sql(具体路径会有差异)
spool off
12、检验是否还存在失效对象:
select distinct object_name from dba_objects where status='INVALID';
13、等原来的主库成为备用库后,在其上完成如下操作:
srartup monut;
recover managed standby database disconnect from session;(恢复日志)[/size]
步骤: 要首先具有主备数据库结构(如DataGuard环境),本方案针对Oracle10GR2版本。
1、在32Bit的OS上,利用RMAN或者是其他方式备份主数据库。
2、产生备份数据库的控制文件、以及参数文件、并把备用控制文件和参数文件拷贝到备用机器上。
3、把备份恢复到备用机器上(可以是64Bit机器),如果是普通文件备份,只拷过去即可,如果是RMAN备份,需要先拷贝备份集(或NFS) 过去,然后在备份机器上恢复。32Bit OS上的数据库可以直接恢复到64Bit的OS上。
4、配置监听与tnsnames.ora,使备库可以接收日志。(分别针对主备机上配置)
5、恢复备用库,适用如下命令
recover automatic standby database;
或者
recover managed standby database disconnect from session;
6、等到日志全部恢复完毕后,执行如下命令做切换:
主:alter database commit to switchover to physical standby with session shutdown;
备:alter database commit to switchover to primary;
7、等切换完毕后,关闭新主库,如果是RAC先关闭RAC环境参数:
alter system set cluster_database=false scope=spfile;
shutdown immediate;
8、使用UPGRADE方式打开新主库:
startup upgrade;
9、执行数据库格式转换脚本,此时不要执行DDL
spool utlirp.log
/u01/oracle/ora10g/rdbms/admin/utlirp.sql(具体路径会有差异)
spool off
10、重新启动主库,如果是RAC环境,先打开RAC参数:
alter system set cluster_database=true scope=spfile;
shutdown immediate;
startup open;
11、编译经过上面过程可能失效的包:
spool utlrp.log
/u01/oracle/ora10g/rdbms/admin/utlrp.sql(具体路径会有差异)
spool off
12、检验是否还存在失效对象:
select distinct object_name from dba_objects where status='INVALID';
13、等原来的主库成为备用库后,在其上完成如下操作:
srartup monut;
recover managed standby database disconnect from session;(恢复日志)[/size]