基于virtualbox下的oracle11203RAC数据库的镜像复制剖析.docx
《基于virtualbox下的oracle11203RAC数据库的镜像复制剖析.docx》由会员分享,可在线阅读,更多相关《基于virtualbox下的oracle11203RAC数据库的镜像复制剖析.docx(11页珍藏版)》请在冰豆网上搜索。
基于virtualbox下的oracle11203RAC数据库的镜像复制剖析
创建RAC数据库的镜像
我们可以在任何时间保存虚拟机的镜像,并在需要的时候还原。
在这里我们要保存新创建的OracleRAC系统以便我们可以在同一系统甚至另外一个系统在短短的几分钟内还原他们!
VM导出是一个简单的过程,如果不处理共享磁盘保存RAC镜像将是一项容易的任务。
我认为最简单的方法是从这两个节点卸载共享磁盘并分别考虑这三个部分(两个独立的虚拟机和一个共享磁盘)。
最终我们会有三个文件:
为虚拟机使用的两个文件和代表共享磁盘的文件。
这三个文件,可以进一步由您最喜欢的归档工具存储并压缩成一个文件。
完成导出后,共享磁盘可以轻松地挂载回节点。
VM导入回VirtualBox以及共享磁盘的导入也同样如此——作为一个额外的步骤附加到导入的虚拟机。
让我们来执行所有这些操作。
RAC的干净关闭
但是首先,我们需要完整的关闭服务器,因为我们想保存它们的工作状态。
去关闭数据库,作为oracle用户在任何节点上执行:
$.oraenv
ORACLE_SID=[oracle]?
ractp
TheOraclebasehasbeensetto/u01/app/oracle
$srvctlstopdatabase-dractp
$
关闭第一个节点上的集群。
作为root用户执行:
#.oraenv
ORACLE_SID=[ractp1]?
+ASM1
TheOraclebaseremainsunchangedwithvalue/u01/app/oracle
#crsctlstopcrs
...
CRS-4133:
OracleHighAvailabilityServiceshasbeenstopped.
#
关闭第二个节点上的集群。
作为root用户执行:
#.oraenv
ORACLE_SID=[ractp1]?
+ASM2
TheOraclebaseremainsunchangedwithvalue/u01/app/oracle
#crsctlstopcrs
...
CRS-4133:
OracleHighAvailabilityServiceshasbeenstopped.
#
关闭这两个虚拟机。
等待,直到所有虚拟机窗口关闭。
卸载共享磁盘并制作一份拷贝
在VirtualBox管理器中打开虚拟介质管理器:
主菜单|文件|虚拟介质管理器。
然后选择RAC(rac_shared_disk1.vdi)所用的磁盘。
请注意此磁盘显示为附加到虚拟机 rac1和rac2 :
单击"释放"图标,然后在弹出的窗口中确认。
注意此磁盘现在显示为"未连接"。
单击"复制"以启动磁盘复制向导。
接受虚拟磁盘复制,然后按"下一步"。
接受VDI虚拟磁盘的文件类型,然后按"下一步"。
选择"固定大小",然后按"下一步"。
在下一个屏幕上,您可以设置新文件的位置和名称。
完成后,按"下一步"。
摘要屏幕上查看详细信息,并按"复制"以完成复制。
复制完成后,请关闭介质管理器。
注意。
不要试图复制.vdi文件,因为该副本将保留相同磁盘的UID而VirtualBox将拒绝使用它,因为已经有这个磁盘存在。
当通过虚拟介质管理器复制时将自动分配新的UID。
导出虚拟机
VirtualBox管理器中选择虚拟机,然后调用导出向导:
主菜单|文件|导出装置。
导出过程像一般保存文件一样简单。
导出这两个虚拟机。
现在您应该有可以进一步压缩到约12GB大小单个文件的3个文件。
将共享磁盘重新连接到原始RAC安装
通过"存储"页重新连接共享磁盘到rac1和rac2VM以还原我们当前的工作RAC设置。
别忘了附加磁盘之前选择正确的控制器:
按"添加硬盘"图标并使用"选择现有磁盘"rac_shared_disk1.vdi。
一旦共享磁盘连接到两个Vm,RAC就准备好运行了。
从已保存的文件还原RAC
在这一节我们将通过导入已保存的文件创建第二个RAC系统。
不要同时运行两个RAC,因为它们将具有相同网络属性。
打开装置导入向导:
主菜单|文件|导入装置。
选择该文件,按"下一步":
导入设置中我们可以更改新VM的不同属性。
我们这里要保持设置不变。
这里我们注意到,磁盘将要 以不同于原始的VDI格式的VMDK格式导入。
等待,直到VM导入:
导入这两个虚拟机并将共享磁盘rac_shared_disk1_copy.vdi文件复制到父目录(虚拟Vm)。
此磁盘可以连接到两台计算机,但不幸的是当前版本(4.1.18)的VirtualBox不保留制作副本的磁盘类型。
将此磁盘附加到任一导入虚拟机,然后选择它并查看磁盘信息:
在4.1.18VirtualBox,复制的磁盘是"正常"类型。
如果您有更新的版本并且类型是"Shareable"那么此bug已经修复,您可以继续操作另一个虚拟机。
如果不是,de-attach磁盘,然后转到虚拟介质管理器并把磁盘类型更改为"Shareable",然后返回到虚拟机并挂载共享磁盘。
启动新的虚拟机。
集群件应自动启动。
您将需要启动数据库。
作为oracle用户登录并执行:
$.oraenv
ORACLE_SID=[oracle]?
ractp
TheOraclebasehasbeensetto/u01/app/oracle
$srvctlstartdatabase-dractp
$
RAC现在应该已经运行!