ORACLE数据库双机热备方案(Linux)一、规划Oracle配置方案在开始安装和配置Oracle数据库前,我们需要规划Oracle配置方案,确定所需变量,方便后面安装步骤的执行。1.1权限用户Oracle数据库实例服务,需要建立独立的Linux账户运行,在双机方案中,我们需要确保双机Oracle账户的用户ID和用户组的ID数字一致,否则将因文件访问权限问题导致双机切换失败。1.2Oracle基目录和主目录Oracle软件的基目录和主目录不能是共享存储盘或镜像盘中的目录。1.3LISTENER名称双机的LISTENER名称需要一致。1.4数据库实例名双机的数据库实例名需要一致。1.5数据库实例目录双机的数据库实例目录需要一致,必须放置在镜像卷或共享存储盘上面。1.6汇总表格完成规划后填写表1.6-1:A机Oracle用户和IDB机Oracle用户和IDA机用户组和IDB机用户组和IDA机Oracle基目录(OracleBase)B机Oracle基目录(OracleBase)A机Oracle主目录(OracleHome)B机Oracle主目录(OracleHome)A机Listener名称B机Listener名称A机数据库实例名B机数据库实例名A机数据库实例目录B机数据库实例目录表1.6-1表1.6-2为示例,后面的配置步骤均以本示例中的变量进行设置。A机Oracle用户和IDoracle:510B机Oracle用户和IDoracle:510A机用户组和IDointall:510,dba:511B机用户组和IDoinstall:510,dba:511A机Oracle基目录(OracleBase)B机Oracle基目录(OracleBase)/home/oracle/app/home/oracle/appA机Oracle主目录(OracleHome)B机Oracle主目录(OracleHome)/home/oracle/app/oracle/product/11.2.0/dbhome_1/home/oracle/app/oracle/product/11.2.0/dbhome_1A机Listener名称MCB机Listener名称MCA机数据库实例名mcB机数据库实例名mcA机数据库实例目录/OracleData/db_mcB机数据库实例目录/OracleData/db_mc表1.6-2二、安装Oracle前的注意事项在开始本步骤前,请确保已完成《MicroColorServHAMirrorforLinux前序配置手册》或《MicroColorServHAClusterforLinux前序配置手册》的配置步骤,以方便后面操作的进行。本手册主要讲述在Oracle程序及其实例安装中配置双机热备的相关步骤和注意事项,并不包含完整的Oracle安装教程,其他选项需根据实际需求进行设置。2.1权限用户配置以下需要在A,B两台主机中均进行操作。打开/etc/passwd文件,找到Oracle用户对应的行,把UID和默认GID修改为表格中对应的值。在示例中,修改为:oracle:x:510:510::/home/oracle:/bin/bash打开/etc/group文件,找到Oracle用户组对应的行,把GID修改为表格中对应的值。在示例中,修改为:oinstall:x:510:oracledba:x:511:oracle进行完此步操作后方可对oracle用户进行目录访问授权操作,之后就可以开始安装Oracle程序了。2.2选择安装选项在安装选项步骤,选择仅安装数据库软件选项,如图2.2-1所示图2.2-12.3选择Oracle安装目录在安装位置选项,按表中内容选择Oracle基目录和Oracle主目录(OracleHome),如图2.3-1所示:图2.3-1三、安装A机数据库实例以下步骤全部在A机上进行操作。运行ServHAConsole控制台,将资源树切换到A机,如图3-1所示:图3-13.1配置监听器在A机上运行netca,创建一个监听器,在监听程序名这里输入表格中对应的A机Listener名称,如图3.1-1所示:图3.1-1其他步骤均按实际需求进行配置即可。3.2启动实例安装界面在A机运行dbca,选择创建数据库。图3.2-13.3数据库标识配置在数据库标识步骤中填入表格中的A机的数据库实例名。图3.3-13.4选择数据库文件位置在数据库文件所在位置步骤中,选择“所有数据库文件使用公共位置”选项,并填入表格中的A机数据库实例目录。图3.4-13.5快速恢复区配置在恢复配置步骤中,勾选指定快速恢复区,并填写表格中的A机数据库实例目录。图3.5-13.6最后检查在数据库存储步骤中,检查控制文件和数据库文件是否都设置在A机数据库实例目录下。图3.6-1图3.6-23.7完成实例配置至此,A机的Oracle数据库实例创建操作就完成了,等待实例创建程序完成作业。3.8停止实例以Oracle用户身份登入控制台(su–oracle)检查环境变量中的SID是否为表格中的数据库实例名(sourceoraenv)以sysdba登入sqlplus(sqlplus/assysdba)输入shutdownimmediate离开sqlplus3.9修改实例目录名将数据库实例名录重命名,本操作是为了避免在B机创建数据库实例的时候遇到文件重名冲突等情况的发生,一旦集群配置完毕,这个重命名的目录就可以完全删除了。在这里我们将/OracleData/db_mc目录重命名为/OracleData/db_mc_old。四、安装B机数据库实例确保A机没有控制台停留在共享盘或镜像盘挂载点(在示例中为“/OracleData”)目录及其子目录下面。运行ServHAConsole控制台,将资源树切换到B机,如图4-1所示:图4-1以下步骤全部在B机上进行操作。4.1配置监听器在B机上运行netca,创建一个监听器,在监听程序名这里输入表格中对应的B机Listener名称,如图4.1-1所示:图4.1-14.2启动实例安装界面在B机运行dbca,选择创建数据库。图4.2-14.3数据库标识配置在数据库标识步骤中填入表格中的B机的数据库实例名。图4.3-14.4选择数据库文件位置在数据库文件所在位置步骤中,选择“所有数据库文件使用公共位置”选项,并填入表格中的B机数据库实例目录。图4.4-14.5快速恢复区配置在恢复配置步骤中,勾选指定快速恢复区,并填写表格中的B机数据库实例目录。图4.5-14.6最后检查在数据库存储步骤中,检查控制文件和数据库文件是否都设置在B机数据库实例目录下。图4.6-1图4.6-24.7完成实例配置至此,B机的Oracle数据库实例创建操作就完成了,等待实例创建程序完成作业。4.8停止实例以Oracle用户身份登入控制台(su–oracle)检查环境变量中的SID是否为表格中的数据库实例名(sourceoraenv)以sysdba登入sqlplus(sqlplus/assysdba)输入shutdownimmediate离开sqlplus五、手动启停测试在正式将Oracle数据库实例加入ServHA资源树之前我们需要手动测试实例的启停是否正常。5.1手动启动B机数据库实例将资源树切换到B机,如图5.1-1所示:图5.1-1在B机以Oracle用户身份登入控制台(su–oracle)检查环境变量中的SID是否为表格中的数据库实例名(sourceoraenv)以sysdba登入sqlplus(sqlplus/assysdba)输入startup,查看数据库是否正常启动,如图5.1-2所示图5.1-25.2手动停止B机数据库实例继续5.1的步骤,输入shutdownimmediate停止数据库实例,如5.2-1所示。图5.2-15.3资源树切换到A机确保B机没有控制台停留在共享盘或镜像盘挂载点(在示例中为“/OracleData”)目录及其子目录下面。运行ServHAConsole控制台,将资源树切换到A机,如图5.3-1所示:图5.3-15.4手动启动A机数据库实例在A机以Oracle用户身份登入控制台(su–oracle)检查环境变量中的SID是否为表格中的数据库实例名(sourceoraenv)以sysdba登入sqlplus(sqlplus/assysdba)输入startup,查看数据库是否正常启动,如图5.4-1所示图5.4-15.5手动停止A机数据库实例继续5.4的步骤,在A机输入shutdownimmediate停止数据库实例,如5.5-1所示。图5.5-1六、将数据库实例加入ServHA资源树6.1拷贝脚本ServHA需要两个控制脚本来监控和操作Oracle监听器和数据库实例,分别为:mc_lsnr_ctl监听器控制脚本mc_orcl_ctl数据库实例控制脚本以上ServHA专用控制脚本可以从如下地址下载:下载完成解压缩后,把他们拷贝到两台机器的Oracle基目录备用。6.2修改脚本内容分别在两台机器上修改mc_lsnr_ctl脚本,找到:ORACLE_OWNER=Oracle用户名ORACLE_SID=数据库实例名LISTENER_NAME=Listener名称这三行,分别把Oracle用户名、数据库实例名、Listener名称修改为表格中对应的内容。在示例中我们修改为:ORACLE_OWNER=oracleORACLE_SID=mcLISTENER_NAME=MC分别在两台机器上修改mc_orcl_ctl脚本,找到:ORACLE_SID=数据库实例名ORACLE_HOME=Oracle主目录ORACLE_OWNER=Oracle用户名这三行,分别把数据库实例名、Oracle主目录、Oracle用户名修改为表格中对应的内容。在示例中我们修改为:ORACLE_SID=mcORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1ORACLE_OWNER=oracle6.3添加自定义资源以下操作只需要在其中一台机器的ServHAConsole中进行即可。点击添加自定义资源按钮,如图6.3-1所示图6.3-1弹出的对话框中分别在启动脚本、停止脚本和测试程序路径文本框中填写监听器控制脚本mc_lsnr_ctl存放路径(在本示例中为:/home/oracle/app/mc_lsnr_ctl)。在启动参数中填写:start在停止参数中填写:stop在自定义测试参数中填写:status资源名可以自定义,方便记忆即可。填写完毕后如图6.3-2所示,点击保存按钮:图6.3-2再次点击添加自定义资源按钮,在弹出的对话框中分别在启动脚本、停止脚本和测试程序路径文本框中填写数据库实例控制脚本mc_orcl_ctl存放路径(在本示例中为:/home/oracle/app/mc_orcl_ctl)。在启动参数中填写:start在停止参数中填写:stop在自定义测试参数中填写:status资源名可以自定义,方便记忆即可。填写完毕后如图6.3-3所示,点击保存按钮:图6.3-36.4拖拽依赖关系OracleListener监听器依赖于IP资源,鼠标左键按下IP资源节点(这里为192.168.1.63),拖拽到OracleListener资源松开鼠标,如图6.4-1所示:图6.4-1OracleDatabaseInstance数据库实例依赖于镜像卷或共享盘资源(这里为OracleData)。鼠标左键按下OracleData资源,拖拽到OracleDatabaseInstance资源松开鼠标,如图6.4-2所示:图6.4-2配置完成后的所有依赖关系如图6.4-3所示:图6.4-36.5切换测试单击B机的Oracle资源树,点击启动按钮(三角箭头),等待操作完毕。测试资源是否成功转移到B机