ITPub博客

首页 > 数据库 > Oracle > 用VMware Workstation在Oracle Linux 6.6上部署双节点Grid(11.2.0.4)

用VMware Workstation在Oracle Linux 6.6上部署双节点Grid(11.2.0.4)

原创 Oracle 作者:amber_cop 时间:2015-01-09 08:52:33 0 删除 编辑

Deploy Grid (11.2.0.4) on VMware Workstation with Oracle Linux 6.6

Environment:

Software:

VMware Workstation 10

Oracle Linux 6.6 64bit

Oracle GRID 11.2.0.4

Plan:

Two oracle grid nodes + One Linux server as iSCSI / DNS / NTP server

Deployment steps for GRID support server:

1. Build new virtualization machine with Oracle Linux OS type

1.1 Install Oracle Linux 6.6 with software development option (or other option you like, it is only influenced on linux software package installation and would be fix with yum resources).

1.1.1 Bind a fixed IP address on NIC and open ONBOOT option

In /etc/sysconfig/network-scripts/ifcfg-eth0 file (eth0 would in the same subnet with RAC public address), modify ONBOOT=yes, use service network restart or ifdown / ifup commands to check.

1.1.2 Turn off firewall and NetworkManager service

iptables -F ; service iptables save ; chkconfig iptables off

service NetworkManager stop ; chkconfig NetworkManager off

1.2 Configurations of YUM

