ORACLE9IRAC环境下DATAGUARD的安装和配置OORRAACCLLEE99IIRRAACC环环境境下下DDAATTAAGGUUAARRDD的的安安装装和和配配置置byzjxs@263.net(OCPDBA)2003.10.25前言由于本文为作者根据实际安装经历回忆编写,部分内容可能存在错误,作者并未在本文编写完成后加以验证,其中错误,请读者谅解。如果读者发现任何错误或改进建议,请mail至zjxs@263.net。希望本文能帮助那些对RAC和DATAGUARD感兴趣、同时又缺少必要设备进行实践的Oracle爱好者。环境说明拓扑图primarydbstandbydbinstance(sid=rac1)instance(sid=rac2)LGWRLGWRinstance(sid=rac1)instance(sid=rac2)ARCHLGWRLGWRARCHARCHARCHARCHonlineredologthread1onlineredologthread2standbyonlineredolog/oracle/archive/1/oracle/archive/2/oracle/archive/2/oracle/archive/1PRIMARYHOSTSTANDBYHOSTORACLE9IRAC环境下DATAGUARD的安装和配置文件目录结构/oracleORACLE_BASEarchive1实例1本地归档目录2实例2本地归档目录adminpfilebdumpcdumpudumpinitrac1.ora实例1配置文件initrac2.ora实例2配置文件productracORACLE_HOMEdbsinitrac1.ora实例1配置文件initrac2.ora实例2配置文件spfilerac.ora实例配置文件orapwrac1.ora实例1口令文件orapwrac2.ora实例2口令文件oradatarac数据文件、日志文件、控制文件目录RacQuorumDiskCMQuorumDisksrvctl.oraServerControl工具配置文件rac虽然RAC要求RAW设备或CFS,但本例为SINGLENODERAC,因此所有控制文件、数据文件、日志文件以及OracleClusterManager的QuorumDisk、ServerControl的SharedConfigurationFile均使用本地文件。PRIMAYHOST&DB独立的PC机,操作系统为REDHATLINUXAS2.1,主机名为LINUX-HOME,数据库软件为OracleEnterpriseEdition9.2.0.1.0,PRIMARYDB全局名为rac.home,其中实例1的SID为rac1,实例2的SID为rac2。数据库运行于MAXIMUMPERFORMANCE方式下。数据库创建了8个GROUP的STANDBYLOG。实例1使用UNDO表空间TS_UNDO_RAC1,使用日志线程1,由ARCH归档到本地目录/oracle/archive/1,由LGWR归档到STANDBYDB的实例1。实例1登记到监听器1,监听端口为1521。实例2使用UNDO表空间TS_UNDO_RAC2,使用日志线程2,由ARCH归档到本地目录/oracle/archive/2,由LGWR归档到STANDBYDB的实例2。实例2登记到监听器2,监听端口为1522。STANDBYHOST&DB运行于VMWARE上的虚拟PC机,操作系统为REDHATLINUXAS2.1,主机名为LINUX-STBY,数据库软件为OracleEnterpriseEdition9.2.0.1.0,STANDBYDB全局名为rac.home,其中实例1的SID为rac1,实例2的ORACLE9IRAC环境下DATAGUARD的安装和配置SID为rac2。数据库创建了8个GROUP的STANDBYLOG。实例1使用STANDBYLOG接收PrimaryDB实例1的日志,并归档到本地目录/oracle/archive/1;接收StandbyDB实例2的日志,并归档到本地目录/oracle/archive/2。实例1登记到监听器1,监听端口为1521。实例1运行于MANAGEDRECOVER模式。实例2使用STANDBYLOG接收PrimaryDB实例2的日志,并归档到StandbyDB实例1。实例2登记到监听器2,监听端口为1522。实例2运行于MOUNTSTANDBY模式。安装和配置操作系统安装在两台主机上安装LINUXREDHATAS2.1,配置IP地址,修改/etc/hosts文件,使两台主机可以使用主机名和IP地址互相通讯。根据Oracle安装说明安装sun公司的JDK1.3.1-02包、升级binutils-2.11.90.0.8-13包、修改内核参数、创建oinstall/dba组和oracle用户、设置环境变量、创建数据库软件安装目录并赋予oracle用户必要的权限。特别需要注意的是为oracle用户创建/var/opt/oracle目录,否则安装Oracle9iDatabase时执行root.sh脚本会失败。数据库软件安装在两台主机上分别安装Oracle企业版9.2.0.1.0,安装分为两个步骤:安装OracleClusterManager和Database。安装ORACLECLUSTERMANAGERStep1、登录为oracle用户并启动Oracle安装程序。Step2、在AvailableProducts窗口选择“OracleClusterManager9.2.0.1.0”。ORACLE9IRAC环境下DATAGUARD的安装和配置Step3、在PublicNodeInformation窗口为“PublicNode1”输入主机名。Step4、在PrivateNodeInformation窗口为“PrivateNode1”输入主机名。ORACLE9IRAC环境下DATAGUARD的安装和配置Step5、在WatchdogParameterInformation窗口为“WatchdogParamterValue”输入60000。Step6、以oracle用户执行ddif=/dev/zeroof=/oracle/oradata/rac/RacQuorumDiskbs=1024count=1024创建QuorumDisk。ORACLE9IRAC环境下DATAGUARD的安装和配置Step7、在QuorumDiskInformation窗口为“QuorumDiskInformation”输入QuorumDisk的全路径名“/oracle/oradata/rac/RacQuorumDisk”。Step8、开始安装,结束后退出安装程序。Step9、将$ORACLE_HOME/oracm/admin目录下的cmcfg.ora.tmp文件重新命名为cmcfg.ora。Step10、登录为root用户并执行mknod/dev/watchdogc10130为watchdog创建设备(只需要执行一次,以后启动数据库时不需要执行)。Step11、继续以root用户执行insmodsoftdogsoft_margin=60加载softdog模块。加载softdog模块在每次启动数据库前必须运行。Step12、登录为oracle用户,并su到root用户(不能使用su–root命令,使用su或suroot命令),执行$ORACLE_HOME/oracm/bin目录下的ocmstart.sh脚本启动OracleClusterManager。启动OracleClusterManager在每次启动数据库前必须运行。安装ORACLE9IDATABASEStep1、登录为oracle用户并启动Oracle安装程序。Step2、在ClusterNodeSelection窗口选择需要安装的节点。Step3、在AvailableProducts窗口选择“Oracle9iDatabase9.2.0.1.0”。Step4、在InstallationTypes窗口选择“Custom”。Step5、在AvailableProductComponents窗口注意要选上“Oracle9iRealApplicationClusters9.2.0.1.0”Step6、在SharedConfigurationFileName窗口为“SharedConfigurationFileName”输入ServerControl工具配置文件的全路径名“/oracle/oradata/rac/srvctl.ora”。Step7、开始安装,安装过程中选择不创建数据库,并在运行NetConfigurationAssistant时创建监听器LISTENER1521和LISTENER1522,结束后退出安装程序。PRIMARYDB创建在PrimaryHost和StandbyHost均安装了操作系统和数据库软件后,本节描述如何在PrimaryHost创建RAC数据库。下面的动作均在PrimaryHost上以oracle用户执行,前提是softdog模块已经加载,OracleClusterManager已经启动。创建目录结构检查环境说明中的文件目录结构图,按结构图创建不存在的目录。启动监听器执行以下命令启动监听器(创建数据库过程中,启动监听器不是必需的),$为操作系统命令提示符,下同。$lsnrctlstartLISTENER1521$lsnrctlstartLISTENER1522ORACLE9IRAC环境下DATAGUARD的安装和配置创建口令文件执行以下命令为数据库的两个实例创建口令文件。$exportORACLE_SID=rac1$orapwdfile=$ORACLE_HOME/dbs/orapw$ORACLE_SIDpassword=oracleentries=30$exportORACLE_SID=rac2$orapwdfile=$ORACLE_HOME/dbs/orapw$ORACLE_SIDpassword=oracleentries=30创建配置文件创建文件$ORACLE_HOME/dbs/initrac.ora,内容如下。background_dump_dest='/oracle/admin/rac/bdump'compatible='9.2.0.0.0'control_files='/oracle/oradata/rac/rac.ctl'core_dump_dest='/oracle/admin/rac/cdump'db_block_size=8192db_cache_advice='ON'db_cache_size=16Mdb_domain='home'db_file_multiblock_read_count=16db_name='rac'fast_start_mttr_target=600instance_name='rac1'java_pool_size=4194304large_pool_size=4194304local_listener='(address=(protocol=tcp)(host=linux-home)(port=1521))'log_buffer=1024000olap_page_pool_size=4194304open_cursors=100parallel_max_servers=16pga_aggregate_target=30Mremote_login_passwordfile='exclusive'service_names='rac.home'sga_max_size=104857600shared_pool_size=16Mstatistics_level='ALL'timed_statistics=TRUEundo_management='auto'undo_tables