如何利用Oracle Data Guard完成跨平台的数据库迁移案例


小编给大家分享一下如何利用Oracle Data Guard完成跨平台的数据库迁移案例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
客户原本是一套单机版的Oracle 11.2.0.3.0Database forWindows的数据库系统,客户的需求是将单机版的Oracle Database迁移到3节点的Oracle RAC Database中,并且平台变成Linux,但数据库版本不变化。客户希望尽可能短的停机时间。

通常对于不跨版本的Oracle Database迁移常使用DG(Data Guard),配置好DG之后做一次switchover即可完成数据库的快速迁移,后续再进行修改IP地址等工作。

虽然这个案例需要跨平台,但从11g开始Oracle Database支持有限制的跨平台配置DG,下面是配置异构平台DG的兼容性列表(物理Standby):

从上面的兼容性列表可以看出,Microsoft Windows (x86_64)(12)和Linux x86_64(13)能够兼容构建异构平台的DG,但需要注意的是Oracle Database 需要是11g,并且需要应用Patch 13104881,该Patch只存在于Linux平台,并且只在Windows(主库)向Linux(备库)同步时,需要在Linux平台应用此补丁(反向不会遇到相应的bug),更多内容请参考Patch 13104881说明。

有关在异构平台搭建ADG的详细内容请参考文章:《在物理 Data Guard 中对异构主备系统的支持 (Doc ID 1602437.1)》

确认现有的平台和新平台之间能够搭建DG之后,那么剩下的问题就是如何将单机Database转换成RAC Database,这步实际需要在将Linux平台的备库转换成主库之后进行的,下面描述的是整个迁移大致的步骤:

1.在新环境下安装Oracle Grid Infrastructure集群件。

2.在新环境下安装Oracle RAC Database软件。

3.创建ASM磁盘组,配置好监听程序。

4.在RAC的第一个节点创建Windows到Linux的ADG(使用第一个节点的VIP地址,配置成实时同步模式),并直接将控制文件、数据文件、日志文件等存放到共享的ASM磁盘组。

LOG_FILE_NAME_CONVERT=’+DATA01/dbm/onlinelog/’,’+DATA_DM01/dbm/onlinelog/’,’+FRA01/dbm/onlinelog/’,’+DBFS_DG/dbm/onlinelog/’
DB_FILE_NAME_CONVERT=’+DATA01/dbm/datafile/’,’+DATA_DM01/dbm/datafile/’,’+DATA01/dbm/tempfile/’,’+DATA_DM01/dbm/tempfile/’
LOG_FILE_NAME_CONVERT和DB_FILE_NAME_CONVERT两个参数的值的最后都要加上/斜杠。
对DB_FILE_NAME_CONVERT的参数设置除了考虑到数据文件外,还需要考虑到临时文件的位置,特别是ASM的时候,OMF管理设置数据文件为datafile目录,临时文件为tempfile,不能只指定磁盘组的名字,一定要指定到具体的绝对路径。

5.将备库转换为主库(可以做Switchover操作,也可以在确保主备库实时同步的前提下直接关闭主库,将备库激活成为可读可写的数据库)。

6.执行下面的步骤将单机版的数据库转换为RAC数据库:
4)
Take a backup of original single-instance pfile to e.g.
/tmp/initorcl.ora and Add the following entry in pfile, e.g. for a two
node RAC cluster*.cluster_database = TRUE
*.cluster_database_instances = 2
*.undo_management=AUTO
.undo_tablespace=undotbs (undo tablespace which already exists)
.instance_name=
.instance_number=1
.thread=1
.local_listener=_
.instance_name=
.instance_number=2
.local_listener=_
.thread=2
.undo_tablespace=UNDOTBS2
.cluster_database = TRUE
.cluster_database_instances = 2
is equal to”1″. is equal to “2”, e.g. ORCL1, ORCL2.
5) change the location of control file in parameter file

local drive to shared cluster file system location

ie control_files=’/control01.ctl’

to ie control_files=’/control01.ctl’

6) create spfile from pfile( spfile should be stored in shared device)

export ORACLE_SID=ORCL1
sqlplus “/ as sysdba”
create spfile=’/spfileORCL.ora’ from pfile=’/tmp/initORCL.ora’;
exit

7) Create the $ORACLE_HOME/dbs/init.orae.g. initORCL1.ora file that contains the following entry

spfile=’spfile_path_name’spfile_path_name is the complete path name of the SPFILE.

example :-

spfile=’/cfs/spfile/spfileORCL1.ora’

8) create new password file for ORCL1 instance.

orapwd file=orapwORCL1 password=oracle

9) start the database in mount stage

10) Rename the免费云主机域名 datafile,redo logs to new shared device

alter database rename file ” to ‘11) Add second instance redo logs (or more when multiple instances will be started)

alter database
add logfile thread 2
group 3 (‘alter database enable public thread 2;

12) create the second (or more) instance undo tablespace from existing instance

Path and file name will different for your environment

CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE
‘/dev/RAC/undotbs_02_210.dbf’ SIZE 200M ;

13)
Open your database (i.e. alter database open;) and run
$ORACLE_HOME/rdbms/admin/catclust.sql to create cluster database
specific views within the existing instance

2. On the second node and other nodes

14) Set ORACLE_SID and ORACLE_HOME environment variables on the second node

15) Create the $ORACLE_HOME/dbs/init.orae.g. initORCL2.ora file for the second node the same way as with point 7.16) create new password file for second instance ORCL2 instance as in point 8

orapwd file=orapwORCL2 password=oracle

17) Start the second Instance

3. on one of the nodes

18)After configuring the listener,you have to add the database in cluster as belowsrvctl add database -d -o -p

srvctl add instance -d -i -n

srvctl add instance -d -i -n19) in case ASM is used, add the rdbms instance / asm dependency, e.g.srvctl modify instance -d -i -s
整个单机到RAC的转换过程时间并不长,提前测试和准备好初始化参数文件、执行脚本将进一步缩短这部分时间。

完成单机到RAC的转换后,后续完成调整DG参数,调整IP地址等工作即完成了数据库的跨平台迁移和从单机到RAC的转换工作。
以上是“如何利用Oracle Data Guard完成跨平台的数据库迁移案例”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注百云行业资讯频道!

相关推荐: 如何增量备份恢复dataguard中standby端的数据

这篇文章主要讲解了“如何增量备份恢复dataguard中standby端的数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何增量备份恢复dataguard中standby端的数据”吧! 具体恢复过程如下:1…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/10 18:29
下一篇 01/10 18:29