发表于: 2008.07.26 00:27
分类: ORACLE
出处: http://yangtingkun.itpub.net/post/468/467251
---------------------------------------------------------------
安装一套RAC11G的测试环境,操作系统为Solaris 10,共享磁盘管理使用Volumn Cluster Manager,Oracle版本为1106。
这篇描述Oracle Database的安装。
Solaris10下安装Oracle1106RAC环境(一):http://yangtingkun.itpub.net/post/468/467067
Solaris10下安装Oracle1106RAC环境(二):http://yangtingkun.itpub.net/post/468/467250
首先利用Oracle Cluster包中自带的检测工具,检查是否所有的数据库安装的准备工作已经完成:
bash-3.00$ ./runcluvfy.sh stage -pre dbinst -n newtrade1,newtrade2 -verbose
Performing pre-checks for database installation
Checking node reachability...
Check: Node reachability from node "newtrade1"
Destination Node Reachable?
------------------------------------ ------------------------
newtrade2 yes
newtrade1 yes
Result: Node reachability check passed from node "newtrade1".
Checking user equivalence...
Check: User equivalence for user "oracle"
Node Name Comment
------------------------------------ ------------------------
newtrade2 passed
newtrade1 passed
Result: User equivalence check passed for user "oracle".
Checking administrative privileges...
Check: Existence of user "oracle"
Node Name User Exists Comment
------------ ------------------------ ------------------------
newtrade2 yes passed
newtrade1 yes passed
Result: User existence check passed for "oracle".
Check: Existence of group "oinstall"
Node Name Status Group ID
------------ ------------------------ ------------------------
newtrade2 exists 100
newtrade1 exists 100
Result: Group existence check passed for "oinstall".
Check: Membership of user "oracle" in group "oinstall" [as Primary]
Node Name User Exists Group Exists User in Group Primary Comment
---------------- ------------ ------------ ------------ ------------ ------------
newtrade2 yes yes yes yes passed
newtrade1 yes yes yes yes passed
Result: Membership check for user "oracle" in group "oinstall" [as Primary] passed.
Check: Existence of group "dba"
Node Name Status Group ID
------------ ------------------------ ------------------------
newtrade2 exists 101
newtrade1 exists 101
Result: Group existence check passed for "dba".
Check: Membership of user "oracle" in group "dba"
Node Name User Exists Group Exists User in Group Primary Comment
---------------- ------------ ------------ ------------ ------------ ------------
newtrade2 yes yes yes no passed
newtrade1 yes yes yes no passed
Result: Membership check for user "oracle" in group "dba" passed.
Administrative privileges check passed.
Checking node connectivity...
Interface information for node "newtrade2"
Interface Name IP Address Subnet Subnet Gateway Default Gateway Hardware Address
---------------- ------------ ------------ ------------ ------------ ------------
ce0 172.0.2.55 172.0.2.0 172.0.2.55 UNKNOWN 00:14:4f:47:8d:12
ce0 172.0.2.59 172.0.2.0 172.0.2.55 UNKNOWN
ce1 10.0.1.4 10.0.1.0 10.0.1.4 UNKNOWN 00:14:4f:47:8d:12
Interface information for node "newtrade1"
Interface Name IP Address Subnet Subnet Gateway Default Gateway Hardware Address
---------------- ------------ ------------ ------------ ------------ ------------
ce0 172.0.2.54 172.0.2.0 172.0.2.54 UNKNOWN 00:14:4f:ad:47:cc
ce0 172.0.2.58 172.0.2.0 172.0.2.54 UNKNOWN
ce1 10.0.1.3 10.0.1.0 10.0.1.3 UNKNOWN 00:14:4f:ad:47:cc
Check: Node connectivity of subnet "172.0.2.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
newtrade2:ce0 newtrade2:ce0 yes
newtrade2:ce0 newtrade1:ce0 yes
newtrade2:ce0 newtrade1:ce0 yes
newtrade2:ce0 newtrade1:ce0 yes
newtrade2:ce0 newtrade1:ce0 yes
newtrade1:ce0 newtrade1:ce0 yes
Result: Node connectivity check passed for subnet "172.0.2.0" with node(s) newtrade2,newtrade1.
Check: Node connectivity of subnet "10.0.1.0"
Source Destination Connected?
------------------------------ ------------------------------ ----------------
newtrade2:ce1 newtrade1:ce1 yes
Result: Node connectivity check passed for subnet "10.0.1.0" with node(s) newtrade2,newtrade1.
Interfaces found on subnet "172.0.2.0" that are likely candidates for VIP:
newtrade2 ce0:172.0.2.55 ce0:172.0.2.59
newtrade1 ce0:172.0.2.54 ce0:172.0.2.58
Interfaces found on subnet "10.0.1.0" that are likely candidates for VIP:
newtrade2 ce1:10.0.1.4
newtrade1 ce1:10.0.1.3
WARNING:
Could not find a suitable set of interfaces for the private interconnect.
Result: Node connectivity check passed.
Checking system requirements for 'database'...
Check: Total memory
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 32GB (33554432KB) 1GB (1048576KB) passed
newtrade1 32GB (33554432KB) 1GB (1048576KB) passed
Result: Total memory check passed.
Check: Free disk space in "/tmp" dir
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 56.63GB (59378976KB) 400MB (409600KB) passed
newtrade1 55.69GB (58396584KB) 400MB (409600KB) passed
Result: Free disk space check passed.
Check: Swap space
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 31.26GB (32776888KB) 1.5GB (1572864KB) passed
newtrade1 30.28GB (31749112KB) 1.5GB (1572864KB) passed
Result: Swap space check passed.
Check: System architecture
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 64-bit sparcv9 kernel modules 64-bit passed
newtrade1 64-bit sparcv9 kernel modules 64-bit passed
Result: System architecture check passed.
Check: Kernel version
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 10,REV=2006.11.14.15.02 10,REV=2005.01.22.19.14 passed
newtrade1 10,REV=2007.08.16.13.29 10,REV=2005.01.22.19.14 passed
Result: Kernel version check passed.
Check: Package existence for "SUNWarc"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWarc:11.10.0 passed
newtrade1 SUNWarc:11.10.0 passed
Result: Package existence check passed for "SUNWarc".
Check: Package existence for "SUNWbtool"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWbtool:11.10.0 passed
newtrade1 SUNWbtool:11.10.0 passed
Result: Package existence check passed for "SUNWbtool".
Check: Package existence for "SUNWhea"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWhea:11.10.0 passed
newtrade1 SUNWhea:11.10.0 passed
Result: Package existence check passed for "SUNWhea".
Check: Package existence for "SUNWlibm"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWlibm:5.10 passed
newtrade1 SUNWlibm:5.10 passed
Result: Package existence check passed for "SUNWlibm".
Check: Package existence for "SUNWlibms"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWlibms:5.10 passed
newtrade1 SUNWlibms:5.10 passed
Result: Package existence check passed for "SUNWlibms".
Check: Package existence for "SUNWsprot"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWsprot:5.10 passed
newtrade1 SUNWsprot:5.10 passed
Result: Package existence check passed for "SUNWsprot".
Check: Package existence for "SUNWtoo"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWtoo:11.10.0 passed
newtrade1 SUNWtoo:11.10.0 passed
Result: Package existence check passed for "SUNWtoo".
Check: Package existence for "SUNWi1of"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWi1of:6.6.2.7400 passed
newtrade1 SUNWi1of:6.6.2.7400 passed
Result: Package existence check passed for "SUNWi1of".
Check: Package existence for "SUNWi1cs"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 ERROR: information for "SUNWi1cs" was not found passed
newtrade1 SUNWi1cs:2.0 passed
Result: Package existence check passed for "SUNWi1cs".
Check: Package existence for "SUNWi15cs"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 ERROR: information for "SUNWi15cs" was not found passed
newtrade1 SUNWi15cs:2.0 passed
Result: Package existence check passed for "SUNWi15cs".
Check: Package existence for "SUNWxwfnt"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWxwfnt:6.6.2.7400 passed
newtrade1 SUNWxwfnt:6.6.2.7400 passed
Result: Package existence check passed for "SUNWxwfnt".
Check: Package existence for "SUNWlibC"
Node Name Status Comment
------------------------------ ------------------------------ ----------------
newtrade2 SUNWlibC:5.10 passed
newtrade1 SUNWlibC:5.10 passed
Result: Package existence check passed for "SUNWlibC".
Check: Kernel parameter for "project.max-sem-ids"
Node Name Configured Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 128 100 passed
newtrade1 128 100 passed
Result: Kernel parameter check passed for "project.max-sem-ids".
Check: Kernel parameter for "process.max-sem-nsems"
Node Name Configured Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 512 256 passed
newtrade1 512 256 passed
Result: Kernel parameter check passed for "process.max-sem-nsems".
Check: Kernel parameter for "project.max-shm-memory"
Node Name Configured Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 2147483647900 4294967295 passed
newtrade1 2147483647900 4294967295 passed
Result: Kernel parameter check passed for "project.max-shm-memory".
Check: Kernel parameter for "project.max-shm-ids"
Node Name Configured Required Comment
------------ ------------------------ ------------------------ ----------
newtrade2 128 100 passed
newtrade1 128 100 passed
Result: Kernel parameter check passed for "project.max-shm-ids".
Check: Group existence for "dba"
Node Name Status Comment
------------ ------------------------ ------------------------
newtrade2 exists passed
newtrade1 exists passed
Result: Group existence check passed for "dba".
Check: User existence for "nobody"
Node Name Status Comment
------------ ------------------------ ------------------------
newtrade2 exists passed
newtrade1 exists passed
Result: User existence check passed for "nobody".
System requirement passed for 'database'
Checking CRS integrity...
Checking daemon liveness...
Check: Liveness for "CRS daemon"
Node Name Running
------------------------------------ ------------------------
newtrade2 yes
newtrade1 yes
Result: Liveness check passed for "CRS daemon".
Checking daemon liveness...
Check: Liveness for "CSS daemon"
Node Name Running
------------------------------------ ------------------------
newtrade2 yes
newtrade1 yes
Result: Liveness check passed for "CSS daemon".
Checking daemon liveness...
Check: Liveness for "EVM daemon"
Node Name Running
------------------------------------ ------------------------
newtrade2 yes
newtrade1 yes
Result: Liveness check passed for "EVM daemon".
Liveness of all the daemons
Node Name CRS daemon CSS daemon EVM daemon
------------ ------------------------ ------------------------ ----------
newtrade2 yes yes yes
newtrade1 yes yes yes
Checking CRS health...
Check: Health of CRS
Node Name CRS OK?
------------------------------------ ------------------------
newtrade2 yes
newtrade1 yes
Result: CRS health check passed.
CRS integrity check passed.
Checking node application existence...
Checking existence of VIP node application
Node Name Required Status Comment
------------ ------------------------ ------------------------ ----------
newtrade2 yes exists passed
newtrade1 yes exists passed
Result: Check passed.
Checking existence of ONS node application
Node Name Required Status Comment
------------ ------------------------ ------------------------ ----------
newtrade2 no exists passed
newtrade1 no exists passed
Result: Check passed.
Checking existence of GSD node application
Node Name Required Status Comment
------------ ------------------------ ------------------------ ----------
newtrade2 no exists passed
newtrade1 no exists passed
Result: Check passed.
Pre-check for database installation was successful.
Oracle的cluster安装之后运行的脚本会改变CLUSTER目录为root属主,这是正常的,不过11g不但改变了CLUSTER目录的属主,连其的父目录也一起进行了修改,因此这里需要手工将其他目录改回oracle用户属主,在两个节点分别运行:
root@newtrade1 # chown oracle:oinstall /data
root@newtrade1 # chown oracle:oinstall /data/oracle
root@newtrade1 # chown oracle:oinstall /data/oracle/product
root@newtrade1 # chown oracle:oinstall /data/oracle/product/11.1
下面就可以进行数据库的安装了:
newtrade1 xhost +
access control disabled, clients can connect from any host
newtrade1 su - oracle
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
$ bash
bash-3.00$ cd /data/database/
bash-3.00$ ./runInstaller
由于是安装Cluster数据库,因此在CLUSTER INSTALLATION将节点2选择上。
这里只选择安装软件。
安装过程很简单,最后只需要在两个节点分别执行下面的shell脚本:
root@newtrade1 # . /data/oracle/product/11.1/database/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data/oracle/product/11.1/database
Enter the full pathname of the local bin directory: [/usr/local/bin]: c
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /var/opt/oracle/oratab file...
Entries will be added to the /var/opt/oracle/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
至此,Oracle的软件部分安装完成。











