위니쓰 2012. 8. 7. 07:56

disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
scsi1.sharedBus = "virtual"


scsi1:0.deviceType = "disk"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"
scsi1:4.deviceType = "disk"
scsi1:5.deviceType = "disk"


--vmware tool install
# cd /tmp
# gunzip -c /media/cdrom/VMwareTools-8.1.3-203739.tar.gz |tar xf -
# cd vmware-tools-distrib/
# ./vmware-install.pl


# ifconfig             //IP확인
# netstat -nr         //gatewqy 확인
# neat                //네트워크 설정

[root@rac1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:5C:14:40 
          inet addr:192.168.110.128  Bcast:192.168.110.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe5c:1440/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:342 (342.0 b)  TX bytes:6496 (6.3 KiB)
          Interrupt:19 Base address:0x2424

eth1      Link encap:Ethernet  HWaddr 00:0C:29:5C:14:4A 
          inet addr:192.168.107.128  Bcast:192.168.107.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe5c:144a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:342 (342.0 b)  TX bytes:6496 (6.3 KiB)
          Interrupt:16 Base address:0x24a4

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2050 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2050 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5619564 (5.3 MiB)  TX bytes:5619564 (5.3 MiB)

[root@rac1 ~]# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.110.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.107.0   0.0.0.0         255.255.255.0   U         0 0          0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
0.0.0.0         192.168.110.2   0.0.0.0         UG        0 0          0 eth0

 

vi /etc/hosts

# Public - (eth0)
192.168.110.128 rac1
192.168.110.129 rac2


# Private - (eth1)
192.168.107.128 rac1-priv
192.168.107.129 rac2-priv

# VIP
192.168.110.40 rac1-vip
192.168.110.41 rac2-vip

# Grid SCAN(dns)
192.168.110.1 rac-cluster-scan

--host name
rac1
192.168.107.1

네트워크 설정 후 재시작
# /etc/init.d/network restart

Ping Test
# ping 168.126.63.1

불 필요한 서비스 Off하기
chkconfig --level 123456 xinetd off
chkconfig --level 123456 sendmail off
chkconfig --level 123456 cups off
chkconfig --level 123456 cups-config-daemon off
chkconfig --level 123456 smartd off
chkconfig --level 123456 isdn off
chkconfig --level 123456 iptables off

# vi /etc/sysctl.conf
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.wmem_max = 1048576
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
fs.file-max = 6815744
fs.aio-max-nr = 1048576

# vi /etc/security/limits.conf
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

# vi /etc/pam.d/login
Session     required     pam_limits.so

# vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

# modprobe -v hangcheck-timer

# vi /etc/rc.local
/sbin/modprobe hangcheck-timer rdate -s 192.168.110.128

# vi /etc/profile
for i in /etc/profile.d/*.sh ; do
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . $i
        else
            . $i >/dev/null 2>&1
        fi
--여기부터 추가
if [ $USER = "oracle" ]; then
            if [ $SHELL = "/bin/ksh" ]; then
                      ulimit -p 16384
                      ulimit -n 65536
            else
                      ulimit -u 16384 -n 65536
            fi
            umask 022
    fi
--여기 까지
fi
done

NTP Service 파일 설정 ? 양쪽 노드간 TIME  sync를 반드시 필요
# vi /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid”   
※ 빨간색으로 표시한 부분 -x만 추가하면 된다.


# service ntpd restart
Shutting down ntpd: [FAILED]
ntpd: Synchronizing with time server: [ OK ]
Starting ntpd: [ OK ]


필수 RPM검사
# rpm ?qa RPM명
binutils   compat-libstdc++-33    elfutils-libelf    elfutils-libelf-   devel gcc gcc-c++    glibc   glibc-common   glibc-devel   glibc-headers   ksh   libaio libaio-devel   libgcc   libstdc++   libstdc++-devel   make   sysstat   unixODBC unixODBC-devel

User, group 생성, oracle passwd 설정
# groupadd -g 1000 oinstall
# groupadd -g 1200 dba
# useradd -u 1200 -g oinstall -G dba oracle
# passwd oracle

설치 디렉토리 생성(Grid, oracle database SW 설치용)
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
mkdir /u01/app/oracle/cfgtoollogs
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle.oinstall /u01
chmod -R 755 /u01

# vi .bash_profile
export GRID_HOME=/u01/app/11.2.0/grid
export PATH=$PATH:$HOME/bin:$GRID_HOME/bin

# su - oracle
$ vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac1
export ORACLE_UNQNAME=RAC
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export GRID_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=racdb1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

 

루트 계정으로 추가한 6개 디스크 파티션
# fdisk /dev/sdb
# fdisk /dev/sdc
# fdisk /dev/sdd
# fdisk /dev/sde
# fdisk /dev/sdf
# fdisk /dev/sdg

[root@rac1 ~]# fdisk /dev/sdb

Command (m for help):
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
Partition 1 is already defined.  Delete it before re-adding it.

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

ASM환경 설정
# oracleasm configure -i

[root@rac1 ~]# oracleasm configure -i
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface [oracle]: dba
Start Oracle ASM library driver on boot (y/n) [y]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done


마운드 포인트 생성 : 경로생김
# oracleasm init

마운트 포인트 생성은 안해도 되지만
/dev/oracleasm/경로 밑에 디스크가 생성됨

[root@rac1 ~]# oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm

 

공유 디스크 생성
# oracleasm createdisk ocr_vote01 /dev/sdb1
# oracleasm createdisk ocr_vote02 /dev/sdc1
# oracleasm createdisk ocr_vote03 /dev/sdd1
# oracleasm createdisk asm01 /dev/sde1
# oracleasm createdisk asm02 /dev/sdf1
# oracleasm createdisk asm03 /dev/sdg1

스캔작업
# oracleasm scandisks

생성 리스트 확인
# oracleasm listdisks

# chown -R oracle.oinstall /dev/oracleasm/

hostname
su -

reboot

ping rac1
ping rac2

ping rac1-priv
ping rac2-priv


grid 설치
eth0 192.168.110.0 public
eth1 192.168.107.0 private


/dev/oracleadm/disks

crs_stat -t

ora.gsd ora.gsd.type OFFLINE
ora.oc4j ora.oc4j.type OFFLINE
ora.rac1.gsd application OFFLINE
ora.rac2.gsd application OFFLINE
 
srvctl enable nodeapps -g
[root@rac1 u01]# srvctl start nodeapps
PRKO-2421 : Network resource is already started on node(s): rac2,rac1
PRKO-2420 : VIP is already started on node(s): rac2,rac1
PRKO-2420 : VIP is already started on node(s): rac2,rac1
PRKO-2422 : ONS is already started on node(s): rac2,rac1
PRKO-2423 : eONS is already started on node(s): rac2,rac1

[root@rac1 u01]# srvctl stop oc4j -f
OC4J failed to stop
PRCC-1016 : oc4j was already stopped
srvctl remove oc4j

ocrcheck

Oracle 11g RAC_ASM.pdf