Modify original YUM file in /etc/yum.repo.d/*.repo or add a new .repo file in same directory.

In the .repo file (suppose we'd like use official disk image) modify or add:

'--------------------------------------------------------------------------------------------

[public_ol6_latest]

name=Oracle Linux $releasever Latest ($basearch)

baseurl=file:///media/OL6.6%20x86_64%20Disc%201%2020141018/

gpgcheck=0

enabled=1

--------------------------------------------------------------------------------------------'

Please note there have four '%20' in baseurl option, it is because of the .repo file would resolve the option in URL format, in this way the '\' symbol would not work in front of a 'space' symbol, so we use '%20'.

You may use yum repolist or yum list commands to verify it.

1.3 Prepare shared disk for GRID deployment with iSCSI

1.3.1 Add second disk file to Linux VM.

1.3.2 Make partitions (suppose new disk is /dev/sdb)

vgcreate crsvote /dev/sdb                              

vgdisplay crsvote                                            

lvcreate -l 511 crsvote -n crsvote1                  

lvcreate -l 511 crsvote -n crsvote2                    divided by PE number

lvcreate -l 511 crsvote -n crsvote3                    on VG named as crsvoteN>

1.3.3 Install iSCSI service

yum install -y scsi-target-utils

1.3.4 Modify configuration file shared three LVs on public network

In /etc/tgt/targets.conf file, add following line:

'--------------------------------------------------------------------------------------------

    backing-store /dev/crsvote/crsvote1

    initiator-address 192.168.100.201

    initiator-address 192.168.100.202

    backing-store /dev/crsvote/crsvote2

    initiator-address 192.168.100.201

    initiator-address 192.168.100.202

    backing-store /dev/crsvote/crsvote3

    initiator-address 192.168.100.201

    initiator-address 192.168.100.202

--------------------------------------------------------------------------------------------'

service tgtd start ; chkconfig tgtd on

So the iSCSI device shared on public network for two RAC nodes.

1.4 Use shared iSCSI disks on clients (nodes)

1.4.1 Find and connect iSCSI device

iscsiadm -m discovery -t sendtargets -p 192.168.100.254           

service iscsi start ; chkconfig iscsi on                                          

udevadm trigger ; udevadm trigger                                            

1.4.2 Bind iSCSI device to RAW device

udevadm info --export-db | grep -A 20 sdc                                

In /etc/udev/rules.d/99-user.rules file or 60-raw.rules file add following line:

'--------------------------------------------------------------------------------------------

ACTION=="add",SUBSYSTEM=="block",ENV{ID_PATH}=="ip-192.168.100.254:3260-iscsi-iqn.2014-12.com.rac:nodesupport:crsvote1-lun-1",RUN+="/bin/raw /dev/raw/raw1 %M %m"

ACTION=="add",SUBSYSTEM=="block",ENV{ID_PATH}=="ip-192.168.100.254:3260-iscsi-iqn.2014-12.com.rac:nodesupport:crsvote2-lun-1",RUN+="/bin/raw /dev/raw/raw2 %M %m"

ACTION=="add",SUBSYSTEM=="block",ENV{ID_PATH}=="ip-192.168.100.254:3260-iscsi-iqn.2014-12.com.rac:nodesupport:crsvote3-lun-1",RUN+="/bin/raw /dev/raw/raw3 %M %m"

KERNEL=="raw[1-3]", OWNER="grid", GROUP="asmadmin", MODE="660"

--------------------------------------------------------------------------------------------'

start_udev ; ll /dev/raw/                                                      

1.5 Prepare DNS resolver for GRID deployment

1.5.1 Install DNS service

yum install -y bind bind-chroot ; service named restart        

1.5.2 Configuration DNS main file

In /var/named/chroot/etc/named.conf file (because we use bind-chroot otherwise the file would located in /etc) keep and modify following line:

'--------------------------------------------------------------------------------------------

options

{

        directory               "/var/named";

        dump-file               "data/cache_dump.db";

        statistics-file         "data/named_stats.txt";

        memstatistics-file      "data/named_mem_stats.txt";

        listen-on port 53       { any; };

        allow-query             { any; };

        allow-query-cache       { any; };

        recursion no;

};

view "public"

{

        match-clients           { any; };

        include "/etc/named.public.zones";

};

--------------------------------------------------------------------------------------------'

1.5.3 Configuration DNS resolver files

In /var/named/chroot/etc/named.public.zones file (also because of bind-chroot) add line:

'--------------------------------------------------------------------------------------------

zone "rac.com" IN {

        type master;

        file "rac.com.public.zone";

        allow-update { none; };

};

--------------------------------------------------------------------------------------------'

In /var/named/chroot/ var/named/rac.com.public.zone file (also because of bind-chroot) add line:

'--------------------------------------------------------------------------------------------

$TTL 86400

@       IN SOA  @ nodesupport.rac.com. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

IN      NS      @

IN      A       127.0.0.1

nodesupport.rac.com.              IN      A       192.168.100.254

node1.rac.com.                          IN      A       192.168.100.201

node2.rac.com.                          IN      A       192.168.100.202

node1-vip.rac.com.                   IN      A       192.168.100.203

node2-vip.rac.com.                   IN      A       192.168.100.204

node1-priv.rac.com.                  IN      A       192.168.200.101

node2-priv.rac.com.                  IN      A       192.168.200.102

node-cluster.rac.com.               IN      A       192.168.100.251

node-cluster-scan.rac.com.     IN      A       192.168.200.251

--------------------------------------------------------------------------------------------'

In /etc/resolv.conf file (on server also all node) add line:

'--------------------------------------------------------------------------------------------

search rac.com

nameserver 192.168.100.254

--------------------------------------------------------------------------------------------'

service named restart ; chkconfig named on

Can use nslookup [name] command to check name resolve, and if there have resolve speed problem you may also edit the /etc/hosts file on all nodes.

1.6 Configuration NTP

If there have third-part time source, all nodes can use it directly. Or can build self-adjustment time server as install ntp package and add self-adjustment options, Or just use Oracle time sync service directly by ignore all ntp configurations on all nodes.

1.6.1 Self-adjustment time server:

yum install -y ntp

In /etc/ntp.conf delete all public server option or make comments on all server options, add line:

'--------------------------------------------------------------------------------------------

server  127.127.1.0

fudge   127.127.1.0 stratum 5

--------------------------------------------------------------------------------------------'

You can use SYNC_HWCLOCK=yes option in /etc/sysconfig/ntpd or use VMware tools to adjustment time with hardware BIOS.

1.6.2 Oracle time sync service:

Move /etc/ntp.conf on all nodes, add an option '-x' in /etc/sysconfig/ntpd file in OPTIONS="-u -x ntp:ntp -p /var/run/ntpd.pid -g" line. Then Grid installer will ignore standard ntp service on linux to use Oracle time sync service.

2. Prepare environment to install Grid

2.1 The network planning

# Public Address

192.168.100.201 node1 node1.rac.com                                  

192.168.100.202 node2 node2.rac.com                                  

# Virtual Address

192.168.100.203 node1-vip node1-vip.rac.com                       

192.168.100.204 node2-vip node2-vip.rac.com                       

# Private Address

192.168.200.101 node1-priv node1-priv.rac.com                    

192.168.200.102 node2-priv node2-priv.rac.com                     

# SCAN Address

# Should resolved by DNS                                                    <192.168.100.251>

# RAC support

192.168.100.254 nodesupport nodesupport.rac.com                

2.2 OS package

Follow the official documents:

yum install -y

compat-libcap1

ibstdc++-33.x86_64

compat-libstdc++-33.i686

glibc-devel.i686

ksh

libstdc++.i686

libstdc++-devel.i686

libaio.i686

libaio-devel.i686

libaio-devel.x86_64

compat-libstdc++-33.i686

compat-libstdc++-33.x86_64

oracleasm-support

oracle-rdbms-server-11gR2-preinstall

ocfs2-tools

In GRID software package: ../grid/rpm

rpm -iv cvuqdisk-1.0.9-1.rpm

2.3 Kernel parameter

oracle-rdbms-server-11gR2-preinstall will fix all or Check Oracle official Documents

2.4 Other system level configuration

In /etc/security/limits.conf file:

oracle   soft   nofile    1024

oracle   hard   nofile    65536

oracle   soft   nproc    16384

oracle   hard   nproc    16384

oracle   soft   stack    10240

oracle   hard   stack    32768

grid   soft   nofile    1024

grid   hard   nofile    65536

grid   soft   nproc    16384

grid   hard   nproc    16384

grid   soft   stack    10240

grid   hard   stack    32768

In /etc/pam.d/login file:

session    required     pam_limits.so

2.5 User and Groups

Add groups

groupadd -g 8000 oinstall

groupadd -g 8001 dba

groupadd -g 8002 oper

groupadd -g 9000 asmadmin

groupadd -g 9001 asmdba

groupadd -g 9002 asmoper

Add users and password

useradd -g oinstall -G dba,asmadmin,asmdba,asmoper -u 11000 grid ; echo oracle | passwd --stdin grid

useradd -g oinstall -G dba,oper -u 12000 oracle ; echo oracle | passwd --stdin oracle

2.6 User profile

For grid user edit ~/.bash_profile:

ORACLE_SID=+ASM1

export ORACLE_SID

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

ORACLE_HOME=/u01/app/grid

export ORACLE_HOME

TMP=/u01/tmp

export TMP

TMPDIR=$TMP

export TMPDIR

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export CLASSPATH

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export PATH

if [ $USER = "grid" ]; then

  if [ $SHELL = "/bin/ksh" ]; then

    ulimit -p 16384

    ulimit -n 65536

  else

    ulimit -u 16384 -n 65536

  fi

fi

umask 022

For oracle user edit ~/.bash_profile:

ORACLE_SID=rac

export ORACLE_SID

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_HOME

TMP=/u01/tmp

export TMP

TMPDIR=$TMP

export TMPDIR

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export CLASSPATH

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export PATH

if [ $USER = "oracle" ]; then

  if [ $SHELL = "/bin/ksh" ]; then

    ulimit -p 16384

    ulimit -n 65536

  else

    ulimit -u 16384 -n 65536

  fi

fi

umask 022

2.7 Directory planning

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle/product/11.2.0/db_1

mkdir -p /u01/tmp

mkdie -p /u01/app/oraInventory

chown -R grid:oinstall /u01

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

2.8 SSH connective

For grid user and oracle on all node:

ssh-keygen -t rsa

ssh-copy-id node1 ; ssh-copy-id node2

ssh node1.rac.com ; ssh node2.rac.com

ssh node1-priv ; ssh node2-priv

ssh node1-priv.rac.com ; ssh node2-priv.rac.com

User grid can access all node with ssh without password, user oracle can access all node with ssh without password.

2.9 Pre-Install script

Run script:

./runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup –verbose

点击(此处)折叠或打开

  1. Performing pre-checks for cluster services setup
  2.  
  3. Checking node reachability...
  4.  
  5. Check: Node reachability from node \"node1\"
  6.   Destination Node Reachable?
  7.   ------------------------------------ ------------------------
  8.   node1 yes
  9.   node2 yes
  10. Result: Node reachability check passed from node \"node1\"
  11.  
  12. Checking user equivalence...
  13.  
  14. Check: User equivalence for user \"grid\"
  15.   Node Name Status
  16.   ------------------------------------ ------------------------
  17.   node2 passed
  18.   node1 passed
  19. Result: User equivalence check passed for user \"grid\"
  20.  
  21. Checking node connectivity...
  22.  
  23. Checking hosts config file...
  24.   Node Name Status
  25.   ------------------------------------ ------------------------
  26.   node2 passed
  27.   node1 passed
  28.  
  29. Verification of the hosts config file successful
  30.  
  31. Interface information for node \"node2\"
  32.  Name IP Address Subnet Gateway Def. Gateway HW Address MTU
  33.  ------ --------------- --------------- --------------- --------------- ----------------- ------
  34.  eth0 192.168.100.202 192.168.100.0 0.0.0.0 192.168.100.1 00:0C:29:A6:1B:75 1500
  35.  eth1 192.168.200.102 192.168.200.0 0.0.0.0 192.168.100.1 00:0C:29:A6:1B:7F 1500
  36.  
  37. Interface information for node \"node1\"
  38.  Name IP Address Subnet Gateway Def. Gateway HW Address MTU
  39.  ------ --------------- --------------- --------------- --------------- ----------------- ------
  40.  eth0 192.168.100.201 192.168.100.0 0.0.0.0 192.168.100.1 00:0C:29:BD:96:46 1500
  41.  eth1 192.168.200.101 192.168.200.0 0.0.0.0 192.168.100.1 00:0C:29:BD:96:50 1500
  42.  
  43. Check: Node connectivity of subnet \"192.168.100.0\"
  44.   Source Destination Connected?
  45.   ------------------------------ ------------------------------ ----------------
  46.   node2[192.168.100.202] node1[192.168.100.201] yes
  47. Result: Node connectivity passed for subnet \"192.168.100.0\" with node(s) node2,node1
  48.  
  49.  
  50. Check: TCP connectivity of subnet \"192.168.100.0\"
  51.   Source Destination Connected?
  52.   ------------------------------ ------------------------------ ----------------
  53.   node1:192.168.100.201 node2:192.168.100.202 passed
  54. Result: TCP connectivity check passed for subnet \"192.168.100.0\"
  55.  
  56.  
  57. Check: Node connectivity of subnet \"192.168.200.0\"
  58.   Source Destination Connected?
  59.   ------------------------------ ------------------------------ ----------------
  60.   node2[192.168.200.102] node1[192.168.200.101] yes
  61. Result: Node connectivity passed for subnet \"192.168.200.0\" with node(s) node2,node1
  62.  
  63.  
  64. Check: TCP connectivity of subnet \"192.168.200.0\"
  65.   Source Destination Connected?
  66.   ------------------------------ ------------------------------ ----------------
  67.   node1:192.168.200.101 node2:192.168.200.102 passed
  68. Result: TCP connectivity check passed for subnet \"192.168.200.0\"
  69.  
  70.  
  71. Interfaces found on subnet \"192.168.100.0\" that are likely candidates for VIP are:
  72. node2 eth0:192.168.100.202
  73. node1 eth0:192.168.100.201
  74.  
  75. Interfaces found on subnet \"192.168.200.0\" that are likely candidates for a private interconnect are:
  76. node2 eth1:192.168.200.102
  77. node1 eth1:192.168.200.101
  78. Checking subnet mask consistency...
  79. Subnet mask consistency check passed for subnet \"192.168.100.0\".
  80. Subnet mask consistency check passed for subnet \"192.168.200.0\".
  81. Subnet mask consistency check passed.
  82.  
  83. Result: Node connectivity check passed
  84.  
  85. Checking multicast communication...
  86.  
  87. Checking subnet \"192.168.100.0\" for multicast communication with multicast group \"230.0.1.0\"...
  88. Check of subnet \"192.168.100.0\" for multicast communication with multicast group \"230.0.1.0\" passed.
  89.  
  90. Checking subnet \"192.168.200.0\" for multicast communication with multicast group \"230.0.1.0\"...
  91. Check of subnet \"192.168.200.0\" for multicast communication with multicast group \"230.0.1.0\" passed.
  92.  
  93. Check of multicast communication passed.
  94.  
  95. Checking ASMLib configuration.
  96.   Node Name Status
  97.   ------------------------------------ ------------------------
  98.   node2 passed
  99.   node1 passed
  100. Result: Check for ASMLib configuration passed.
  101.  
  102. Check: Total memory
  103.   Node Name Available Required Status
  104.   ------------ ------------------------ ------------------------ ----------
  105.   node2 1.9489GB (2043592.0KB) 1.5GB (1572864.0KB) passed
  106.   node1 1.9489GB (2043592.0KB) 1.5GB (1572864.0KB) passed
  107. Result: Total memory check passed
  108.  
  109. Check: Available memory
  110.   Node Name Available Required Status
  111.   ------------ ------------------------ ------------------------ ----------
  112.   node2 1.6632GB (1743988.0KB) 50MB (51200.0KB) passed
  113.   node1 1.5767GB (1653300.0KB) 50MB (51200.0KB) passed
  114. Result: Available memory check passed
  115.  
  116. Check: Swap space
  117.   Node Name Available Required Status
  118.   ------------ ------------------------ ------------------------ ----------
  119.   node2 4GB (4194300.0KB) 2.9234GB (3065388.0KB) passed
  120.   node1 4GB (4194300.0KB) 2.9234GB (3065388.0KB) passed
  121. Result: Swap space check passed
  122.  
  123. Check: Free disk space for \"node2:/u01/tmp\"
  124.   Path Node Name Mount point Available Required Status
  125.   ---------------- ------------ ------------ ------------ ------------ ------------
  126.   /u01/tmp node2 / 19.3369GB 1GB passed
  127. Result: Free disk space check passed for \"node2:/u01/tmp\"
  128.  
  129. Check: Free disk space for \"node1:/u01/tmp\"
  130.   Path Node Name Mount point Available Required Status
  131.   ---------------- ------------ ------------ ------------ ------------ ------------
  132.   /u01/tmp node1 / 19.0769GB 1GB passed
  133. Result: Free disk space check passed for \"node1:/u01/tmp\"
  134.  
  135. Check: User existence for \"grid\"
  136.   Node Name Status Comment
  137.   ------------ ------------------------ ------------------------
  138.   node2 passed exists(11000)
  139.   node1 passed exists(11000)
  140.  
  141. Checking for multiple users with UID value 11000
  142. Result: Check for multiple users with UID value 11000 passed
  143. Result: User existence check passed for \"grid\"
  144.  
  145. Check: Group existence for \"oinstall\"
  146.   Node Name Status Comment
  147.   ------------ ------------------------ ------------------------
  148.   node2 passed exists
  149.   node1 passed exists
  150. Result: Group existence check passed for \"oinstall\"
  151.  
  152. Check: Group existence for \"dba\"
  153.   Node Name Status Comment
  154.   ------------ ------------------------ ------------------------
  155.   node2 passed exists
  156.   node1 passed exists
  157. Result: Group existence check passed for \"dba\"
  158.  
  159. Check: Membership of user \"grid\" in group \"oinstall\" [as Primary]
  160.   Node Name User Exists Group Exists User in Group Primary Status
  161.   ---------------- ------------ ------------ ------------ ------------ ------------
  162.   node2 yes yes yes yes passed
  163.   node1 yes yes yes yes passed
  164. Result: Membership check for user \"grid\" in group \"oinstall\" [as Primary] passed
  165.  
  166. Check: Membership of user \"grid\" in group \"dba\"
  167.   Node Name User Exists Group Exists User in Group Status
  168.   ---------------- ------------ ------------ ------------ ----------------
  169.   node2 yes yes yes passed
  170.   node1 yes yes yes passed
  171. Result: Membership check for user \"grid\" in group \"dba\" passed
  172.  
  173. Check: Run level
  174.   Node Name run level Required Status
  175.   ------------ ------------------------ ------------------------ ----------
  176.   node2 5 3,5 passed
  177.   node1 5 3,5 passed
  178. Result: Run level check passed
  179.  
  180. Check: Hard limits for \"maximum open file descriptors\"
  181.   Node Name Type Available Required Status
  182.   ---------------- ------------ ------------ ------------ ----------------
  183.   node2 hard 65536 65536 passed
  184.   node1 hard 65536 65536 passed
  185. Result: Hard limits check passed for \"maximum open file descriptors\"
  186.  
  187. Check: Soft limits for \"maximum open file descriptors\"
  188.   Node Name Type Available Required Status
  189.   ---------------- ------------ ------------ ------------ ----------------
  190.   node2 soft 1024 1024 passed
  191.   node1 soft 1024 1024 passed
  192. Result: Soft limits check passed for \"maximum open file descriptors\"
  193.  
  194. Check: Hard limits for \"maximum user processes\"
  195.   Node Name Type Available Required Status
  196.   ---------------- ------------ ------------ ------------ ----------------
  197.   node2 hard 16384 16384 passed
  198.   node1 hard 16384 16384 passed
  199. Result: Hard limits check passed for \"maximum user processes\"
  200.  
  201. Check: Soft limits for \"maximum user processes\"
  202.   Node Name Type Available Required Status
  203.   ---------------- ------------ ------------ ------------ ----------------
  204.   node2 soft 16384 2047 passed
  205.   node1 soft 16384 2047 passed
  206. Result: Soft limits check passed for \"maximum user processes\"
  207.  
  208. Check: System architecture
  209.   Node Name Available Required Status
  210.   ------------ ------------------------ ------------------------ ----------
  211.   node2 x86_64 x86_64 passed
  212.   node1 x86_64 x86_64 passed
  213. Result: System architecture check passed
  214.  
  215. Check: Kernel version
  216.   Node Name Available Required Status
  217.   ------------ ------------------------ ------------------------ ----------
  218.   node2 3.8.13-44.1.1.el6uek.x86_64 2.6.32 passed
  219.   node1 3.8.13-44.1.1.el6uek.x86_64 2.6.32 passed
  220. Result: Kernel version check passed
  221.  
  222. Check: Kernel parameter for \"semmsl\"
  223.   Node Name Current Configured Required Status Comment
  224.   ---------------- ------------ ------------ ------------ ------------ ------------
  225.   node2 250 250 250 passed
  226.   node1 250 250 250 passed
  227. Result: Kernel parameter check passed for \"semmsl\"
  228.  
  229. Check: Kernel parameter for \"semmns\"
  230.   Node Name Current Configured Required Status Comment
  231.   ---------------- ------------ ------------ ------------ ------------ ------------
  232.   node2 32000 32000 32000 passed
  233.   node1 32000 32000 32000 passed
  234. Result: Kernel parameter check passed for \"semmns\"
  235.  
  236. Check: Kernel parameter for \"semopm\"
  237.   Node Name Current Configured Required Status Comment
  238.   ---------------- ------------ ------------ ------------ ------------ ------------
  239.   node2 100 100 100 passed
  240.   node1 100 100 100 passed
  241. Result: Kernel parameter check passed for \"semopm\"
  242.  
  243. Check: Kernel parameter for \"semmni\"
  244.   Node Name Current Configured Required Status Comment
  245.   ---------------- ------------ ------------ ------------ ------------ ------------
  246.   node2 128 128 128 passed
  247.   node1 128 128 128 passed
  248. Result: Kernel parameter check passed for \"semmni\"
  249.  
  250. Check: Kernel parameter for \"shmmax\"
  251.   Node Name Current Configured Required Status Comment
  252.   ---------------- ------------ ------------ ------------ ------------ ------------
  253.   node2 4398046511104 4398046511104 1046319104 passed
  254.   node1 4398046511104 4398046511104 1046319104 passed
  255. Result: Kernel parameter check passed for \"shmmax\"
  256.  
  257. Check: Kernel parameter for \"shmmni\"
  258.   Node Name Current Configured Required Status Comment
  259.   ---------------- ------------ ------------ ------------ ------------ ------------
  260.   node2 4096 4096 4096 passed
  261.   node1 4096 4096 4096 passed
  262. Result: Kernel parameter check passed for \"shmmni\"
  263.  
  264. Check: Kernel parameter for \"shmall\"
  265.   Node Name Current Configured Required Status Comment
  266.   ---------------- ------------ ------------ ------------ ------------ ------------
  267.   node2 4294967296 4294967296 2097152 passed
  268.   node1 4294967296 4294967296 2097152 passed
  269. Result: Kernel parameter check passed for \"shmall\"
  270.  
  271. Check: Kernel parameter for \"file-max\"
  272.   Node Name Current Configured Required Status Comment
  273.   ---------------- ------------ ------------ ------------ ------------ ------------
  274.   node2 6815744 6815744 6815744 passed
  275.   node1 6815744 6815744 6815744 passed
  276. Result: Kernel parameter check passed for \"file-max\"
  277.  
  278. Check: Kernel parameter for \"ip_local_port_range\"
  279.   Node Name Current Configured Required Status Comment
  280.   ---------------- ------------ ------------ ------------ ------------ ------------
  281.   node2 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 passed
  282.   node1 between 9000.0 & 65500.0 between 9000.0 & 65500.0 between 9000.0 & 65500.0 passed
  283. Result: Kernel parameter check passed for \"ip_local_port_range\"
  284.  
  285. Check: Kernel parameter for \"rmem_default\"
  286.   Node Name Current Configured Required Status Comment
  287.   ---------------- ------------ ------------ ------------ ------------ ------------
  288.   node2 262144 262144 262144 passed
  289.   node1 262144 262144 262144 passed
  290. Result: Kernel parameter check passed for \"rmem_default\"
  291.  
  292. Check: Kernel parameter for \"rmem_max\"
  293.   Node Name Current Configured Required Status Comment
  294.   ---------------- ------------ ------------ ------------ ------------ ------------
  295.   node2 4194304 4194304 4194304 passed
  296.   node1 4194304 4194304 4194304 passed
  297. Result: Kernel parameter check passed for \"rmem_max\"
  298.  
  299. Check: Kernel parameter for \"wmem_default\"
  300.   Node Name Current Configured Required Status Comment
  301.   ---------------- ------------ ------------ ------------ ------------ ------------
  302.   node2 262144 262144 262144 passed
  303.   node1 262144 262144 262144 passed
  304. Result: Kernel parameter check passed for \"wmem_default\"
  305.  
  306. Check: Kernel parameter for \"wmem_max\"
  307.   Node Name Current Configured Required Status Comment
  308.   ---------------- ------------ ------------ ------------ ------------ ------------
  309.   node2 1048576 1048576 1048576 passed
  310.   node1 1048576 1048576 1048576 passed
  311. Result: Kernel parameter check passed for \"wmem_max\"
  312.  
  313. Check: Kernel parameter for \"aio-max-nr\"
  314.   Node Name Current Configured Required Status Comment
  315.   ---------------- ------------ ------------ ------------ ------------ ------------
  316.   node2 1048576 1048576 1048576 passed
  317.   node1 1048576 1048576 1048576 passed
  318. Result: Kernel parameter check passed for \"aio-max-nr\"
  319.  
  320. Check: Package existence for \"binutils\"
  321.   Node Name Available Required Status
  322.   ------------ ------------------------ ------------------------ ----------
  323.   node2 binutils-2.20.51.0.2-5.42.el6 binutils-2.20.51.0.2 passed
  324.   node1 binutils-2.20.51.0.2-5.42.el6 binutils-2.20.51.0.2 passed
  325. Result: Package existence check passed for \"binutils\"
  326.  
  327. Check: Package existence for \"compat-libcap1\"
  328.   Node Name Available Required Status
  329.   ------------ ------------------------ ------------------------ ----------
  330.   node2 compat-libcap1-1.10-1 compat-libcap1-1.10 passed
  331.   node1 compat-libcap1-1.10-1 compat-libcap1-1.10 passed
  332. Result: Package existence check passed for \"compat-libcap1\"
  333.  
  334. Check: Package existence for \"compat-libstdc++-33(x86_64)\"
  335.   Node Name Available Required Status
  336.   ------------ ------------------------ ------------------------ ----------
  337.   node2 compat-libstdc++-33(x86_64)-3.2.3-69.el6 compat-libstdc++-33(x86_64)-3.2.3 passed
  338.   node1 compat-libstdc++-33(x86_64)-3.2.3-69.el6 compat-libstdc++-33(x86_64)-3.2.3 passed
  339. Result: Package existence check passed for \"compat-libstdc++-33(x86_64)\"
  340.  
  341. Check: Package existence for \"libgcc(x86_64)\"
  342.   Node Name Available Required Status
  343.   ------------ ------------------------ ------------------------ ----------
  344.   node2 libgcc(x86_64)-4.4.7-11.el6 libgcc(x86_64)-4.4.4 passed
  345.   node1 libgcc(x86_64)-4.4.7-11.el6 libgcc(x86_64)-4.4.4 passed
  346. Result: Package existence check passed for \"libgcc(x86_64)\"
  347.  
  348. Check: Package existence for \"libstdc++(x86_64)\"
  349.   Node Name Available Required Status
  350.   ------------ ------------------------ ------------------------ ----------
  351.   node2 libstdc++(x86_64)-4.4.7-11.el6 libstdc++(x86_64)-4.4.4 passed
  352.   node1 libstdc++(x86_64)-4.4.7-11.el6 libstdc++(x86_64)-4.4.4 passed
  353. Result: Package existence check passed for \"libstdc++(x86_64)\"
  354.  
  355. Check: Package existence for \"libstdc++-devel(x86_64)\"
  356.   Node Name Available Required Status
  357.   ------------ ------------------------ ------------------------ ----------
  358.   node2 libstdc++-devel(x86_64)-4.4.7-11.el6 libstdc++-devel(x86_64)-4.4.4 passed
  359.   node1 libstdc++-devel(x86_64)-4.4.7-11.el6 libstdc++-devel(x86_64)-4.4.4 passed
  360. Result: Package existence check passed for \"libstdc++-devel(x86_64)\"
  361.  
  362. Check: Package existence for \"sysstat\"
  363.   Node Name Available Required Status
  364.   ------------ ------------------------ ------------------------ ----------
  365.   node2 sysstat-9.0.4-27.el6 sysstat-9.0.4 passed
  366.   node1 sysstat-9.0.4-27.el6 sysstat-9.0.4 passed
  367. Result: Package existence check passed for \"sysstat\"
  368.  
  369. Check: Package existence for \"gcc\"
  370.   Node Name Available Required Status
  371.   ------------ ------------------------ ------------------------ ----------
  372.   node2 gcc-4.4.7-11.el6 gcc-4.4.4 passed
  373.   node1 gcc-4.4.7-11.el6 gcc-4.4.4 passed
  374. Result: Package existence check passed for \"gcc\"
  375.  
  376. Check: Package existence for \"gcc-c++\"
  377.   Node Name Available Required Status
  378.   ------------ ------------------------ ------------------------ ----------
  379.   node2 gcc-c++-4.4.7-11.el6 gcc-c++-4.4.4 passed
  380.   node1 gcc-c++-4.4.7-11.el6 gcc-c++-4.4.4 passed
  381. Result: Package existence check passed for \"gcc-c++\"
  382.  
  383. Check: Package existence for \"ksh\"
  384.   Node Name Available Required Status
  385.   ------------ ------------------------ ------------------------ ----------
  386.   node2 ksh-20120801-21.el6 ksh-20100621 passed
  387.   node1 ksh-20120801-21.el6 ksh-20100621 passed
  388. Result: Package existence check passed for \"ksh\"
  389.  
  390. Check: Package existence for \"make\"
  391.   Node Name Available Required Status
  392.   ------------ ------------------------ ------------------------ ----------
  393.   node2 make-3.81-20.el6 make-3.81 passed
  394.   node1 make-3.81-20.el6 make-3.81 passed
  395. Result: Package existence check passed for \"make\"
  396.  
  397. Check: Package existence for \"glibc(x86_64)\"
  398.   Node Name Available Required Status
  399.   ------------ ------------------------ ------------------------ ----------
  400.   node2 glibc(x86_64)-2.12-1.149.el6 glibc(x86_64)-2.12 passed
  401.   node1 glibc(x86_64)-2.12-1.149.el6 glibc(x86_64)-2.12 passed
  402. Result: Package existence check passed for \"glibc(x86_64)\"
  403.  
  404. Check: Package existence for \"glibc-devel(x86_64)\"
  405.   Node Name Available Required Status
  406.   ------------ ------------------------ ------------------------ ----------
  407.   node2 glibc-devel(x86_64)-2.12-1.149.el6 glibc-devel(x86_64)-2.12 passed
  408.   node1 glibc-devel(x86_64)-2.12-1.149.el6 glibc-devel(x86_64)-2.12 passed
  409. Result: Package existence check passed for \"glibc-devel(x86_64)\"
  410.  
  411. Check: Package existence for \"libaio(x86_64)\"
  412.   Node Name Available Required Status
  413.   ------------ ------------------------ ------------------------ ----------
  414.   node2 libaio(x86_64)-0.3.107-10.el6 libaio(x86_64)-0.3.107 passed
  415.   node1 libaio(x86_64)-0.3.107-10.el6 libaio(x86_64)-0.3.107 passed
  416. Result: Package existence check passed for \"libaio(x86_64)\"
  417.  
  418. Check: Package existence for \"libaio-devel(x86_64)\"
  419.   Node Name Available Required Status
  420.   ------------ ------------------------ ------------------------ ----------
  421.   node2 libaio-devel(x86_64)-0.3.107-10.el6 libaio-devel(x86_64)-0.3.107 passed
  422.   node1 libaio-devel(x86_64)-0.3.107-10.el6 libaio-devel(x86_64)-0.3.107 passed
  423. Result: Package existence check passed for \"libaio-devel(x86_64)\"
  424.  
  425. Checking for multiple users with UID value 0
  426. Result: Check for multiple users with UID value 0 passed
  427.  
  428. Check: Current group ID
  429. Result: Current group ID check passed
  430.  
  431. Starting check for consistency of primary group of root user
  432.   Node Name Status
  433.   ------------------------------------ ------------------------
  434.   node2 passed
  435.   node1 passed
  436.  
  437. Check for consistency of root user\'s primary group passed
  438.  
  439. Starting Clock synchronization checks using Network Time Protocol(NTP)...
  440.  
  441. NTP Configuration file check started...
  442. Network Time Protocol(NTP) configuration file not found on any of the nodes. Oracle Cluster Time Synchronization Service(CTSS) can be used instead of NTP for time synchronization on the cluster nodes
  443. No NTP Daemons or Services were found to be running
  444.  
  445. Result: Clock synchronization check using Network Time Protocol(NTP) passed
  446.  
  447. Checking Core file name pattern consistency...
  448. Core file name pattern consistency check passed.
  449.  
  450. Checking to make sure user \"grid\" is not in \"root\" group
  451.   Node Name Status Comment
  452.   ------------ ------------------------ ------------------------
  453.   node2 passed does not exist
  454.   node1 passed does not exist
  455. Result: User \"grid\" is not part of \"root\" group. Check passed
  456.  
  457. Check default user file creation mask
  458.   Node Name Available Required Comment
  459.   ------------ ------------------------ ------------------------ ----------
  460.   node2 0022 0022 passed
  461.   node1 0022 0022 passed
  462. Result: Default user file creation mask check passed
  463. Checking consistency of file \"/etc/resolv.conf\" across nodes
  464.  
  465. Checking the file \"/etc/resolv.conf\" to make sure only one of domain and search entries is defined
  466. File \"/etc/resolv.conf\" does not have both domain and search entries defined
  467. Checking if domain entry in file \"/etc/resolv.conf\" is consistent across the nodes...
  468. domain entry in file \"/etc/resolv.conf\" is consistent across nodes
  469. Checking if search entry in file \"/etc/resolv.conf\" is consistent across the nodes...
  470. search entry in file \"/etc/resolv.conf\" is consistent across nodes
  471. Checking file \"/etc/resolv.conf\" to make sure that only one search entry is defined
  472. All nodes have one search entry defined in file \"/etc/resolv.conf\"
  473. Checking all nodes to make sure that search entry is \"rac.com\" as found on node \"node2\"
  474. All nodes of the cluster have same value for \'search\

3. Install GRID on GUI































 

 

Node1:

/u01/app/oraInventory/orainstRoot.sh

点击(此处)折叠或打开

  1. Changing permissions of /u01/app/oraInventory.
  2. Adding read,write permissions for group.
  3. Removing read,write,execute permissions for world.
  4.  
  5. Changing groupname of /u01/app/oraInventory to oinstall.
  6. The execution of the script is complete.

/u01/app/grid/root.sh

点击(此处)折叠或打开

  1. Performing root user operation for Oracle 11g
  2.  
  3. The following environment variables are set as:
  4.     ORACLE_OWNER= grid
  5.     ORACLE_HOME= /u01/app/grid
  6.  
  7. Enter the full pathname of the local bin directory: [/usr/local/bin]:
  8.    Copying dbhome to /usr/local/bin ...
  9.    Copying oraenv to /usr/local/bin ...
  10.    Copying coraenv to /usr/local/bin ...
  11.  
  12.  
  13. Creating /etc/oratab file...
  14. Entries will be added to the /etc/oratab file as needed by
  15. Database Configuration Assistant when a database is created
  16. Finished running generic part of root script.
  17. Now product-specific root actions will be performed.
  18. Using configuration parameter file: /u01/app/grid/crs/install/crsconfig_params
  19. Creating trace directory
  20. Installing Trace File Analyzer
  21. OLR initialization - successful
  22.   root wallet
  23.   root wallet cert
  24.   root cert export
  25.   peer wallet
  26.   profile reader wallet
  27.   pa wallet
  28.   peer wallet keys
  29.   pa wallet keys
  30.   peer cert request
  31.   pa cert request
  32.   peer cert
  33.   pa cert
  34.   peer root cert TP
  35.   profile reader root cert TP
  36.   pa root cert TP
  37.   peer pa cert TP
  38.   pa peer cert TP
  39.   profile reader pa cert TP
  40.   profile reader peer cert TP
  41.   peer user cert
  42.   pa user cert
  43. Adding Clusterware entries to upstart
  44. CRS-2672: Attempting to start \'ora.mdnsd\' on \'node1\'
  45. CRS-2676: Start of \'ora.mdnsd\' on \'node1\' succeeded
  46. CRS-2672: Attempting to start \'ora.gpnpd\' on \'node1\'
  47. CRS-2676: Start of \'ora.gpnpd\' on \'node1\' succeeded
  48. CRS-2672: Attempting to start \'ora.cssdmonitor\' on \'node1\'
  49. CRS-2672: Attempting to start \'ora.gipcd\' on \'node1\'
  50. CRS-2676: Start of \'ora.cssdmonitor\' on \'node1\' succeeded
  51. CRS-2676: Start of \'ora.gipcd\' on \'node1\' succeeded
  52. CRS-2672: Attempting to start \'ora.cssd\' on \'node1\'
  53. CRS-2672: Attempting to start \'ora.diskmon\' on \'node1\'
  54. CRS-2676: Start of \'ora.diskmon\' on \'node1\' succeeded
  55. CRS-2676: Start of \'ora.cssd\' on \'node1\' succeeded
  56.  
  57. ASM created and started successfully.
  58.  
  59. Disk Group CRSDATA created successfully.
  60.  
  61. clscfg: -install mode specified
  62. Successfully accumulated necessary OCR keys.
  63. Creating OCR keys for user \'root\', privgrp \'root\'..
  64. Operation successful.
  65. CRS-4256: Updating the profile
  66. Successful addition of voting disk 6af6811f40fa4f3fbf87183044ed416f.
  67. Successful addition of voting disk 431183d2a6f14f6ebfeaff63480174ff.
  68. Successful addition of voting disk 5f80140f93704f26bfd75b0550c74af2.
  69. Successfully replaced voting disk group with +CRSDATA.
  70. CRS-4256: Updating the profile
  71. CRS-4266: Voting file(s) successfully replaced
  72. ## STATE File Universal Id File Name Disk group
  73. -- ----- ----------------- --------- ---------
  74.  1. ONLINE 6af6811f40fa4f3fbf87183044ed416f (/dev/raw/raw1) [CRSDATA]
  75.  2. ONLINE 431183d2a6f14f6ebfeaff63480174ff (/dev/raw/raw2) [CRSDATA]
  76.  3. ONLINE 5f80140f93704f26bfd75b0550c74af2 (/dev/raw/raw3) [CRSDATA]
  77. Located 3 voting disk(s).
  78. CRS-2672: Attempting to start \'ora.asm\' on \'node1\'
  79. CRS-2676: Start of \'ora.asm\' on \'node1\' succeeded
  80. CRS-2672: Attempting to start \'ora.CRSDATA.dg\' on \'node1\'
  81. CRS-2676: Start of \'ora.CRSDATA.dg\' on \'node1\' succeeded
  82. Configure Oracle Grid Infrastructure for a Cluster ... succeeded

Node2:

/u01/app/oraInventory/orainstRoot.sh

点击(此处)折叠或打开

  1. Changing permissions of /u01/app/oraInventory.
  2. Adding read,write permissions for group.
  3. Removing read,write,execute permissions for world.
  4.  
  5. Changing groupname of /u01/app/oraInventory to oinstall.
  6. The execution of the script is complete.

/u01/app/grid/root.sh

点击(此处)折叠或打开

  1. Performing root user operation for Oracle 11g
  2.  
  3. The following environment variables are set as:
  4.     ORACLE_OWNER= grid
  5.     ORACLE_HOME= /u01/app/grid
  6.  
  7. Enter the full pathname of the local bin directory: [/usr/local/bin]:
  8.    Copying dbhome to /usr/local/bin ...
  9.    Copying oraenv to /usr/local/bin ...
  10.    Copying coraenv to /usr/local/bin ...
  11.  
  12.  
  13. Creating /etc/oratab file...
  14. Entries will be added to the /etc/oratab file as needed by
  15. Database Configuration Assistant when a database is created
  16. Finished running generic part of root script.
  17. Now product-specific root actions will be performed.
  18. Using configuration parameter file: /u01/app/grid/crs/install/crsconfig_params
  19. Creating trace directory
  20. Installing Trace File Analyzer
  21. OLR initialization - successful
  22. Adding Clusterware entries to upstart
  23. CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node node1, number 1, and is terminating
  24. An active cluster was found during exclusive startup, restarting to join the cluster
  25. Configure Oracle Grid Infrastructure for a Cluster ... succeeded

 

 

Use crs_stat -t check service startup on all nodes.

 

4. Storage option (VMware)

4.1 Create Shared Disks

vmware-vdiskmanager -c -a lsilogic -s 2GB -t 4 [Path/Disk Image(N)]

In VMware GUI add disks, and Change disk SCSI bus number to separate with main OS disk bus

4.2 Modify VMware configuration file

Edit .vmx file for all nodes, add scsi[N].SharedBus = "VIRTUAL" and disk.locking = "FALSE" parameters.

4.3 Bind Shared Disks to all nodes

Use udevadm info --export-db command to check udev device information.

Edit /etc/udev/rules.d/60-raw.rules or /etc/udev/rules.d/99-user.rules file to bind raw device.

'--------------------------------------------------------------------------------------------

ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw3 %N"

KERNEL=="raw[1-3]", OWNER="grid", GROUP="asmadmin", MODE="660"

--------------------------------------------------------------------------------------------'

Finally, use dd command to initialize all raw disks.

dd if=/dev/zero of=/dev/raw/raw1 bs=1M count=2048

dd if=/dev/zero of=/dev/raw/raw2 bs=1M count=2048

dd if=/dev/zero of=/dev/raw/raw3 bs=1M count=2048

 

5. Shutdown & Startup

5.1 Shutdown

With grid user privilege, execute csr_stop -all shutdown all services on all nodes. Can use crs_stop --help check more options.

5.2 Startup

Generally with nodes startup, CRS services on all nodes will startup automatically. If not and with grid privilege csr_start -all returned "CRS-0184: Cannot communicate with the CRS daemon." message, then with root privilege execute ./crsctl start crs first. Or with OS boot set crsctl enable crs and crsctl check crs

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24644775/viewspace-1395456/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-03-18

  • 博文量
    36
  • 访问量
    71135