[原]在红旗5.0上基于ASM方式安装Oracle 10g RAC [3]
2021年8月27日 06:39
•
linux专区
让我们继续最后一部分的安装。 四、安装Oracle 10g RAC 集群软件 Oracle 集群包含所有集群和数据库配置元数据以及多个适用于 RAC 的系统管理特性。通过它,DBA 可以将一个 Oracle 实例(或多个实例)注册和调用到集群。在通常的操作中,Oracle 集群件将通过一种特殊的 ping 操作向集群中配置的所有节点发送消息(通常称作“心跳”)。如果对任何节点的心跳检测失败,则它将检查 Oracle 集群件配置文件(位于共享磁盘上)以辨别是节点故障还是网络故障。 1、Oracle 集群件共享文件包括下面两个: [list] Oracle 集群注册表 (OCR) 位置:/u02/oradata/orcl/OCRFile CRS 表决磁盘 位置:/u02/oradata/orcl/CSSFile [/list] ※注意:不能把ASM用于以上两个文件,但可以使用裸设备。 2、修改环境变量 先以root用户运行下面命令,以允许建立 X Server 服务器连接:
# xhost +
然后修改oracle用户的变量:(需要在两台服务器上操作)
# su – oracle $ unset ORA_CRS_HOME $ unset ORACLE_HOME $ unset ORA_NLS10 $ unset TNS_ADMIN
3、准备安装文件 先从Oracle网站下载需要的软件包,然后解压:
# su – # cd /opt/ # unzip 10201_clusterware_linux32.zip # cd /opt/clusterware/
4、开始安装
# su – oracle $ cd /opt/clusterware $ ./runInstaller -ignoreSysPrereqs &
# /u01/app/oracle/oraInventory/orainstRoot.sh # /u01/app/oracle/oracle/product/10.2.0/crs/root.sh
完成后确认,并退出OUI安装。 5、检查CRS是否安装成功 分别在两台主机上使用下面的命令,查看VIP是否已经绑定成功: [root@ora01 ~]# ifconfig
引用
eth0 Link encap:Ethernet HWaddr 00:0C:29:3B:B1:5D
inet addr:219.142.7.143 Bcast:219.142.7.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe3b:b15d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1098 errors:0 dropped:0 overruns:0 frame:0
TX packets:381 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:253009 (247.0 KiB) TX bytes:32787 (32.0 KiB)
Interrupt:185 Base address:0x1480
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:3B:B1:5D inet addr:219.142.7.201 Bcast:219.142.7.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:185 Base address:0x1480
引用
[root@ora02 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:78:2C:3B
inet addr:219.142.7.144 Bcast:219.142.7.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe78:2c3b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:979 errors:0 dropped:0 overruns:0 frame:0
TX packets:374 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:218822 (213.6 KiB) TX bytes:32561 (31.7 KiB)
Interrupt:185 Base address:0x1480
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:78:2C:3B inet addr:219.142.7.202 Bcast:219.142.7.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:185 Base address:0x1480
另外,使用olsnodes命令查看已有的节点:
# /u01/app/oracle/oracle/product/10.2.0/crs/bin/olsnodes -n ora01 1 ora02 2
由此,证明CRS安装成功! 五、安装Oracle 10g 数据库软件 这次,我决定在安装该软件的时候,不建立数据库,只安装数据库软件,后面在用DBCA创建数据库。 1、再落实一次环境变量 包括xhost命令,和Oracle用户的变量
# su – oracle $ unset ORA_CRS_HOME $ unset ORACLE_HOME $ unset ORA_NLS10 $ unset TNS_ADMIN
2、先从Oracle网站下载需要的软件包,然后解压:
# su – # cd /opt/ # unzip 10201_database_linux32.zip # cd /opt/database/
3、开始安装数据库基本软件(只在一台机器上运行)
# su – oracle $ cd /opt/database $ ./runInstaller -ignoreSysPrereqs &
/u01/app/oracle/oracle/product/10.2.0/db_1/root.sh
运行后,确认,并退出。※小心,我在安装前漏了对两台机器的时候做同步,导致在安装的期间出现了一些类似的错误:
引用
/bin/tar: ./lib/libclntsh.so.10.1: time stamp 2006-03-02 07:17:22 is 31 s in the future /bin/tar: ./lib/liborasdk.so.10.2: time stamp 2006-03-02 07:17:16 is 19 s in the future
◎确认后,可以通过。但安装到最后,会再次出现“attachHome”的问题:
引用
严重: 节点 ‘ora02’ 上的远程 ‘AttachHome’ 失败。有关详细信息, 请参阅 ‘/u01/app/oracle/oraInventory/logs/installActions2006-03-02_06-54-49AM.log’。 ◎安装后, 可以在失败的节点上手动重新运行以下命令: /u01/app/oracle/oracle/product/10.2.0/db_1/oui/bin/runInstaller -attachHome -noClusterEnabled ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1 ORACLE_HOME_NAME=OraDb10g_home1 CLUSTER_NODES=ora01,ora02 “INVENTORY_LOCATION=/u01/app/oracle/oraInventory” LOCAL_NODE=<要运行命令的节点>。 信息: 所选用户: 是(Y)/确定
◎安装完毕后,需要在ora02上修复一下该错误:
[oracle@ora02 /]# su – oracle [oracle@ora02 /]$ /u01/app/oracle/oracle/product/10.2.0/db_1/oui/bin/runInstaller -attachHome -noClusterEnabled ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1 ORACLE_HOME_NAME=OraDb10g_home1 CLUSTER_NODES=ora01,ora02 "INVENTORY_LOCATION=/u01/app/oracle/oraInventory" LOCAL_NODE=ora02 & 提示AttachHome成功。
◎到这里,数据库基本软件的安装才真正完成。◎要避免该问题,建议在启动OUI前,先手动同步一次各节点的时间。 4、创建TNS监听器 DBCA 需要在 RAC 集群的所有节点上配置并运行 Oracle TNS 监听器进程,然后它才能创建集群化数据库。所以,在进行DBCA前,必须先做了TNS监听的配置。 ◎首先,重登陆一次oracle用户,并确认环境变量。(两台机器都确认一次)
引用
# su – oracle $ env|grep ORA ORA_CRS_HOME=/u01/app/oracle/product/crs ORACLE_PATH=/u01/app/oracle/common/oracle/sql:.:/u01/app/oracle/product/10.2.0/db_1/rdbms/admin ORA_NLS10=/u01/app/oracle/product/10.2.0/db_1/nls/data ORACLE_SID=orcl1 ORACLE_BASE=/u01/app/oracle ORACLE_TERM=xterm ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
可以看到,变量的路径于实际的路径不一样,所以,我们要先修改为:
引用
#su – oracle $ vi .bash_profile export ORACLE_BASE=/u01/app/oracle/oracle export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1 export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs
最后,再重登陆一次oracle用户,以确保环境变量生效:
引用
$ env|grep ORA ORA_CRS_HOME=/u01/app/oracle/oracle/product/10.2.0/crs ORACLE_PATH=/u01/app/oracle/oracle/common/oracle/sql:.:/u01/app/oracle/oracle/product/10.2.0/db_1/rdbms/admin ORA_NLS10=/u01/app/oracle/oracle/product/10.2.0/db_1/nls/data ORACLE_SID=orcl1 ORACLE_BASE=/u01/app/oracle/oracle ORACLE_TERM=xterm ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1
◎配置netca # su – oracle $ netca & [oracle@ora01 ~]$ hostname ora01 [oracle@ora01 ~]$ ps -ef|grep lsnr|grep -v 'grep'|awk '{print $9}' LISTENER_ORA01 [oracle@ora02 ~]$ hostname ora02 [oracle@ora02 ~]$ ps -ef|grep lsnr|grep -v 'grep'|awk '{print $9}' LISTENER_ORA02