이 페이지의 이전 버전을 보고 있습니다. 현재 버전 보기.

현재와 비교 페이지 이력 보기

« 이전 버전 3 다음 »


I.  개요

1. 사용 Software

제품명버전아키텍쳐배포 사이트
VirtualBox5.x호스트 환경에 따름https://www.virtualbox.org
Oracle Enterprise Linux6 (Update 8 이상)x86 64bit

https://edelivery.oracle.com/linux

Clusterware, Database11.2.0.4x86 64bithttps://support.oracle.com (My Oracle Support 권한 필요)

Oracle Database 12.1.0.2은 https://support.oracle.com에서 받을 수 있습니다.

2. 구성 계획

A) 서버

VMHost NameMemoryDiskNet Adapter 1Net Adapter 2구성 방법비고
RAC1rac12048MB30GB브리지 어댑터호스트 전용 어댑터리눅스 설치dnsmasq를 사용하여 DNS 구성
RAC2rac22048MB30GB브리지 어댑터호스트 전용 어댑터RAC1 복제dnsmasq를 사용하여 DNS 구성

리눅스 기반의 2 node RAC로 구성합니다.

B) 스토리지

파일 이름용량타입용도
RAWDEVICE.vdi20GBFixed / ShareableRaw Device 분할 할당

실습의 편의를 위해 하나의 가상 디스크를 VM에 등록하고 이를 분할하여 Raw Device로 할당하는 방식으로 구성합니다.

C) 네트워크

VMPublic IPPrivate IPVirtual IPNetmaskGatewayDNS ServerSCAN IP
RAC110.0.1.10110.0.5.10110.0.1.111255.255.255.010.0.1.110.0.1.101

10.0.1.110

RAC210.0.1.10210.0.5.10210.0.1.112255.255.255.010.0.1.110.0.1.102

Netmask의 경우 Public과 Private 모두 24bit(255.255.255.0)을 사용합니다.

인터넷 공유기 또는 Gateway의 IP에 맞춰 Public IP와 Virtual IP를 설정하기 바랍니다.

만약 공유기 IP가 192.168.0.1일 경우 Public IP와 VIP는 192.168.0.XXX로, Gateway는 192.168.0.1로 지정해야 합니다.

실습을 위해 별도의 DNS 서버 구성 없이 dnsmasq를 사용하여 RAC를 구축할 계획이므로 DNS는 자신의 IP로 지정합니다.

3. 호스트 환경

원활한 실습을 위해 64비트 운영체제에 16GB 이상의 메모리가 장착된 환경에서 작업하는 것을 권합니다.

디스크 I/O에 의한 지연을 최소화하기 위해 호스트의 OS가 설치되지 않은 별도의 내장 디스크를 사용하거나 SSD의 사용을 권합니다.

ESATA 또는 USB 3.0 이상의 빠른 속도를 보장하는 외장 디스크를 사용하는 것도 방법일 수 있습니다만 지속적인 연결이 보장되어야 합니다.

II. 리눅스 (OEL 6) 설치

{include} 를 처리할 수 없습니다 포함된 페이지를 찾을 수 없습니다.

III. OS 환경 설정

1. 설치 내역 확인

A) OS 버전 확인

root 유저로 수행
cat /etc/oracle-release
cat /etc/redhat-release
lsb_release -id
uname -r
[root@rac1 ~]# cat /etc/oracle-release
Oracle Linux Server release 6.8

[root@rac1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.8 (Santiago)

[root@rac1 ~]# lsb_release -id
Distributor ID:	OracleServer
Description:	Oracle Linux Server release 6.8

[root@rac1 ~]# uname -r
4.1.12-37.4.1.el6uek.x86_64

설치된 리눅스의 버전 정보를 확인합니다.

설치된 버전에 따라 출력되는 메시지는 다를 수 있습니다.

B) OS 패키지 확인

root 유저로 수행
rpm -q binutils-*
rpm -q compat-libcap1-*
rpm -q compat-libstdc++-33-*
rpm -q gcc-*
rpm -q gcc-c++-*
rpm -q glibc-*
rpm -q glibc-devel-*
rpm -q ksh
rpm -q libgcc-*
rpm -q libstdc++-*
rpm -q libstdc++-devel-*
rpm -q libaio-*
rpm -q libaio-devel-*
rpm -q libXext-*
rpm -q libXtst-*
rpm -q libX11-*
rpm -q libXau-*
rpm -q libxcb-*
rpm -q libXi-*
rpm -q make-*
rpm -q sysstat-*
[root@rac1 ~]# rpm -q binutils-*
binutils-2.20.51.0.2-5.44.el6.x86_64

[root@rac1 ~]# rpm -q compat-libcap1-*
compat-libcap1-1.10-1.x86_64

[root@rac1 ~]# rpm -q compat-libstdc++-33-*
compat-libstdc++-33-3.2.3-69.el6.x86_64

[root@rac1 ~]# rpm -q gcc-*
gcc-4.4.7-17.el6.x86_64

[root@rac1 ~]# rpm -q gcc-c++-*
gcc-c++-4.4.7-17.el6.x86_64

[root@rac1 ~]# rpm -q glibc-*
glibc-2.12-1.192.el6.x86_64
glibc-2.12-1.192.el6.i686

[root@rac1 ~]# rpm -q glibc-devel-*
glibc-devel-2.12-1.192.el6.x86_64

[root@rac1 ~]# rpm -q ksh
ksh-20120801-33.el6.x86_64

[root@rac1 ~]# rpm -q libgcc-*
libgcc-4.4.7-17.el6.x86_64
libgcc-4.4.7-17.el6.i686

[root@rac1 ~]# rpm -q libstdc++-*
libstdc++-4.4.7-17.el6.x86_64

[root@rac1 ~]# rpm -q libstdc++-devel-*
libstdc++-devel-4.4.7-17.el6.x86_64

[root@rac1 ~]# rpm -q libaio-*
libaio-0.3.107-10.el6.x86_64

[root@rac1 ~]# rpm -q libaio-devel-*
libaio-devel-0.3.107-10.el6.x86_64

[root@rac1 ~]# rpm -q libXext-*
libXext-1.3.3-1.el6.x86_64

[root@rac1 ~]# rpm -q libXtst-*
libXtst-1.2.2-2.1.el6.x86_64

[root@rac1 ~]# rpm -q libX11-*
libX11-1.6.3-2.el6.x86_64

[root@rac1 ~]# rpm -q libXau-*
libXau-1.0.6-4.el6.x86_64

[root@rac1 ~]# rpm -q libxcb-*
libxcb-1.11-2.el6.x86_64

[root@rac1 ~]# rpm -q libXi-*
libXi-1.7.4-1.el6.x86_64

[root@rac1 ~]# rpm -q make-*
make-3.81-23.el6.x86_64

[root@rac1 ~]# rpm -q sysstat-*
sysstat-9.0.4-31.el6.x86_64

오라클 소프트웨어 설치를 위해 필요한 OS 패키지가 모두 설치되었는지 확인합니다.

2. OS 설정 변경

A) 호스트 파일 수정

vi /etc/hosts
### Public
10.0.1.101 rac1
10.0.1.102 rac2
### Private
10.0.5.101 rac1-priv
10.0.5.102 rac2-priv
### Virtual
10.0.1.111 rac1-vip
10.0.1.112 rac2-vip
### SCAN
10.0.1.110 rac-scan

/etc/hosts 파일에 서버 정보를 추가합니다.

오라클 소프트웨어 설치를 정상적으로 진행하기 위해 정확한 정보를 입력해야 합니다.


B) 사전 설정 패키지 설치

root 유저로 설치
rpm -ivh oracle-rdbms-server-11gR2-preinstall-*.el6.x86_64.rpm
[root@rac1 ~]# cd /media/OL6.8\ x86_64\ Disc\ 1\ 20160518/Packages/

[root@rac1 Packages]# rpm -ivh oracle-rdbms-server-11gR2-preinstall-1.0-13.el6.x86_64.rpm
경고: oracle-rdbms-server-11gR2-preinstall-1.0-13.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
준비 중...               ########################################### [100%]
   1:oracle-rdbms-server-11g########################################### [100%]

11g R2 구성을 대비한 패키지를 설치합니다.

패키지 파일은 리눅스 설치 이미지를 이용하거나 http://yum.oracle.com 에서 다운로드할 수 있습니다.

C) tmpfs 수정

vi /etc/fstab
tmpfs                   /dev/shm                tmpfs   size=5g        0 0
root 유저로 수행
mount -o remount /dev/shm

오라클의 MEMORY_TARGET 파라미터를 사용하기 위해서 tmpfs를 변경해야 합니다.

기존에 설정된 tmpfs 값은 #로 주석 처리하거나 삭제합니다.

remount하여 바로 적용시킵니다.

D) 시스템 변수 수정

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

커널 변수를 수정하는 작업입니다.

 

oracle-rdbms-server-11gR2-preinstall 패키지가 설치되었다면 이미 반영된 내용이므로 생략해도 됩니다.

하지만 해당 패키지를 따로 설치하지 않은 상태에서 오라클 소프트웨어를 설치하려면 왼쪽의 내용을 /etc/sysctl.conf에 추가해야 합니다.

E) DNSMASQ 서비스 기동

root 유저로 수행
service dnsmasq start
chkconfig dnsmasq on
[root@rac1 ~]# service dnsmasq start
Starting dnsmasq:                                          [  OK  ]

별도의 DNS 서비스 없이 SCAN을 DNS에 등록된 것처럼 처리하기 위해 DNSMASQ 프로세스를 활성화합니다.

F) 미사용 프로세스 중지

root 유저로 수행
chkconfig --level 123456 xinetd off
chkconfig --level 123456 cups off
chkconfig --level 123456 smartd off
chkconfig --level 123456 iptables off
chkconfig --level 123456 ip6tables off
chkconfig --level 123456 bluetooth off

추가적인 리소스 확보를 위해 기본적으로 실행중인 불필요한 OS 프로그램을 off 시킵니다.

G) CTSS 사용을 위한 NTP 중지

root 유저로 수행
mv /etc/sysconfig/ntpd /etc/sysconfig/ntpd.original
mv /etc/ntp /etc/ntp.original
mv /etc/ntp.conf /etc/ntp.conf.original

실습 환경에서는 CTSS를 NTP 대신 사용할 것이므로 NTP 서비스를 중지하고 관련 파일을 삭제해야 합니다.

NTP 서비스가 기동중이거나 관련 파일이 있는 경우 CTSS는 observer mode로만 기동되므로 정리가 필요합니다.

H) SELINUX 설정 변경

vi /etc/sysconfig/selinux
SELINUX=permissive

Selinux 모드를 permissive로 변경합니다.

I) User Processes 설정 변경

vi /etc/security/limits.d/90-nproc.conf
# Change this
*          soft    nproc    1024

# To this
* 		   - 	   nproc    16384

프로세스 한도 제한을 오라클 권고사항에 맞게 1024에서 16384로 수정합니다.

3. 그룹 및 사용자 설정

A) 그룹 & 사용자 설정 변경

root 유저로 수행
# groupadd oinstall
# groupadd dba
groupadd oper
groupadd asmdba
groupadd asmoper
groupadd asmadmin
 
usermod -g oinstall -G dba,oper oracle
useradd -g oinstall -G dba,asmdba,asmoper,asmadmin grid
passwd oracle
passwd grid
[root@rac1 ~]# groupadd oper
[root@rac1 ~]# groupadd asmdba
[root@rac1 ~]# groupadd asmoper
[root@rac1 ~]# groupadd asmadmin

[root@rac1 ~]# usermod -g oinstall -G dba,oper,vboxsf oracle
[root@rac1 ~]# useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,vboxsf grid

[root@rac1 ~]# passwd oracle
oracle 사용자의 비밀 번호 변경 중
새  암호:
잘못된 암호: 사전에 있는 단어를 기반으로 합니다  
잘못된 암호: 너무 간단함
새  암호 재입력:
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
 
[root@rac1 ~]# passwd grid
grid 사용자의 비밀 번호 변경 중
새  암호:
잘못된 암호: 사전에 있는 단어를 기반으로 합니다  
잘못된 암호: 너무 간단함
새  암호 재입력:
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.

설치를 진행할 사용자 계정과 그룹을 생성 또는 추가합니다.

oracle-rdbms-server-11gR2-preinstall 패키지가 설치되었다면 oracle 유저와 oinstall, dba 그룹은 이미 생성되어 있습니다.

vboxsf 그룹은 VirtualBox의 Guest Addition을 사용하기 위한 그룹으로, 실제 운영 환경에서 Guest Addition을 사용하지 않는다면 추가하지 않습니다.

passwd 명령어로 각 계정의 암호를 지정해주면 됩니다.

B) 사용자별 프로세스 제한 변경

vi /etc/security/limits.conf
grid    hard   nproc   16384
grid    hard   nofile  65536

리소스 제한을 위한 사용자별 설정값을 입력합니다.

오라클을 설치하는 OS 계정에 맞게 oracle 또는 grid 유저별로 제한값을 입력합니다

C) 설치 경로 생성 및 권한 부여

root 유저로 수행
mkdir -p /u01/app/oracle/product
chown -R grid:oinstall /u01
chmod -R 770 /u01

오라클 소프트웨어 설치를 위한 경로를 생성하고, 해당 경로에 대한 권한과 소유권을 수정합니다.

D) root 유저 환경 설정

root 유저 : vi .bash_profile
export GRID_HOME=/u01/app/11.2.0/grid
export PATH=$GRID_HOME/bin:$PATH


E) grid 유저 환경 설정

grid 유저 : vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export EDITOR=vi
export ORACLE_HOSTNAME=rac1     # rac2 => 2번 노드
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/11.2.0/grid
export DB_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_HOME=$GRID_HOME
export ORACLE_SID=+ASM1     # +ASM2 => 2번 노드
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PS1='[\u@$ORACLE_SID \W]$ '

grid 계정으로 접속한 후에 .bash_profile을 수정합니다.

F) oracle 유저 환경 설정

oracle 유저 : vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export EDITOR=vi
export ORACLE_HOSTNAME=rac1     # rac2 => 2번 노드
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/11.2.0/grid
export DB_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=racdb1     # racdb2 => 2번 노드
export ORACLE_TERM=xterm
export BASE_PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_KOREA.AL32UTF8
export PS1='[\u@$ORACLE_SID \W]$ '

마찬가지로 oracle 계정으로 접속하여 .bash_profile을 수정합니다.

IV. 공유 스토리지 설정

{include} 를 처리할 수 없습니다 포함된 페이지를 찾을 수 없습니다.

V. 2번 노드 설정

{include} 를 처리할 수 없습니다 포함된 페이지를 찾을 수 없습니다.

VI. Grid 설치

1. Grid 설치 사전 설정

root 유저로 수행
cd <설치 파일 압축해제 경로>/grid/rpm/
rpm -ivh cvuqdisk-1.0.9-1.rpm
scp cvuqdisk-1.0.9-1.rpm root@[HOST_NAME2]:/tmp
ssh root@[HOST_NAME2]
cd /tmp
rpm -ivh cvuqdisk-1.0.9-1.rpm
[root@rac1 ~]# cd /media/sf_oracle/grid/rpm

[root@rac1 rpm]# rpm -ivh cvuqdisk-1.0.9-1.rpm
준비 중...               ########################################### [100%]
Using default group oinstall to install package
   1:cvuqdisk               ########################################### [100%]

[root@rac1 rpm]# scp cvuqdisk-1.0.9-1.rpm root@rac2:/tmp
The authenticity of host 'rac2 (10.0.1.102)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2,10.0.1.102' (RSA) to the list of known hosts.
root@rac2's password: 
cvuqdisk-1.0.9-1.rpm                                    100% 8288     8.1KB/s   00:00    


[root@rac1 rpm]# ssh root@rac2
root@rac2's password: 
Last login: Fri Apr  5 18:11:42 2019 from 10.0.1.1
[root@rac2 ~]# cd /tmp

[root@rac2 tmp]# rpm -ivh cvuqdisk-1.0.9-1.rpm
준비 중...               ########################################### [100%]
Using default group oinstall to install package
   1:cvuqdisk               ########################################### [100%]


grid 유저로 수행
cd <설치 파일 압축해제 경로>/grid/sshsetup
./sshUserSetup.sh -user [USER_NAME] -hosts "[HOST_NAME1] [HOST_NAME2]" -noPromptPassphrase -advanced
[grid@+ASM1 ~]$ cd /media/sf_oracle/grid/sshsetup

[grid@+ASM1 sshsetup]$ ./sshUserSetup.sh -user grid -hosts "rac1 rac2" -noPromptPassphrase -advanced
The output of this script is also logged into /tmp/sshUserSetup_2019-04-05-18-29-24.log
Hosts are rac1 rac2
user is grid
Platform:- Linux 
Checking if the remote hosts are reachable
PING rac1 (10.0.1.101) 56(84) bytes of data.
64 bytes from rac1 (10.0.1.101): icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=2 ttl=64 time=0.060 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=3 ttl=64 time=0.044 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=4 ttl=64 time=0.041 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=5 ttl=64 time=0.047 ms

--- rac1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4002ms
rtt min/avg/max/mdev = 0.027/0.043/0.060/0.013 ms
PING rac2 (10.0.1.102) 56(84) bytes of data.
64 bytes from rac2 (10.0.1.102): icmp_seq=1 ttl=64 time=0.392 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=2 ttl=64 time=0.443 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=3 ttl=64 time=0.483 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=4 ttl=64 time=0.439 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=5 ttl=64 time=0.893 ms

--- rac2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 0.392/0.530/0.893/0.183 ms
Remote host reachability check succeeded.
The following hosts are reachable: rac1 rac2.
The following hosts are not reachable: .
All hosts are reachable. Proceeding further...
firsthost rac1
numhosts 2
The script will setup SSH connectivity from the host rac1 to all
the remote hosts. After the script is executed, the user can use SSH to run
commands on the remote hosts or copy files between this host rac1
and the remote hosts without being prompted for passwords or confirmations.

NOTE 1:
As part of the setup procedure, this script will use ssh and scp to copy
files between the local host and the remote hosts. Since the script does not
store passwords, you may be prompted for the passwords during the execution of
the script whenever ssh or scp is invoked.

NOTE 2:
AS PER SSH REQUIREMENTS, THIS SCRIPT WILL SECURE THE USER HOME DIRECTORY
AND THE .ssh DIRECTORY BY REVOKING GROUP AND WORLD WRITE PRIVILEDGES TO THESE
directories.

Do you want to continue and let the script make the above mentioned changes (yes/no)?
yes

The user chose yes
User chose to skip passphrase related questions.
Creating .ssh directory on local host, if not present already
Creating authorized_keys file on local host
Changing permissions on authorized_keys to 644 on local host
Creating known_hosts file on local host
Changing permissions on known_hosts to 644 on local host
Creating config file on local host
If a config file exists already at /home/grid/.ssh/config, it would be backed up to /home/grid/.ssh/config.backup.
Removing old private/public keys on local host
Running SSH keygen on local host with empty passphrase
Generating public/private rsa key pair.
Your identification has been saved in /home/grid/.ssh/id_rsa.
Your public key has been saved in /home/grid/.ssh/id_rsa.pub.
The key fingerprint is:
15:a9:b4:5a:72:7d:bd:bc:4a:5f:89:a7:55:df:3d:07 grid@rac1
The key's randomart image is:
+--[ RSA 1024]----+
|          ..     |
|        . ..     |
|       . +.  .   |
|      . =.. . .  |
|       =S  . .E..|
|      .       +.*|
|            .. **|
|           . .=.o|
|            .o.  |
+-----------------+
Creating .ssh directory and setting permissions on remote host rac1
THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR grid. THIS IS AN SSH REQUIREMENT.
The script would create ~grid/.ssh/config file on remote host rac1. If a config file exists already at ~grid/.ssh/config, it would be backed up to ~grid/.ssh/config.backup.
The user may be prompted for a password here since the script would be running SSH on host rac1.
Warning: Permanently added 'rac1,10.0.1.101' (RSA) to the list of known hosts.
grid@rac1's password: 
Done with creating .ssh directory and setting permissions on remote host rac1.
Creating .ssh directory and setting permissions on remote host rac2
THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR grid. THIS IS AN SSH REQUIREMENT.
The script would create ~grid/.ssh/config file on remote host rac2. If a config file exists already at ~grid/.ssh/config, it would be backed up to ~grid/.ssh/config.backup.
The user may be prompted for a password here since the script would be running SSH on host rac2.
Warning: Permanently added 'rac2,10.0.1.102' (RSA) to the list of known hosts.
grid@rac2's password: 
Done with creating .ssh directory and setting permissions on remote host rac2.
Copying local host public key to the remote host rac1
The user may be prompted for a password or passphrase here since the script would be using SCP for host rac1.
grid@rac1's password: 
Done copying local host public key to the remote host rac1
Copying local host public key to the remote host rac2
The user may be prompted for a password or passphrase here since the script would be using SCP for host rac2.
grid@rac2's password: 
Done copying local host public key to the remote host rac2
Creating keys on remote host rac1 if they do not exist already. This is required to setup SSH on host rac1.

Creating keys on remote host rac2 if they do not exist already. This is required to setup SSH on host rac2.
Generating public/private rsa key pair.
Your identification has been saved in .ssh/id_rsa.
Your public key has been saved in .ssh/id_rsa.pub.
The key fingerprint is:
6a:5c:65:a6:ec:39:18:91:2e:3c:0e:33:b2:ec:1d:e5 grid@rac2
The key's randomart image is:
+--[ RSA 1024]----+
|                 |
|       .         |
|      o   +      |
|   . . o =       |
|. + +.o S        |
|.o =o+ * .       |
|.. ..E= +        |
|. . ..   .       |
| . .             |
+-----------------+
Updating authorized_keys file on remote host rac1
Updating known_hosts file on remote host rac1
Updating authorized_keys file on remote host rac2
Updating known_hosts file on remote host rac2
cat: /home/grid/.ssh/known_hosts.tmp: 그런 파일이나 디렉터리가 없습니다
cat: /home/grid/.ssh/authorized_keys.tmp: 그런 파일이나 디렉터리가 없습니다
SSH setup is complete.

------------------------------------------------------------------------
Verifying SSH setup
===================
The script will now run the date command on the remote nodes using ssh
to verify if ssh is setup correctly. IF THE SETUP IS CORRECTLY SETUP,
THERE SHOULD BE NO OUTPUT OTHER THAN THE DATE AND SSH SHOULD NOT ASK FOR
PASSWORDS. If you see any output other than date or are prompted for the
password, ssh is not setup correctly and you will need to resolve the
issue and set up ssh again.
The possible causes for failure could be:
1. The server settings in /etc/ssh/sshd_config file do not allow ssh
for user grid.
2. The server may have disabled public key based authentication.
3. The client public key on the server may be outdated.
4. ~grid or ~grid/.ssh on the remote host may not be owned by grid.
5. User may not have passed -shared option for shared remote users or
may be passing the -shared option for non-shared remote users.
6. If there is output in addition to the date, but no password is asked,
it may be a security alert shown as part of company policy. Append the
additional text to the <OMS HOME>/sysman/prov/resources/ignoreMessages.txt file.
------------------------------------------------------------------------
--rac1:--
Running /usr/bin/ssh -x -l grid rac1 date to verify SSH connectivity has been setup from local host to rac1.
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
2019. 04. 05. (금) 18:29:47 KST
------------------------------------------------------------------------
--rac2:--
Running /usr/bin/ssh -x -l grid rac2 date to verify SSH connectivity has been setup from local host to rac2.
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
2019. 04. 05. (금) 18:29:47 KST
------------------------------------------------------------------------
------------------------------------------------------------------------
Verifying SSH connectivity has been setup from rac1 to rac1
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
bash: -c: line 0: unexpected EOF while looking for matching `"'
bash: -c: line 1: syntax error: unexpected end of file
------------------------------------------------------------------------
------------------------------------------------------------------------
Verifying SSH connectivity has been setup from rac1 to rac2
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
bash: -c: line 0: unexpected EOF while looking for matching `"'
bash: -c: line 1: syntax error: unexpected end of file
------------------------------------------------------------------------
-Verification from complete-
SSH verification complete.


grid 유저로 모든 노드에서 확인
ssh [HOST_NAME1] date
ssh [HOST_NAME2] date
ssh [PRIVATE_NAME1] date
ssh [PRIVATE_NAME2]-priv date
[grid@+ASM1 ~]$ ssh rac1 date
2019. 04. 05. (금) 18:31:12 KST

[grid@+ASM1 ~]$ ssh rac2 date
2019. 04. 05. (금) 18:31:15 KST

[grid@+ASM1 ~]$ ssh rac1-priv date
The authenticity of host 'rac1-priv (10.0.5.101)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac1-priv,10.0.5.101' (RSA) to the list of known hosts.
2019. 04. 05. (금) 18:31:22 KST

[grid@+ASM1 ~]$ ssh rac2-priv date
The authenticity of host 'rac2-priv (10.0.5.102)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2-priv,10.0.5.102' (RSA) to the list of known hosts.
2019. 04. 05. (금) 18:31:27 KST
[grid@+ASM2 ~]$ ssh rac1 date
2019. 04. 05. (금) 18:31:30 KST

[grid@+ASM2 ~]$ ssh rac2 date
2019. 04. 05. (금) 18:31:33 KST

[grid@+ASM2 ~]$ ssh rac1-priv date
The authenticity of host 'rac1-priv (10.0.5.101)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac1-priv,10.0.5.101' (RSA) to the list of known hosts.
2019. 04. 05. (금) 18:31:40 KST

[grid@+ASM2 ~]$ ssh rac2-priv date
The authenticity of host 'rac2-priv (10.0.5.102)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2-priv,10.0.5.102' (RSA) to the list of known hosts.
2019. 04. 05. (금) 18:31:45 KST


grid 유저로 모든 노드에서 수행
mkdir -p /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
[grid@+ASM1 ~]$ mkdir -p /u01/app/oraInventory

[grid@+ASM1 ~]$ chmod -R 775 /u01/app/oraInventory

[grid@+ASM1 ~]$ ls -ltra /u01/app/oraInventory
합계 8
drwxrwxr-x. 2 grid oinstall 4096 2019-04-05 18:33 .
drwxrwx---. 5 grid oinstall 4096 2019-04-05 18:33 ..
[grid@+ASM2 ~]$ mkdir -p /u01/app/oraInventory

[grid@+ASM2 ~]$ chmod -R 775 /u01/app/oraInventory

[grid@+ASM2 ~]$ ls -ltra /u01/app/oraInventory
합계 8
drwxrwx---. 5 grid oinstall 4096 2019-04-05 18:33 ..
drwxrwxr-x. 2 grid oinstall 4096 2019-04-05 18:33 .


2. 설치 전 검증

grid 유저로 수행
cd <설치 파일 압축해제 경로>/grid
./runcluvfy.sh stage -pre crsinst -n [HOST_NAME1],[HOST_NAME2] -fixup -verbose
[grid@+ASM1 ~]$ cd /media/sf_oracle/grid

[grid@+ASM1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose

클러스터 서비스 설정에 대한 사전 확인 수행 

노드 연결 가능성을 검사하는 중...

검사: "rac1" 노드에서의 노드 연결 가능성
  대상 노드                                 연결 가능?                  
  ------------------------------------  ------------------------
  rac2                                  예                       
  rac1                                  예                       
결과: "rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다.


사용자 equivalence를 검사하는 중...

검사: 사용자 "grid"에 대한 사용자 equivalence
  노드 이름                                 상태                      
  ------------------------------------  ------------------------
  rac2                                  성공                      
  rac1                                  성공                      
결과: 사용자 "grid"에 대한 사용자 equivalence 검사를 성공했습니다.

노드 연결을 검사하는 중...

호스트 구성 파일 확인 중...
  노드 이름                                 상태                      
  ------------------------------------  ------------------------
  rac2                                  성공                      
  rac1                                  성공                      

호스트 구성 파일 확인을 성공했습니다.


"rac2" 노드에 대한 인터페이스 정보
 이름     IP 주소           서브넷             게이트웨이           Def. 게이트웨이      HW 주소             MTU   
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth0   10.0.1.102      10.0.1.0        0.0.0.0         10.0.1.1        08:00:27:F4:80:BB 1500  
 eth1   10.0.5.102      10.0.5.0        0.0.0.0         10.0.1.1        08:00:27:B8:4E:0E 1500  


"rac1" 노드에 대한 인터페이스 정보
 이름     IP 주소           서브넷             게이트웨이           Def. 게이트웨이      HW 주소             MTU   
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth0   10.0.1.101      10.0.1.0        0.0.0.0         10.0.1.1        08:00:27:9C:B9:81 1500  
 eth1   10.0.5.101      10.0.5.0        0.0.0.0         10.0.1.1        08:00:27:CB:58:2B 1500  


검사: "10.0.1.0" 서브넷에 대한 노드 연결
  소스                              대상                              접속됨?            
  ------------------------------  ------------------------------  ----------------
  rac2[10.0.1.102]                rac1[10.0.1.101]                예               
결과: rac2,rac1개의 노드를 사용하는 "10.0.1.0" 서브넷에 대한 노드 연결을 성공했습니다.


검사: "10.0.1.0" 서브넷의 TCP 접속
  소스                              대상                              접속됨?            
  ------------------------------  ------------------------------  ----------------
  rac1:10.0.1.101                 rac2:10.0.1.102                 성공              
결과: "10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다.


검사: "10.0.5.0" 서브넷에 대한 노드 연결
  소스                              대상                              접속됨?            
  ------------------------------  ------------------------------  ----------------
  rac2[10.0.5.102]                rac1[10.0.5.101]                예               
결과: rac2,rac1개의 노드를 사용하는 "10.0.5.0" 서브넷에 대한 노드 연결을 성공했습니다.


검사: "10.0.5.0" 서브넷의 TCP 접속
  소스                              대상                              접속됨?            
  ------------------------------  ------------------------------  ----------------
  rac1:10.0.5.101                 rac2:10.0.5.102                 성공              
결과: "10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다.


"10.0.1.0" 서브넷에서 발견된 VIP 후보로 적합한 인터페이스:
rac2 eth0:10.0.1.102
rac1 eth0:10.0.1.101

"10.0.5.0" 서브넷에서 발견된 전용 상호 접속 후보로 적합한 인터페이스:
rac2 eth1:10.0.5.102
rac1 eth1:10.0.5.101
서브넷 마스크 일관성 확인 중...
"10.0.1.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다.
"10.0.5.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다.
서브넷 마스크 일관성 검사를 성공했습니다.

결과: 노드 연결 검사를 성공했습니다.

멀티캐스트 통신을 검사하는 중...

멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.1.0" 서브넷을 검사하는 중...
멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.1.0" 서브넷 검사를 성공했습니다.

멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중...
멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.5.0" 서브넷 검사를 성공했습니다.

멀티캐스트 통신 검사를 성공했습니다.

ASMLib 구성을 검사하는 중입니다.
  노드 이름                                 상태                      
  ------------------------------------  ------------------------
  rac2                                  성공                      
  rac1                                  성공                      
결과: ASMLib 구성 검사를 성공했습니다.

검사: 총 메모리 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          1.9522GB (2047044.0KB)    1.5GB (1572864.0KB)       성공        
  rac1          1.9522GB (2047044.0KB)    1.5GB (1572864.0KB)       성공        
결과: 총 메모리 검사를 성공했습니다.

검사: 사용 가능한 메모리 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          1.8518GB (1941788.0KB)    50MB (51200.0KB)          성공        
  rac1          1.725GB (1808800.0KB)     50MB (51200.0KB)          성공        
결과: 사용 가능한 메모리 검사를 성공했습니다.

검사: 교체 공간 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          4GB (4194300.0KB)         2.9283GB (3070566.0KB)    성공        
  rac1          4GB (4194300.0KB)         2.9283GB (3070566.0KB)    성공        
결과: 교체 공간 검사를 성공했습니다.

검사: "rac2:/tmp"에 대한 여유 디스크 공간 
  경로                노드 이름         마운트 위치        사용 가능         필수            상태          
  ----------------  ------------  ------------  ------------  ------------  ------------
  /tmp              rac2          /             22.0244GB     1GB           성공          
결과: "rac2:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다.

검사: "rac1:/tmp"에 대한 여유 디스크 공간 
  경로                노드 이름         마운트 위치        사용 가능         필수            상태          
  ----------------  ------------  ------------  ------------  ------------  ------------
  /tmp              rac1          /             22.0056GB     1GB           성공          
결과: "rac1:/tmp"에 대한 여유 디스크 공간 검사를 성공했습니다.

검사: "grid"에 대한 사용자 존재 여부 
  노드 이름         상태                        설명                      
  ------------  ------------------------  ------------------------
  rac2          성공                        존재함(54322)              
  rac1          성공                        존재함(54322)              

UID 값이 54322인 다중 사용자를 검사하는 중
결과: UID 값이 54322인 다중 사용자 검사를 성공했습니다. 
결과: "grid"에 대한 사용자 존재 여부 검사를 성공했습니다.

검사: "oinstall"에 대한 그룹 존재 여부 
  노드 이름         상태                        설명                      
  ------------  ------------------------  ------------------------
  rac2          성공                        존재함                     
  rac1          성공                        존재함                     
결과: "oinstall"에 대한 그룹 존재 여부 검사를 성공했습니다.

검사: "dba"에 대한 그룹 존재 여부 
  노드 이름         상태                        설명                      
  ------------  ------------------------  ------------------------
  rac2          성공                        존재함                     
  rac1          성공                        존재함                     
결과: "dba"에 대한 그룹 존재 여부 검사를 성공했습니다.

검사: "oinstall" 그룹[기본]의 사용자 "grid"에 대한 멤버쉽
  노드 이름             사용자가 존재함      그룹이 존재함       그룹의 사용자       기본            상태          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              예             예             예             예             성공          
  rac1              예             예             예             예             성공          
결과: "oinstall" 그룹[기본]의 사용자 "grid"에 대한 멤버쉽 검사를 성공했습니다.

검사: "dba" 그룹의 사용자 "grid"에 대한 멤버쉽 
  노드 이름             사용자가 존재함      그룹이 존재함       그룹의 사용자       상태              
  ----------------  ------------  ------------  ------------  ----------------
  rac2              예             예             예             성공              
  rac1              예             예             예             성공              
결과: "dba" 그룹의 사용자 "grid"에 대한 멤버쉽 검사를 성공했습니다.

검사: 실행 레벨 
  노드 이름         실행 레벨                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          3                         3,5                       성공        
  rac1          5                         3,5                       성공        
결과: 실행 레벨 검사를 성공했습니다.

검사: "최대 열린 파일 기술자"에 대한 완전 제한 
  노드 이름             유형            사용 가능         필수            상태              
  ----------------  ------------  ------------  ------------  ----------------
  rac2              완전            65536         65536         성공              
  rac1              완전            65536         65536         성공              
결과: "최대 열린 파일 기술자"에 대한 완전 제한 검사를 성공했습니다.

검사: "최대 열린 파일 기술자"에 대한 부분 제한 
  노드 이름             유형            사용 가능         필수            상태              
  ----------------  ------------  ------------  ------------  ----------------
  rac2              부분            65536         1024          성공              
  rac1              부분            65536         1024          성공              
결과: "최대 열린 파일 기술자"에 대한 부분 제한 검사를 성공했습니다.

검사: "최대 사용자 프로세스"에 대한 완전 제한 
  노드 이름             유형            사용 가능         필수            상태              
  ----------------  ------------  ------------  ------------  ----------------
  rac2              완전            16384         16384         성공              
  rac1              완전            16384         16384         성공              
결과: "최대 사용자 프로세스"에 대한 완전 제한 검사를 성공했습니다.

검사: "최대 사용자 프로세스"에 대한 부분 제한 
  노드 이름             유형            사용 가능         필수            상태              
  ----------------  ------------  ------------  ------------  ----------------
  rac2              부분            16384         2047          성공              
  rac1              부분            16384         2047          성공              
결과: "최대 사용자 프로세스"에 대한 부분 제한 검사를 성공했습니다.

검사: 시스템 구조 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          x86_64                    x86_64                    성공        
  rac1          x86_64                    x86_64                    성공        
결과: 시스템 구조 검사를 성공했습니다.

검사: 커널 버전 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          4.1.12-124.16.4.el6uek.x86_64  2.6.32                    성공        
  rac1          4.1.12-124.16.4.el6uek.x86_64  2.6.32                    성공        
결과: 커널 버전 검사를 성공했습니다.

검사: "semmsl"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              250           250           250           성공              
  rac1              250           250           250           성공              
결과: "semmsl"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "semmns"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              32000         32000         32000         성공              
  rac1              32000         32000         32000         성공              
결과: "semmns"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "semopm"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              100           100           100           성공              
  rac1              100           100           100           성공              
결과: "semopm"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "semmni"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              128           128           128           성공              
  rac1              128           128           128           성공              
결과: "semmni"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "shmmax"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              4398046511104  4398046511104  1048086528    성공              
  rac1              4398046511104  4398046511104  1048086528    성공              
결과: "shmmax"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "shmmni"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              4096          4096          4096          성공              
  rac1              4096          4096          4096          성공              
결과: "shmmni"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "shmall"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              4294967296    4294967296    2097152       성공              
  rac1              4294967296    4294967296    2097152       성공              
결과: "shmall"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "file-max"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              6815744       6815744       6815744       성공              
  rac1              6815744       6815744       6815744       성공              
결과: "file-max"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "ip_local_port_range"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              between 9000.0 & 65500.0  between 9000.0 & 65500.0  between 9000.0 & 65500.0  성공              
  rac1              between 9000.0 & 65500.0  between 9000.0 & 65500.0  between 9000.0 & 65500.0  성공              
결과: "ip_local_port_range"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "rmem_default"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              262144        262144        262144        성공              
  rac1              262144        262144        262144        성공              
결과: "rmem_default"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "rmem_max"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              4194304       4194304       4194304       성공              
  rac1              4194304       4194304       4194304       성공              
결과: "rmem_max"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "wmem_default"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              262144        262144        262144        성공              
  rac1              262144        262144        262144        성공              
결과: "wmem_default"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "wmem_max"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              1048576       1048576       1048576       성공              
  rac1              1048576       1048576       1048576       성공              
결과: "wmem_max"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "aio-max-nr"에 대한 커널 매개변수 
  노드 이름             현재            구성됨           필수            상태            설명          
  ----------------  ------------  ------------  ------------  ------------  ------------
  rac2              1048576       1048576       1048576       성공              
  rac1              1048576       1048576       1048576       성공              
결과: "aio-max-nr"에 대한 커널 매개변수 검사를 성공했습니다.

검사: "binutils"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          binutils-2.20.51.0.2-5.48.el6  binutils-2.20.51.0.2      성공        
  rac1          binutils-2.20.51.0.2-5.48.el6  binutils-2.20.51.0.2      성공        
결과: "binutils"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "compat-libcap1"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          compat-libcap1-1.10-1     compat-libcap1-1.10       성공        
  rac1          compat-libcap1-1.10-1     compat-libcap1-1.10       성공        
결과: "compat-libcap1"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "compat-libstdc++-33(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          compat-libstdc++-33(x86_64)-3.2.3-69.el6  compat-libstdc++-33(x86_64)-3.2.3  성공        
  rac1          compat-libstdc++-33(x86_64)-3.2.3-69.el6  compat-libstdc++-33(x86_64)-3.2.3  성공        
결과: "compat-libstdc++-33(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "libgcc(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          libgcc(x86_64)-4.4.7-23.0.1.el6  libgcc(x86_64)-4.4.4      성공        
  rac1          libgcc(x86_64)-4.4.7-23.0.1.el6  libgcc(x86_64)-4.4.4      성공        
결과: "libgcc(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "libstdc++(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          libstdc++(x86_64)-4.4.7-23.0.1.el6  libstdc++(x86_64)-4.4.4   성공        
  rac1          libstdc++(x86_64)-4.4.7-23.0.1.el6  libstdc++(x86_64)-4.4.4   성공        
결과: "libstdc++(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "libstdc++-devel(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          libstdc++-devel(x86_64)-4.4.7-23.0.1.el6  libstdc++-devel(x86_64)-4.4.4  성공        
  rac1          libstdc++-devel(x86_64)-4.4.7-23.0.1.el6  libstdc++-devel(x86_64)-4.4.4  성공        
결과: "libstdc++-devel(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "sysstat"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          sysstat-9.0.4-33.el6_9.1  sysstat-9.0.4             성공        
  rac1          sysstat-9.0.4-33.el6_9.1  sysstat-9.0.4             성공        
결과: "sysstat"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "gcc"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          gcc-4.4.7-23.0.1.el6      gcc-4.4.4                 성공        
  rac1          gcc-4.4.7-23.0.1.el6      gcc-4.4.4                 성공        
결과: "gcc"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "gcc-c++"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          gcc-c++-4.4.7-23.0.1.el6  gcc-c++-4.4.4             성공        
  rac1          gcc-c++-4.4.7-23.0.1.el6  gcc-c++-4.4.4             성공        
결과: "gcc-c++"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "ksh"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          ksh-20120801-37.el6_9     ksh-20100621              성공        
  rac1          ksh-20120801-37.el6_9     ksh-20100621              성공        
결과: "ksh"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "make"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          make-3.81-23.el6          make-3.81                 성공        
  rac1          make-3.81-23.el6          make-3.81                 성공        
결과: "make"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "glibc(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          glibc(x86_64)-2.12-1.212.0.1.el6  glibc(x86_64)-2.12        성공        
  rac1          glibc(x86_64)-2.12-1.212.0.1.el6  glibc(x86_64)-2.12        성공        
결과: "glibc(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "glibc-devel(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          glibc-devel(x86_64)-2.12-1.212.0.1.el6  glibc-devel(x86_64)-2.12  성공        
  rac1          glibc-devel(x86_64)-2.12-1.212.0.1.el6  glibc-devel(x86_64)-2.12  성공        
결과: "glibc-devel(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "libaio(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          libaio(x86_64)-0.3.107-10.el6  libaio(x86_64)-0.3.107    성공        
  rac1          libaio(x86_64)-0.3.107-10.el6  libaio(x86_64)-0.3.107    성공        
결과: "libaio(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

검사: "libaio-devel(x86_64)"에 대한 패키지 존재 여부 
  노드 이름         사용 가능                     필수                        상태        
  ------------  ------------------------  ------------------------  ----------
  rac2          libaio-devel(x86_64)-0.3.107-10.el6  libaio-devel(x86_64)-0.3.107  성공        
  rac1          libaio-devel(x86_64)-0.3.107-10.el6  libaio-devel(x86_64)-0.3.107  성공        
결과: "libaio-devel(x86_64)"에 대한 패키지 존재 여부 검사를 성공했습니다.

UID 값이 0인 다중 사용자를 검사하는 중
결과: UID 값이 0인 다중 사용자 검사를 성공했습니다. 

검사: 현재 그룹 ID 
결과: 현재 그룹 ID 검사를 성공했습니다.

루트 사용자의 기본 그룹 일관성 검사를 시작하는 중입니다.
  노드 이름                                 상태                      
  ------------------------------------  ------------------------
  rac2                                  성공                      
  rac1                                  성공                      

루트 사용자의 기본 그룹에 대한 일관성 검사를 성공했습니다.

NTP(Network Time Protocol)를 사용하여 시계 동기화 검사를 시작하는 중...

NTP 구성 파일 검사가 시작되었습니다.
노드에서 NTP(Network Time Protocol) 구성 파일을 찾을 수 없습니다. 클러스터 노드에 대한 시간 동기화에 NTP 대신 Oracle CTSS(Cluster Time Synchronization Service)를 사용할 수 있습니다.
실행 중인 NTP 데몬 또는 서비스가 없는 것으로 확인되었습니다.

결과: NTP(Network Time Protocol)를 사용한 시계 동기화 검사를 성공했습니다.

코어 파일 이름 패턴 일관성을 검사하는 중...
코어 파일 이름 패턴 일관성 검사를 성공했습니다.

사용자 "grid"이(가) "root" 그룹에 속해 있지 않은지 확인하는 중입니다.
  노드 이름         상태                        설명                      
  ------------  ------------------------  ------------------------
  rac2          성공                        존재하지 않음                 
  rac1          성공                        존재하지 않음                 
결과: 사용자 "grid"이(가) "root" 그룹에 속해 있지 않습니다. 검사를 성공했습니다.

기본 사용자 파일 생성 마스크 검사
  노드 이름         사용 가능                     필수                        설명        
  ------------  ------------------------  ------------------------  ----------
  rac2          0022                      0022                      성공        
  rac1          0022                      0022                      성공        
결과: 기본 사용자 파일 생성 마스크 검사를 성공했습니다.
노드에서 "/etc/resolv.conf" 파일의 일관성을 검사하는 중

"/etc/resolv.conf" 파일에서 'domain' 및 'search' 항목이 하나씩만 정의되어 있는지 검사하는 중
"/etc/resolv.conf" 파일에 'domain' 항목과 'search' 항목이 모두 정의되지 않았습니다.
"/etc/resolv.conf" 파일의 'domain' 항목이 노드에서 일치하는지 여부를 검사하는 중...
"/etc/resolv.conf" 파일의 'domain' 항목이 노드에서 일치합니다.
"/etc/resolv.conf" 파일의 'search' 항목이 노드에서 일치하는지 여부를 검사하는 중...
"/etc/resolv.conf" 파일의 'search' 항목이 노드에서 일치합니다.
연결할 수 없는 노드에 대한 DNS 응답 시간을 검사하는 중
  노드 이름                                 상태                      
  ------------------------------------  ------------------------
  rac2                                  성공                      
  rac1                                  성공                      
모든 노드에서 연결할 수 없는 노드에 대한 DNS 응답 시간이 허용되는 제한 범위에 속합니다.

"/etc/resolv.conf" 파일이 노드에서 일치합니다.

검사: 시간대 일관성 
결과: 시간대 일관성 검사를 성공했습니다.

클러스터 서비스 설정에 대한 사전 확인을 성공했습니다.


3. Grid 설치 response 파일 설정

grid 유저로 response 파일 수정
cp <설치 파일 압축해제 경로>/grid/response/grid_install.rsp ~/.
vi ~/grid_install.rsp
vi ~/grid_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=[HOST_NAME1]
INVENTORY_LOCATION=[ORACLE_INVENTORY]
SELECTED_LANGUAGES=en,ko
oracle.install.option=CRS_CONFIG
ORACLE_BASE=[ORACLE_BASE]
ORACLE_HOME=[GRID_HOME]
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=[SCAN_NAME]
oracle.install.crs.config.gpnp.scanPort=[LISTENER_PORT]
oracle.install.crs.config.clusterName=[CLUSTER_NAME]
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.clusterNodes=[HOST_NAME1]:[VIP_NAME1],[HOST_NAME2]:[VIP_NAME2]
oracle.install.crs.config.networkInterfaceList=[PUBLIC_INTERFACE_NAME]:[PUBLIC_SUBNET]:1,[PRIVATE_INTERFACE_NAME]:[PRIVATE_SUBNET]:2
oracle.install.crs.config.storageOption=ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL
oracle.install.crs.config.useIPMI=false
oracle.install.asm.SYSASMPassword=[ASM_PASSWD]
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.AUSize=1
oracle.install.asm.diskGroup.disks=/dev/raw/raw6
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/raw/raw*
oracle.install.asm.monitorPassword=[HOST_NAME1]
oracle.install.asm.upgradeASM=false
oracle.installer.autoupdates.option=SKIP_UPDATES

grid_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=rac1
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,ko
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/11.2.0/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.gpnp.scanName=rac-scan
oracle.install.crs.config.gpnp.scanPort=1521
oracle.install.crs.config.clusterName=rac
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip
oracle.install.crs.config.networkInterfaceList=eth0:10.0.1.0:1,eth1:10.0.5.0:2
oracle.install.crs.config.storageOption=ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL
oracle.install.crs.config.useIPMI=false
oracle.install.asm.SYSASMPassword=oracle_4U
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.AUSize=1
oracle.install.asm.diskGroup.disks=/dev/raw/raw6
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/raw/raw*
oracle.install.asm.monitorPassword=oracle_4U
oracle.install.asm.upgradeASM=false
oracle.installer.autoupdates.option=SKIP_UPDATES


4. Grid 설치 수행

grid 유저로 수행
cd <설치 파일 압축해제 경로>/grid
./runInstaller -ignorePrereq -silent -force -responseFile ~/grid_install.rsp
[grid@+ASM1 grid]$ cd /media/sf_oracle/grid
 
[grid@+ASM1 grid]$ ./runInstaller -ignorePrereq -silent -force -responseFile ~/grid_install.rsp
Oracle Universal Installer 시작 중...

임시 공간 확인 중: 120MB 이상이어야 합니다..   실제 21508MB    성공
스왑 공간 확인 중: 150MB 이상이어야 합니다..   실제 4095MB    성공
다음에서 Oracle Universal Installer의 시작을 준비하는 중 /tmp/OraInstall2019-04-05_06-55-41PM. 기다리십시오.[grid@+ASM1 grid]$ 다음 위치에서 이 설치 세션의 로그를 찾을 수 있습니다.
 /u01/app/oraInventory/logs/installActions2019-04-05_06-55-41PM.log
Oracle Grid Infrastructure 11g의 설치을(를) 성공했습니다.
자세한 내용은 '/u01/app/oraInventory/logs/silentInstall2019-04-05_06-55-41PM.log'을(를) 확인하십시오.

루트 사용자로 다음 스크립트를 실행합니다.
	1. /u01/app/oraInventory/orainstRoot.sh
	2. /u01/app/11.2.0/grid/root.sh

다음 노드에서 /u01/app/oraInventory/orainstRoot.sh을(를) 실행하십시오.
[rac1, rac2]
다음 노드에서 /u01/app/11.2.0/grid/root.sh을(를) 실행하십시오.
[rac1, rac2]

설치 사용자로 다음 스크립트를 실행하여 구성을 완료하십시오.
	1. /u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file>

 	참고:
	1. 이 스크립트는 설치 프로그램이 실행된 동일한 호스트에서 실행해야 합니다. 
	2. 이 스크립트에는 비밀번호가 필요한 Configuration Assistant에 대한 작은 비밀번호 속성 파일이 필요합니다(설치 설명서 참조).


Successfully Setup Software.

installActions2019-04-05_06-55-41PM.log

silentInstall2019-04-05_06-55-41PM.log


5. root 유저 스크립트 수행

root 유저로 실행
/u01/app/oraInventory/orainstRoot.sh
[root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh
다음 권한 변경 중/u01/app/oraInventory.
그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다.
월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다.

그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall.
스크립트 실행이 완료되었습니다.
[root@rac2 ~]# /u01/app/oraInventory/orainstRoot.sh
다음 권한 변경 중/u01/app/oraInventory.
그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다.
월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다.

그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall.
스크립트 실행이 완료되었습니다.


root 유저로 실행
/u01/app/11.2.0/grid/root.sh
[root@rac1 ~]# /u01/app/11.2.0/grid/root.sh 
Check /u01/app/11.2.0/grid/install/root_rac1_2019-04-05_19-04-22.log for the output of root script
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
  root wallet
  root wallet cert
  root cert export
  peer wallet
  profile reader wallet
  pa wallet
  peer wallet keys
  pa wallet keys
  peer cert request
  pa cert request
  peer cert
  pa cert
  peer root cert TP
  profile reader root cert TP
  pa root cert TP
  peer pa cert TP
  pa peer cert TP
  profile reader pa cert TP
  profile reader peer cert TP
  peer user cert
  pa user cert
Adding Clusterware entries to upstart
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1'
CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1'
CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1'
CRS-2672: Attempting to start 'ora.gipcd' on 'rac1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac1'
CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded

ASM이 성공적으로 생성되고 시작되었습니다.

디스크 그룹 DATA이(가) 성공적으로 생성되었습니다.

clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 7d91b543779a4fdebfc8895c7fda9c05.
Successfully replaced voting disk group with +DATA.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   7d91b543779a4fdebfc8895c7fda9c05 (/dev/raw/raw6) [DATA]
Located 1 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'rac1'
CRS-2676: Start of 'ora.asm' on 'rac1' succeeded
CRS-2672: Attempting to start 'ora.DATA.dg' on 'rac1'
CRS-2676: Start of 'ora.DATA.dg' on 'rac1' succeeded
[1mConfigure Oracle Grid Infrastructure for a Cluster ... succeeded
[0m
[root@rac2 ~]# /u01/app/11.2.0/grid/root.sh 
Check /u01/app/11.2.0/grid/install/root_rac2_2019-04-05_19-11-19.log for the output of root script
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to upstart
CRS-4402: CSS 데몬이 배타 모드에서 시작되었지만 활성 CSS 데몬이 노드 rac1, 번호 1에서 발견되어 종료 중입니다.
An active cluster was found during exclusive startup, restarting to join the cluster
[1mConfigure Oracle Grid Infrastructure for a Cluster ... succeeded
[0m


6. Grid 설치 후 스크립트 수행

vi $GRID_HOME/cfgtoollogs/cfgrsp.properties 로 response 파일 생성
oracle.assistants.asm|S_ASMPASSWORD=[ASM_PASSWD]
oracle.assistants.asm|S_ASMMONITORPASSWORD=[ASM_PASSWD]
oracle.assistants.asm|S_ASMPASSWORD=oracle_4U
oracle.assistants.asm|S_ASMMONITORPASSWORD=oracle_4U


grid 유저로 수행
cd $GRID_HOME/cfgtoollogs
chmod 600 cfgrsp.properties
./configToolAllCommands RESPONSE_FILE=./cfgrsp.properties
[grid@+ASM1 grid]$ cd $GRID_HOME/cfgtoollogs
 
[grid@+ASM1 cfgtoollogs]$ chmod 600 cfgrsp.properties

[grid@+ASM1 cfgtoollogs]$ ./configToolAllCommands RESPONSE_FILE=./cfgrsp.properties
Setting the invPtrLoc to /u01/app/11.2.0/grid/oraInst.loc

perform - 작업 시작 중인 모드: configure

2019. 4. 5 오후 7:18:04 oracle.install.driver.oui.config.GenericInternalPlugIn invoke
정보: Executing ASMCA
2019. 4. 5 오후 7:18:04 oracle.install.driver.oui.config.GenericInternalPlugIn invoke
정보: Command /u01/app/11.2.0/grid/bin/asmca -silent -postConfigureASM -oui_internal  
2019. 4. 5 오후 7:18:04 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: ... GenericInternalPlugIn.handleProcess() entered.
2019. 4. 5 오후 7:18:04 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: ... GenericInternalPlugIn: getting configAssistantParmas.
2019. 4. 5 오후 7:18:04 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: ... GenericInternalPlugIn: checking secretArguments.
2019. 4. 5 오후 7:18:04 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: ... GenericInternalPlugIn: starting read loop.
2019. 4. 5 오후 7:18:13 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: Read: SYS_PASSWORD_PROMPT
2019. 4. 5 오후 7:18:13 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: Processing: SYS_PASSWORD_PROMPT for argument tag -sysAsmPassword
2019. 4. 5 오후 7:18:13 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: Read: ASMSNMP_PASSWORD_PROMPT
2019. 4. 5 오후 7:18:13 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: Processing: ASMSNMP_PASSWORD_PROMPT for argument tag -asmMonitorPassword
2019. 4. 5 오후 7:18:13 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: End of argument passing to stdin
2019. 4. 5 오후 7:18:16 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: Read: 
2019. 4. 5 오후 7:18:16 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: Read: PostConfiguration이 성공적으로 완료되었습니다.
2019. 4. 5 오후 7:18:16 oracle.install.driver.oui.config.GenericInternalPlugIn handleProcess
정보: Read: 

perform - 작업이 완료된 모드: configure

로그 파일을 확인할 수 있습니다./u01/app/11.2.0/grid/cfgtoollogs/oui/configActions2019-04-05_07-16-49-PM.log
###################################################
The action configuration is performing
------------------------------------------------------
The plug-in Update Inventory is running


/u01/app/11.2.0/grid/oui/bin/runInstaller -nowait -noconsole -waitforcompletion -ignoreSysPrereqs -updateNodeList -silent CRS=true "CLUSTER_NODES={rac1,rac2}" ORACLE_HOME=/u01/app/11.2.0/grid 
Oracle Universal Installer 시작 중...

스왑 공간 확인 중: 500MB 이상이어야 합니다..   실제 4076MB    성공
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory

The plug-in Update Inventory has successfully been performed
------------------------------------------------------
------------------------------------------------------
The plug-in Oracle Net Configuration Assistant is running


명령행 인수 분석:
    매개변수 "orahome" = /u01/app/11.2.0/grid
    매개변수 "orahnam" = Ora11g_gridinfrahome1
    매개변수 "instype" = typical
    매개변수 "inscomp" = client,oraclenet,javavm,server,ano
    매개변수 "insprtcl" = tcp
    매개변수 "cfg" = local
    매개변수 "authadp" = NO_VALUE
    매개변수 "responsefile" = /u01/app/11.2.0/grid/network/install/netca_typ.rsp
    매개변수 "silent" = true
    매개변수 "silent" = true
명령행 인수 분석을 완료했습니다.
Oracle Net Service 구성:
프로파일 구성이 완료되었습니다.
프로파일 구성이 완료되었습니다.
rac1...
rac2...
Oracle Net 리스너 시작:
    리스너가 성공적으로 시작되었습니다.
리스너 구성이 완료되었습니다.
Oracle Net Service 구성을 성공했습니다. 종료 코드는 다음과 같습니다. 0

The plug-in Oracle Net Configuration Assistant has successfully been performed
------------------------------------------------------
------------------------------------------------------
The plug-in Automatic Storage Management Configuration Assistant is running


The plug-in Automatic Storage Management Configuration Assistant has successfully been performed
------------------------------------------------------
------------------------------------------------------
The plug-in Oracle Cluster Verification Utility is running


클러스터 서비스 설정에 대한 사후 확인 수행 

노드 연결 가능성을 검사하는 중...
"rac1" 노드에서 노드 연결 가능성 검사를 성공했습니다.


사용자 equivalence를 검사하는 중...
사용자 "grid"에 대한 사용자 equivalence 검사를 성공했습니다.

노드 연결을 검사하는 중...

호스트 구성 파일 확인 중...

호스트 구성 파일 확인을 성공했습니다.

검사: "eth0" 인터페이스에 대한 노드 연결
"eth0" 인터페이스에 대한 노드 연결을 성공했습니다.
"10.0.1.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다.


검사: "eth1" 인터페이스에 대한 노드 연결
"eth1" 인터페이스에 대한 노드 연결을 성공했습니다.
"10.0.5.0" 서브넷에 대한 TCP 접속 검사를 성공했습니다.

서브넷 마스크 일관성 확인 중...
"10.0.1.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다.
"10.0.5.0" 서브넷에 대한 서브넷 마스크 일관성 검사를 성공했습니다.
서브넷 마스크 일관성 검사를 성공했습니다.

노드 연결 검사를 성공했습니다.

멀티캐스트 통신을 검사하는 중...

멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.1.0" 서브넷을 검사하는 중...
멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.1.0" 서브넷 검사를 성공했습니다.

멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위해 "10.0.5.0" 서브넷을 검사하는 중...
멀티캐스트 그룹 "230.0.1.0"과(와) 멀티캐스트 통신을 위한 "10.0.5.0" 서브넷 검사를 성공했습니다.

멀티캐스트 통신 검사를 성공했습니다.
시간대 일관성 검사를 성공했습니다.

Oracle 클러스터 선호 디스크 구성을 검사하는 중...

ASM 실행 여부 검사를 성공했습니다. ASM이 지정된 모든 노드에서 실행 중입니다.

Oracle 클러스터 선호 디스크 구성 검사를 성공했습니다.

클러스터 관리자 무결성을 검사하는 중... 


CSS 데몬을 검사하는 중...
Oracle Cluster Synchronization Services가 온라인입니다.

클러스터 관리자 무결성 검사를 성공했습니다.


OCR 위치에 대한 UDev 속성 검사가 시작되었습니다.
OCR 위치에 대한 UDev 속성 검사를 성공했습니다. 


선호 디스크 위치에 대한 UDev 속성 검사가 시작되었습니다.
선호 디스크 위치에 대한 UDev 속성 검사를 성공했습니다. 

기본 사용자 파일 생성 마스크 검사를 성공했습니다.

클러스터 무결성을 검사하는 중...


클러스터 무결성 검사를 성공했습니다.


OCR 무결성을 검사하는 중...

클러스터화되지 않은 구성이 없는지 검사하는 중...
모든 노드에 클러스터화되지 않은 로컬 전용 구성이 없습니다.


ASM 실행 여부 검사를 성공했습니다. ASM이 지정된 모든 노드에서 실행 중입니다.

OCR 구성 파일 "/etc/oracle/ocr.loc"을(를) 검사하는 중...

OCR 구성 파일 "/etc/oracle/ocr.loc" 검사를 성공했습니다.


모든 노드에서 사용 가능한 OCR 위치 "+DATA"에 대한 디스크 그룹


NOTE: 
이 검사는 OCR 콘텐츠의 무결성을 확인하지 않습니다. OCR 콘텐츠를 확인하려면 권한이 있는 사용자로 'ocrcheck'를 실행하십시오.

OCR 무결성 검사를 성공했습니다.

CRS 무결성을 검사하는 중...

Clusterware 버전 일관성 검사를 성공했습니다.

CRS 무결성 검사를 성공했습니다.

노드 응용 프로그램의 존재 여부를 검사하는 중...

VIP 노드 응용 프로그램이 존재하는지 검사하는 중(필수)
VIP 노드 응용 프로그램 검사를 성공했습니다.

NETWORK 노드 응용 프로그램이 존재하는지 검사하는 중(필수)
NETWORK 노드 응용 프로그램 검사를 성공했습니다.

GSD 노드 응용 프로그램이 존재하는지 검사하는 중(선택 사항)
GSD 노드 응용 프로그램이 "rac2,rac1" 노드에서 오프라인 상태입니다.

ONS 노드 응용 프로그램이 존재하는지 검사하는 중(선택 사항)
ONS 노드 응용 프로그램 검사를 성공했습니다.


SCAN(단일 클라이언트 액세스 이름) 검사 중...

SCAN 리스너에 대한 TCP 접속을 검사하는 중...
SCAN 리스너에 대한 TCP 접속이 모든 클러스터 노드에 존재합니다.

"rac-scan"에 대한 이름 분석 설정을 검사하는 중...

Checking integrity of name service switch configuration file "/etc/nsswitch.conf" ...
All nodes have same "hosts" entry defined in file "/etc/nsswitch.conf"
Check for integrity of name service switch configuration file "/etc/nsswitch.conf" passed


SCAN VIP 및 리스너 설정 확인을 성공했습니다.

OLR 무결성 검사 중...

OLR 구성 파일 확인 중...

OLR 구성 파일 확인을 성공했습니다.


OLR 파일 속성 확인 중...

OLR 파일 확인을 성공했습니다.


WARNING: 
이 검사는 OLR 콘텐츠의 무결성을 확인하지 않습니다. OLR 콘텐츠를 확인하려면 권한이 있는 사용자로 'ocrcheck -local'을 실행하십시오.

OLR 무결성 검사를 성공했습니다.

사용자 "grid"이(가) "root" 그룹에 속해 있지 않습니다. 검사를 성공했습니다.

모든 노드에 Clusterware가 설치되었는지 여부를 검사하는 중...
Clusterware 설치 검사를 성공했습니다.

CTSS 리소스가 모든 노드에서 실행 중인지 여부를 검사하는 중...
CTSS 리소스 검사를 성공했습니다.


모든 노드에서 시간 오프셋에 대해 CTSS를 질의하는 중...
시간 오프셋에 대한 CTSS 질의를 성공했습니다.

CTSS 상태 검사가 시작되었습니다.
CTSS가 활성 상태입니다. 모든 노드에서 시계 시간 오프셋 검사가 계속 진행됩니다.
시계 시간 오프셋 검사를 성공했습니다.


Oracle Cluster Time Synchronization Service 검사를 성공했습니다.
VIP 구성을 검사하는 중입니다.
VIP 서브넷 구성을 검사하는 중입니다.
VIP 서브넷 구성 검사를 성공했습니다.
VIP 연결 가능성을 검사하는 중
VIP 연결 가능성 검사를 성공했습니다.

클러스터 서비스 설정에 대한 사후 확인을 성공했습니다. 

The plug-in Oracle Cluster Verification Utility has successfully been performed
------------------------------------------------------
The action configuration has successfully completed
###################################################


7. Grid 설치 결과 확인

클러스터 상태 확인
crsctl stat res -t
[root@rac2 ~]# crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.asm
               ONLINE  ONLINE       rac1                     Started
               ONLINE  ONLINE       rac2                     Started
ora.gsd
               OFFLINE OFFLINE      rac1
               OFFLINE OFFLINE      rac2
ora.net1.network
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.ons
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac1
ora.cvu
      1        ONLINE  ONLINE       rac1
ora.oc4j
      1        ONLINE  ONLINE       rac1
ora.rac1.vip
      1        ONLINE  ONLINE       rac1
ora.rac2.vip
      1        ONLINE  ONLINE       rac2
ora.scan1.vip
      1        ONLINE  ONLINE       rac1


8. 리스너 추가

grid 유저로 리스너 추가
srvctl add listener -listener LISTENER


VII. Raw Device 적용

1. OCR 영역 이관

root 유저로 실행
ocrconfig -add /dev/raw/raw1
ocrconfig -add /dev/raw/raw2
ocrconfig -delete +DATA
ocrcheck
[root@rac1 ~]# ocrcheck
Status of Oracle Cluster Registry is as follows :
	 Version                  :          3
	 Total space (kbytes)     :     262120
	 Used space (kbytes)      :       2592
	 Available space (kbytes) :     259528
	 ID                       : 1638877609
	 Device/File Name         :      +DATA
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

	 Cluster registry integrity check succeeded

	 Logical corruption check succeeded

[root@rac1 ~]# ocrconfig -add /dev/raw/raw1

[root@rac1 ~]# ocrconfig -add /dev/raw/raw2

[root@rac1 ~]# ocrconfig -delete +DATA

[root@rac1 ~]# ocrcheck
Status of Oracle Cluster Registry is as follows :
	 Version                  :          3
	 Total space (kbytes)     :     262120
	 Used space (kbytes)      :       2592
	 Available space (kbytes) :     259528
	 ID                       : 1638877609
	 Device/File Name         : /dev/raw/raw1
                                    Device/File integrity check succeeded
	 Device/File Name         : /dev/raw/raw2
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

	 Cluster registry integrity check succeeded

	 Logical corruption check succeeded
[root@rac2 ~]# ocrcheck
Status of Oracle Cluster Registry is as follows :
	 Version                  :          3
	 Total space (kbytes)     :     262120
	 Used space (kbytes)      :       2592
	 Available space (kbytes) :     259528
	 ID                       : 1638877609
	 Device/File Name         : /dev/raw/raw1
                                    Device/File integrity check succeeded
	 Device/File Name         : /dev/raw/raw2
                                    Device/File integrity check succeeded

                                    Device/File not configured

                                    Device/File not configured

                                    Device/File not configured

	 Cluster registry integrity check succeeded

	 Logical corruption check succeeded


2. Vote 영역 이관

root 유저로 실행
crsctl replace votedisk /dev/raw/raw3
crsctl add css votedisk /dev/raw/raw4
crsctl add css votedisk /dev/raw/raw5
crsctl query css votedisk
[root@rac1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   7d91b543779a4fdebfc8895c7fda9c05 (/dev/raw/raw6) [DATA]
Located 1 voting disk(s).

[root@rac1 ~]# crsctl replace votedisk /dev/raw/raw3
Now formatting voting disk: /dev/raw/raw3.
CRS-4256: Updating the profile
Successful addition of voting disk 6012122d0b004f6dbf3b539e7e5efc8b.
Successful deletion of voting disk 7d91b543779a4fdebfc8895c7fda9c05.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced

[root@rac1 ~]# crsctl add css votedisk /dev/raw/raw4
Now formatting voting disk: /dev/raw/raw4.
CRS-4603: Successful addition of voting disk /dev/raw/raw4.

[root@rac1 ~]# crsctl add css votedisk /dev/raw/raw5
Now formatting voting disk: /dev/raw/raw5.
CRS-4603: Successful addition of voting disk /dev/raw/raw5.

[root@rac1 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   6012122d0b004f6dbf3b539e7e5efc8b (/dev/raw/raw3) []
 2. ONLINE   5f9279ef3b094fcabf100009ee30dd50 (/dev/raw/raw4) []
 3. ONLINE   6f3d260d7afd4fd0bfa50ba5d83a347e (/dev/raw/raw5) []
Located 3 voting disk(s).
[root@rac2 ~]# crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   6012122d0b004f6dbf3b539e7e5efc8b (/dev/raw/raw3) []
 2. ONLINE   5f9279ef3b094fcabf100009ee30dd50 (/dev/raw/raw4) []
 3. ONLINE   6f3d260d7afd4fd0bfa50ba5d83a347e (/dev/raw/raw5) []
Located 3 voting disk(s).


3. ASM 삭제 및 ASM 할당 디스크 초기화

grid 유저로 실행
crsctl stat res -t
srvctl stop diskgroup -g data
srvctl stop asm
srvctl remove diskgroup -g data
srvctl disable asm
srvctl remove asm
[grid@+ASM1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
               ONLINE  ONLINE       oraw1
               ONLINE  ONLINE       oraw2
ora.LISTENER.lsnr
               ONLINE  ONLINE       oraw1
               ONLINE  ONLINE       oraw2
ora.asm
               ONLINE  ONLINE       oraw1                    Started
               ONLINE  ONLINE       oraw2                    Started
ora.gsd
               OFFLINE OFFLINE      oraw1
               OFFLINE OFFLINE      oraw2
ora.net1.network
               ONLINE  ONLINE       oraw1
               ONLINE  ONLINE       oraw2
ora.ons
               ONLINE  ONLINE       oraw1
               ONLINE  ONLINE       oraw2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oraw1
ora.cvu
      1        ONLINE  ONLINE       oraw1
ora.oc4j
      1        ONLINE  ONLINE       oraw1
ora.oraw1.vip
      1        ONLINE  ONLINE       oraw1
ora.oraw2.vip
      1        ONLINE  ONLINE       oraw2
ora.scan1.vip
      1        ONLINE  ONLINE       oraw1

[grid@+ASM1 ~]$ srvctl stop diskgroup -g data

[grid@+ASM1 ~]$ srvctl stop asm

[grid@+ASM1 ~]$ srvctl remove diskgroup -g data

[grid@+ASM1 ~]$ srvctl disable asm

[grid@+ASM1 ~]$ srvctl remove asm

[grid@+ASM1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       oraw1
               ONLINE  ONLINE       oraw2
ora.gsd
               OFFLINE OFFLINE      oraw1
               OFFLINE OFFLINE      oraw2
ora.net1.network
               ONLINE  ONLINE       oraw1
               ONLINE  ONLINE       oraw2
ora.ons
               ONLINE  ONLINE       oraw1
               ONLINE  ONLINE       oraw2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oraw1
ora.cvu
      1        ONLINE  ONLINE       oraw1
ora.oc4j
      1        ONLINE  ONLINE       oraw1
ora.oraw1.vip
      1        ONLINE  ONLINE       oraw1
ora.oraw2.vip
      1        ONLINE  ONLINE       oraw2
ora.scan1.vip
      1        ONLINE  ONLINE       oraw1


root 유저로 실행
dd if=/dev/zero of=/dev/raw/raw6 bs=1024k count=1024
[root@rac1 ~]# dd if=/dev/zero of=/dev/raw/raw6 bs=1024k count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 11.2279 s, 95.6 MB/s


VIII. DBMS 설치

1. Database 설치 사전 작업

oracle 유저로 수행
cd <설치 파일 압축해제 경로>/database/sshsetup
./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -advanced
[oracle@racdb1 ~]$ cd /media/sf_oracle/database/sshsetup

[oracle@racdb1 sshsetup]$ ./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -advanced
The output of this script is also logged into /tmp/sshUserSetup_2019-04-05-21-20-37.log
Hosts are rac1 rac2
user is oracle
Platform:- Linux 
Checking if the remote hosts are reachable
PING rac1 (10.0.1.101) 56(84) bytes of data.
64 bytes from rac1 (10.0.1.101): icmp_seq=1 ttl=64 time=0.032 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=2 ttl=64 time=0.040 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=3 ttl=64 time=0.043 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=4 ttl=64 time=0.049 ms
64 bytes from rac1 (10.0.1.101): icmp_seq=5 ttl=64 time=0.064 ms

--- rac1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 0.032/0.045/0.064/0.013 ms
PING rac2 (10.0.1.102) 56(84) bytes of data.
64 bytes from rac2 (10.0.1.102): icmp_seq=1 ttl=64 time=0.352 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=2 ttl=64 time=0.507 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=3 ttl=64 time=0.485 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=4 ttl=64 time=0.436 ms
64 bytes from rac2 (10.0.1.102): icmp_seq=5 ttl=64 time=0.490 ms

--- rac2 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 0.352/0.454/0.507/0.056 ms
Remote host reachability check succeeded.
The following hosts are reachable: rac1 rac2.
The following hosts are not reachable: .
All hosts are reachable. Proceeding further...
firsthost rac1
numhosts 2
The script will setup SSH connectivity from the host rac1 to all
the remote hosts. After the script is executed, the user can use SSH to run
commands on the remote hosts or copy files between this host rac1
and the remote hosts without being prompted for passwords or confirmations.

NOTE 1:
As part of the setup procedure, this script will use ssh and scp to copy
files between the local host and the remote hosts. Since the script does not
store passwords, you may be prompted for the passwords during the execution of
the script whenever ssh or scp is invoked.

NOTE 2:
AS PER SSH REQUIREMENTS, THIS SCRIPT WILL SECURE THE USER HOME DIRECTORY
AND THE .ssh DIRECTORY BY REVOKING GROUP AND WORLD WRITE PRIVILEDGES TO THESE
directories.

Do you want to continue and let the script make the above mentioned changes (yes/no)?
yes

The user chose yes
User chose to skip passphrase related questions.
Creating .ssh directory on local host, if not present already
Creating authorized_keys file on local host
Changing permissions on authorized_keys to 644 on local host
Creating known_hosts file on local host
Changing permissions on known_hosts to 644 on local host
Creating config file on local host
If a config file exists already at /home/oracle/.ssh/config, it would be backed up to /home/oracle/.ssh/config.backup.
Removing old private/public keys on local host
Running SSH keygen on local host with empty passphrase
Generating public/private rsa key pair.
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
94:86:59:e1:8a:63:88:6b:57:86:3c:6c:1b:7f:8f:d6 oracle@rac1
The key's randomart image is:
+--[ RSA 1024]----+
|        o.       |
|       = .       |
|      o =        |
| .o... +         |
|. .B+o. S        |
| ...B.           |
|.. o . ..        |
|. .   ..oE       |
|      .. .       |
+-----------------+
Creating .ssh directory and setting permissions on remote host rac1
THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT.
The script would create ~oracle/.ssh/config file on remote host rac1. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup.
The user may be prompted for a password here since the script would be running SSH on host rac1.
Warning: Permanently added 'rac1,10.0.1.101' (RSA) to the list of known hosts.
oracle@rac1's password: 
Done with creating .ssh directory and setting permissions on remote host rac1.
Creating .ssh directory and setting permissions on remote host rac2
THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT.
The script would create ~oracle/.ssh/config file on remote host rac2. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup.
The user may be prompted for a password here since the script would be running SSH on host rac2.
Warning: Permanently added 'rac2,10.0.1.102' (RSA) to the list of known hosts.
oracle@rac2's password: 
Done with creating .ssh directory and setting permissions on remote host rac2.
Copying local host public key to the remote host rac1
The user may be prompted for a password or passphrase here since the script would be using SCP for host rac1.
oracle@rac1's password: 
Done copying local host public key to the remote host rac1
Copying local host public key to the remote host rac2
The user may be prompted for a password or passphrase here since the script would be using SCP for host rac2.
oracle@rac2's password: 
Done copying local host public key to the remote host rac2
Creating keys on remote host rac1 if they do not exist already. This is required to setup SSH on host rac1.

Creating keys on remote host rac2 if they do not exist already. This is required to setup SSH on host rac2.
Generating public/private rsa key pair.
Your identification has been saved in .ssh/id_rsa.
Your public key has been saved in .ssh/id_rsa.pub.
The key fingerprint is:
6a:9e:49:dc:cc:2b:cc:09:db:69:34:7e:55:04:c2:c2 oracle@rac2
The key's randomart image is:
+--[ RSA 1024]----+
|     . .. ..     |
|      E ..  .    |
|       .   .     |
|            .    |
|        S  .     |
|    ..o=  .      |
|     O=++.       |
|    .+Xo..       |
|     .+o.        |
+-----------------+
Updating authorized_keys file on remote host rac1
Updating known_hosts file on remote host rac1
Updating authorized_keys file on remote host rac2
Updating known_hosts file on remote host rac2
cat: /home/oracle/.ssh/known_hosts.tmp: 그런 파일이나 디렉터리가 없습니다
cat: /home/oracle/.ssh/authorized_keys.tmp: 그런 파일이나 디렉터리가 없습니다
SSH setup is complete.

------------------------------------------------------------------------
Verifying SSH setup
===================
The script will now run the date command on the remote nodes using ssh
to verify if ssh is setup correctly. IF THE SETUP IS CORRECTLY SETUP,
THERE SHOULD BE NO OUTPUT OTHER THAN THE DATE AND SSH SHOULD NOT ASK FOR
PASSWORDS. If you see any output other than date or are prompted for the
password, ssh is not setup correctly and you will need to resolve the
issue and set up ssh again.
The possible causes for failure could be:
1. The server settings in /etc/ssh/sshd_config file do not allow ssh
for user oracle.
2. The server may have disabled public key based authentication.
3. The client public key on the server may be outdated.
4. ~oracle or ~oracle/.ssh on the remote host may not be owned by oracle.
5. User may not have passed -shared option for shared remote users or
may be passing the -shared option for non-shared remote users.
6. If there is output in addition to the date, but no password is asked,
it may be a security alert shown as part of company policy. Append the
additional text to the <OMS HOME>/sysman/prov/resources/ignoreMessages.txt file.
------------------------------------------------------------------------
--rac1:--
Running /usr/bin/ssh -x -l oracle rac1 date to verify SSH connectivity has been setup from local host to rac1.
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
2019. 04. 05. (금) 21:20:59 KST
------------------------------------------------------------------------
--rac2:--
Running /usr/bin/ssh -x -l oracle rac2 date to verify SSH connectivity has been setup from local host to rac2.
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
2019. 04. 05. (금) 21:20:59 KST
------------------------------------------------------------------------
------------------------------------------------------------------------
Verifying SSH connectivity has been setup from rac1 to rac1
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
bash: -c: line 0: unexpected EOF while looking for matching `"'
bash: -c: line 1: syntax error: unexpected end of file
------------------------------------------------------------------------
------------------------------------------------------------------------
Verifying SSH connectivity has been setup from rac1 to rac2
IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
bash: -c: line 0: unexpected EOF while looking for matching `"'
bash: -c: line 1: syntax error: unexpected end of file
------------------------------------------------------------------------
-Verification from complete-
SSH verification complete.


oracle 유저로 모든 노드에서 확인
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
oracle@racdb1 ~]$ ssh rac1 date
2019. 04. 05. (금) 21:21:42 KST

[oracle@racdb1 ~]$ ssh rac2 date
2019. 04. 05. (금) 21:21:46 KST

[oracle@racdb1 ~]$ ssh rac1-priv date
The authenticity of host 'rac1-priv (10.0.5.101)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac1-priv,10.0.5.101' (RSA) to the list of known hosts.
2019. 04. 05. (금) 21:21:52 KST

[oracle@racdb1 ~]$ ssh rac2-priv date
The authenticity of host 'rac2-priv (10.0.5.102)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2-priv,10.0.5.102' (RSA) to the list of known hosts.
2019. 04. 05. (금) 21:21:57 KST
[oracle@racdb2 ~]$ ssh rac1 date
2019. 04. 05. (금) 21:22:37 KST

[oracle@racdb2 ~]$ ssh rac2 date
2019. 04. 05. (금) 21:22:40 KST

[oracle@racdb2 ~]$ ssh rac1-priv date
The authenticity of host 'rac1-priv (10.0.5.101)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac1-priv,10.0.5.101' (RSA) to the list of known hosts.
2019. 04. 05. (금) 21:22:45 KST

[oracle@racdb2 ~]$ ssh rac2-priv date
The authenticity of host 'rac2-priv (10.0.5.102)' can't be established.
RSA key fingerprint is 12:cf:8a:65:85:4c:2d:9d:bd:b8:92:3f:49:6c:2d:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2-priv,10.0.5.102' (RSA) to the list of known hosts.
2019. 04. 05. (금) 21:22:51 KST


root 유저로 모든 노드에서 수행
chmod 775 /u01/app/oracle
# cd $ORACLE_BASE/diag/kfod/<호스트명>/kfod
# chmod 775 *
[root@rac1 ~]# chmod 775 /u01/app/oracle
[root@rac2 ~]# chmod 775 /u01/app/oracle


2. Database 설치 response 파일 설정

oracle 유저로 response 파일 수정
cp <설치 파일 압축해제 경로>/database/response/db_install.rsp ~/.
vi ~/db_install.rsp
vi ~/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=[HOST_NAME1]
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=[ORACLE_INVENTORY]
SELECTED_LANGUAGES=en,ko
ORACLE_HOME=[DB_HOME]
ORACLE_BASE=[ORACLE_BASE]
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=[HOST_NAME1],[HOST_NAME2]
oracle.install.db.isRACOneInstall=false
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true

grid_install.rsp

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=rac1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en,ko
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.CLUSTER_NODES=rac1,rac2
oracle.install.db.isRACOneInstall=false
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true


3. Database 설치 수행

oracle 유저로 수행
cd <설치 파일 압축해제 경로>/database
./runInstaller -silent -ignorePrereq -ignoreSysPreReqs -responseFile ~/db_install.rsp
[oracle@racdb1 database]$ ./runInstaller -silent -ignorePrereq -ignoreSysPreReqs -responseFile ~/db_install.rsp
Oracle Universal Installer 시작 중...

임시 공간 확인 중: 120MB 이상이어야 합니다..   실제 17496MB    성공
스왑 공간 확인 중: 150MB 이상이어야 합니다..   실제 4095MB    성공
다음에서 Oracle Universal Installer의 시작을 준비하는 중 /tmp/OraInstall2019-04-05_09-43-18PM. 기다리십시오.[oracle@racdb1 database]$ 다음 위치에서 이 설치 세션의 로그를 찾을 수 있습니다.
 /u01/app/oraInventory/logs/installActions2019-04-05_09-43-18PM.log
Oracle Database 11g의 설치을(를) 성공했습니다.
자세한 내용은 '/u01/app/oraInventory/logs/silentInstall2019-04-05_09-43-18PM.log'을(를) 확인하십시오.

루트 사용자로 다음 스크립트를 실행합니다.
	1. /u01/app/oracle/product/11.2.0/db_1/root.sh

다음 노드에서 /u01/app/oracle/product/11.2.0/db_1/root.sh을(를) 실행하십시오.
[rac1, rac2]

Successfully Setup Software.

installActions2019-04-05_09-43-18PM.log

silentInstall2019-04-05_09-43-18PM.log


4. root 유저 스크립트 수행

root 유저로 실행
/u01/app/oracle/product/11.2.0/db_1/root.sh
[root@rac1 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
Check /u01/app/oracle/product/11.2.0/db_1/install/root_rac1_2019-04-05_21-57-37.log for the output of root script
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/db_1
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Finished product-specific root actions.
[root@rac2 ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
Check /u01/app/oracle/product/11.2.0/db_1/install/root_rac2_2019-04-05_21-57-45.log for the output of root script
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/db_1
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
Finished product-specific root actions.


IX. RAC Database 생성

1. Database 생성

A) 작업 스크립트 준비

oracle 유저로 생성
mkdir -p $ORACLE_BASE/admin/[DB_NAME]/scripts
cd $ORACLE_BASE/admin/[DB_NAME]/scripts
[oracle@racdb1 ~]$ mkdir -p $ORACLE_BASE/admin/racdb/scripts
 
[oracle@racdb1 ~]$ cd $ORACLE_BASE/admin/racdb/scripts

스크립트 생성 디렉토리를 $ORACLE_BASE 경로 아래에 생성합니다.

작업할 스크립트를 모두 이곳에 저장합니다.

oracle 유저로 vi racDB.sh 생성
#!/bin/sh

OLD_UMASK=`umask`
umask 0027
mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/adump
mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/dpdump
mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/hdump
mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/pfile
mkdir -p [ORACLE_BASE]/cfgtoollogs/dbca/[DB_NAME]
ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/adump"
ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/dpdump"
ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/hdump"
ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/admin/[DB_NAME]/pfile"
ssh oracle@[HOST_NAME2] "mkdir -p [ORACLE_BASE]/cfgtoollogs/dbca/[DB_NAME]"
umask ${OLD_UMASK}
ORACLE_SID=[ORACLE_SID1]; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
echo You should Add this entry in the /etc/oratab: [ORACLE_SID]:[DB_HOME]:N
[DB_HOME]/bin/sqlplus /nolog @[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateRACDB.sql
#!/bin/sh
 
OLD_UMASK=`umask`
umask 0027
mkdir -p /u01/app/oracle/admin/racdb/adump
mkdir -p /u01/app/oracle/admin/racdb/dpdump
mkdir -p /u01/app/oracle/admin/racdb/hdump
mkdir -p /u01/app/oracle/admin/racdb/pfile
mkdir -p /u01/app/oracle/cfgtoollogs/dbca/racdb
ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/adump"
ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/dpdump"
ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/hdump"
ssh oracle@rac2 "mkdir -p /u01/app/oracle/admin/racdb/pfile"
ssh oracle@rac2 "mkdir -p /u01/app/oracle/cfgtoollogs/dbca/racdb":
umask ${OLD_UMASK}
ORACLE_SID=racdb1; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
echo You should Add this entry in the /etc/oratab: racdb:/u01/app/oracle/product/11.2.0/db_1:N
/u01/app/oracle/product/11.2.0/db_1/bin/sqlplus /nolog @/u01/app/oracle/admin/racdb/scripts/CreateRACDB.sql

데이터베이스 생성을 위해 필요한 디렉토리를 만들고 전체 작업을 수행할 메인 스크립트를 생성합니다.

괄호 [] 안에 표시된 변수 부분은 실제 설치할 환경에 해당되는 내용으로 수정하여 저장하도록 합니다.

[ORACLE_BASE] : 오라클 소프트웨어 설치 베이스 경로

[DB_NAME] : 데이터베이스 명

[HOST_NAME2] : 2번 노드의 서버 명

[ORACLE_SID1] : 1번 인스턴스 명

[ORACLE_SID] : 각 노드의 인스턴스 명

[DB_HOME] : 데이터베이스 소프트웨어 설치 경로

oracle 유저로 vi CreateRACDB.sql 생성
set verify off
ACCEPT sysPassword CHAR PROMPT 'Enter new password for SYS: ' HIDE
ACCEPT systemPassword CHAR PROMPT 'Enter new password for SYSTEM: ' HIDE
host [DB_HOME]/bin/orapwd file=[DB_HOME]/dbs/orapw[ORACLE_SID1] force=y
host ssh oracle@[HOST_NAME2] "[DB_HOME]/bin/orapwd file=[DB_HOME]/dbs/orapw[ORACLE_SID2] force=y"
host [GRID_HOME]/bin/setasmgidwrap o=[DB_HOME]/bin/oracle

host [DB_HOME]/bin/srvctl add database -d [DB_NAME] -o [DB_HOME] -p /dev/raw/raw20 -n [DB_NAME]
host [DB_HOME]/bin/srvctl add instance -d [DB_NAME] -i [ORACLE_SID1] -n [HOST_NAME1]
host [DB_HOME]/bin/srvctl add instance -d [DB_NAME] -i [ORACLE_SID2] -n [HOST_NAME2]
host [DB_HOME]/bin/srvctl disable database -d [DB_NAME]
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDB.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBFiles.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBCatalog.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateJVM.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateClustDBViews.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOracleText.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateXDB.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateORDSchema.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateMultiMedia.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOLAP.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateSpatial.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateEMRepos.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateAPEX.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOWB.sql
host echo "SPFILE='/dev/raw/raw20'" > [DB_HOME]/dbs/init[ORACLE_SID1].ora
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/lockAccount.sql
@[ORACLE_BASE]/admin/[DB_NAME]/scripts/postDBCreation.sql
set verify off
ACCEPT sysPassword CHAR PROMPT 'Enter new password for SYS: ' HIDE
ACCEPT systemPassword CHAR PROMPT 'Enter new password for SYSTEM: ' HIDE
host /u01/app/oracle/product/11.2.0/db_1/bin/orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapwracdb1 force=y
host ssh oracle@rac2 "/u01/app/oracle/product/11.2.0/db_1/bin/orapwd file=/u01/app/oracle/product/11.2.0/db_1/dbs/orapwracdb2 force=y"
host /u01/app/11.2.0/grid/bin/setasmgidwrap o=/u01/app/oracle/product/11.2.0/db_1/bin/oracle
host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl add database -d racdb -o /u01/app/oracle/product/11.2.0/db_1 -p /dev/raw/raw20 -n racdb
host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl add instance -d racdb -i racdb1 -n rac1
host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl add instance -d racdb -i racdb2 -n rac2
host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl disable database -d racdb
@/u01/app/oracle/admin/racdb/scripts/CreateDB.sql
@/u01/app/oracle/admin/racdb/scripts/CreateDBFiles.sql
@/u01/app/oracle/admin/racdb/scripts/CreateDBCatalog.sql
@/u01/app/oracle/admin/racdb/scripts/CreateJVM.sql
@/u01/app/oracle/admin/racdb/scripts/CreateClustDBViews.sql
@/u01/app/oracle/admin/racdb/scripts/CreateOracleText.sql
@/u01/app/oracle/admin/racdb/scripts/CreateXDB.sql
--@/u01/app/oracle/admin/racdb/scripts/CreateORDSchema.sql
--@/u01/app/oracle/admin/racdb/scripts/CreateMultiMedia.sql
--@/u01/app/oracle/admin/racdb/scripts/CreateOLAP.sql
--@/u01/app/oracle/admin/racdb/scripts/CreateSpatial.sql
--@/u01/app/oracle/admin/racdb/scripts/CreateEMRepos.sql
--@/u01/app/oracle/admin/racdb/scripts/CreateAPEX.sql
--@/u01/app/oracle/admin/racdb/scripts/CreateOWB.sql
host echo "SPFILE='/dev/raw/raw20'" > /u01/app/oracle/product/11.2.0/db_1/dbs/initracdb1.ora
@/u01/app/oracle/admin/racdb/scripts/lockAccount.sql
@/u01/app/oracle/admin/racdb/scripts/postDBCreation.sql

서비스에 등록하고 각각의 SQL 스크립트를 수행할 스크립트를 생성합니다.

괄호 [] 안에 표시된 변수 부분은 실제 설치할 환경에 해당되는 내용으로 수정하여 저장하도록 합니다.

[DB_HOME]

[ORACLE_SID1]

[GRID_HOME]

[DB_NAME]

[ORACLE_SID1]

[HOST_NAME1]

[ORACLE_SID2]

[HOST_NAME2]

[ORACLE_BASE]

oracle 유저로 vi CreateDB.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDB.log append
startup nomount pfile="[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora";
CREATE DATABASE "[DB_NAME]"
MAXINSTANCES 32
MAXLOGHISTORY 1
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
DATAFILE '/dev/raw/raw6' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/dev/raw/raw7' SIZE 699M AUTOEXTEND OFF
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/raw/raw9' SIZE 699M AUTOEXTEND OFF
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/raw/raw10' SIZE 699M AUTOEXTEND OFF
CHARACTER SET KO16MSWIN949
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/dev/raw/raw14') SIZE 199M,
GROUP 2 ('/dev/raw/raw15') SIZE 199M,
GROUP 3 ('/dev/raw/raw16') SIZE 199M
USER SYS IDENTIFIED BY "&&sysPassword" USER SYSTEM IDENTIFIED BY "&&systemPassword";
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateDB.log append
startup nomount pfile="/u01/app/oracle/admin/racdb/scripts/init.ora";
CREATE DATABASE "racdb"
MAXINSTANCES 32
MAXLOGHISTORY 1
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
DATAFILE '/dev/raw/raw6' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/dev/raw/raw7' SIZE 699M AUTOEXTEND OFF
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/raw/raw9' SIZE 699M AUTOEXTEND OFF
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/raw/raw10' SIZE 699M AUTOEXTEND OFF
CHARACTER SET KO16MSWIN949
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('/dev/raw/raw14') SIZE 199M,
GROUP 2 ('/dev/raw/raw15') SIZE 199M,
GROUP 3 ('/dev/raw/raw16') SIZE 199M
USER SYS IDENTIFIED BY "&&sysPassword" USER SYSTEM IDENTIFIED BY "&&systemPassword";
spool off


oracle 유저로 vi CreateDBFiles.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBFiles.log append
CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS2" DATAFILE '/dev/raw/raw11' SIZE 699M AUTOEXTEND OFF;
CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/dev/raw/raw8' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO;
ALTER DATABASE DEFAULT TABLESPACE "USERS";
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateDBFiles.log append
CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS2" DATAFILE '/dev/raw/raw11' SIZE 699M AUTOEXTEND OFF;
CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '/dev/raw/raw8' SIZE 699M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT  AUTO;
ALTER DATABASE DEFAULT TABLESPACE "USERS";
spool off


oracle 유저로 vi CreateDBCatalog.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateDBCatalog.log append
@[DB_HOME]/rdbms/admin/catalog.sql;
@[DB_HOME]/rdbms/admin/catblock.sql;
@[DB_HOME]/rdbms/admin/catproc.sql;
@[DB_HOME]/rdbms/admin/catoctk.sql;
@[DB_HOME]/rdbms/admin/owminst.plb;
connect "SYSTEM"/"&&systemPassword"
set echo on
@[DB_HOME]/sqlplus/admin/pupbld.sql;
@[DB_HOME]/sqlplus/admin/help/hlpbld.sql helpus.sql;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateDBCatalog.log append
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catalog.sql;
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catblock.sql;
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catproc.sql;
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catoctk.sql;
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/owminst.plb;
connect "SYSTEM"/"&&systemPassword"
set echo on
@/u01/app/oracle/product/11.2.0/db_1/sqlplus/admin/pupbld.sql;
@/u01/app/oracle/product/11.2.0/db_1/sqlplus/admin/help/hlpbld.sql helpus.sql;
spool off


oracle 유저로 vi CreateJVM.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateJVM.log append
@[DB_HOME]/javavm/install/initjvm.sql;
@[DB_HOME]/xdk/admin/initxml.sql;
@[DB_HOME]/xdk/admin/xmlja.sql;
@[DB_HOME]/rdbms/admin/catjava.sql;
@[DB_HOME]/rdbms/admin/catxdbj.sql;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateJVM.log append
@/u01/app/oracle/product/11.2.0/db_1/javavm/install/initjvm.sql;
@/u01/app/oracle/product/11.2.0/db_1/xdk/admin/initxml.sql;
@/u01/app/oracle/product/11.2.0/db_1/xdk/admin/xmlja.sql;
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catjava.sql;
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catxdbj.sql;
spool off


oracle 유저로 vi CreateClustDBViews.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateClustDBViews.log append
@[DB_HOME]/rdbms/admin/catclust.sql;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateClustDBViews.log append
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catclust.sql;
spool off


oracle 유저로 vi CreateOracleText.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOracleText.log append
@[DB_HOME]/ctx/admin/catctx [PASSWORD] SYSAUX TEMP NOLOCK;
connect "CTXSYS"/"[PASSWORD]"
@[DB_HOME]/ctx/admin/defaults/dr0defin.sql "KOREAN";
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateOracleText.log append
@/u01/app/oracle/product/11.2.0/db_1/ctx/admin/catctx change_on_install SYSAUX TEMP NOLOCK;
connect "CTXSYS"/"change_on_install"
@/u01/app/oracle/product/11.2.0/db_1/ctx/admin/defaults/dr0defin.sql "KOREAN";
spool off


oracle 유저로 vi CreateXDB.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateXDB.log append
@[DB_HOME]/rdbms/admin/catqm.sql [PASSWORD] SYSAUX TEMP YES;
connect "SYS"/"&&sysPassword" as SYSDBA
@[DB_HOME]/rdbms/admin/catxdbj.sql;
@[DB_HOME]/rdbms/admin/catrul.sql;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateXDB.log append
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catqm.sql change_on_install SYSAUX TEMP YES;
connect "SYS"/"&&sysPassword" as SYSDBA
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catxdbj.sql;
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catrul.sql;
spool off


oracle 유저로 vi CreateORDSchema.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateORDSchema.log append
@[DB_HOME]/ord/admin/ordinst.sql SYSAUX SYSAUX;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateORDSchema.log append
@/u01/app/oracle/product/11.2.0/db_1/ord/admin/ordinst.sql SYSAUX SYSAUX;
spool off


oracle 유저로 vi CreateMultiMedia.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateMultiMedia.log append
@[DB_HOME]/ord/im/admin/iminst.sql;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateMultiMedia.log append
@/u01/app/oracle/product/11.2.0/db_1/ord/im/admin/iminst.sql;
spool off


oracle 유저로 vi CreateOLAP.sql 생성
SET VERIFY OFF
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOLAP.log append
connect "SYS"/"&&sysPassword" as SYSDBA
@[DB_HOME]/olap/admin/olap.sql SYSAUX TEMP;
spool off
SET VERIFY OFF
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateOLAP.log append
connect "SYS"/"&&sysPassword" as SYSDBA
@/u01/app/oracle/product/11.2.0/db_1/olap/admin/olap.sql SYSAUX TEMP;
spool off


oracle 유저로 vi CreateSpatial.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateSpatial.log append
@[DB_HOME]/md/admin/mdinst.sql;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateSpatial.log append
@/u01/app/oracle/product/11.2.0/db_1/md/admin/mdinst.sql;
spool off


oracle 유저로 vi CreateEMRepos.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo off
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateEMRepos.log append
@[DB_HOME]/sysman/admin/emdrep/sql/emreposcre [DB_HOME] SYSMAN &&sysPassword TEMP ON;
WHENEVER SQLERROR CONTINUE;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo off
spool /u01/app/oracle/admin/racdb/scripts/CreateEMRepos.log append
@/u01/app/oracle/product/11.2.0/db_1/sysman/admin/emdrep/sql/emreposcre /u01/app/oracle/product/11.2.0/db_1 SYSMAN &&sysPassword TEMP ON;
WHENEVER SQLERROR CONTINUE;
spool off


oracle 유저로 vi CreateAPEX.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateAPEX.log append
@[DB_HOME]/apex/catapx.sql [PASSWORD] SYSAUX SYSAUX TEMP /i/ NONE;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateAPEX.log append
@/u01/app/oracle/product/11.2.0/db_1/apex/catapx.sql change_on_install SYSAUX SYSAUX TEMP /i/ NONE;
spool off


oracle 유저로 vi CreateOWB.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/CreateOWB.log append
@[DB_HOME]/owb/UnifiedRepos/cat_owb.sql SYSAUX TEMP;
spool off
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/CreateOWB.log append
@/u01/app/oracle/product/11.2.0/db_1/owb/UnifiedRepos/cat_owb.sql SYSAUX TEMP;
spool off


oracle 유저로 vi lockAccount.sql 생성
SET VERIFY OFF
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/lockAccount.log append
BEGIN
 FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN ('SYS','SYSTEM') )
 LOOP
  dbms_output.put_line('Locking and Expiring: ' || item.USERNAME);
  execute immediate 'alter user ' ||
         sys.dbms_assert.enquote_name(
         sys.dbms_assert.schema_name(
         item.USERNAME),false) || ' password expire account lock' ;
 END LOOP;
END;
/
spool off
SET VERIFY OFF
set echo on
spool /u01/app/oracle/admin/racdb/scripts/lockAccount.log append
BEGIN
 FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME NOT IN ('SYS','SYSTEM') )
 LOOP
  dbms_output.put_line('Locking and Expiring: ' || item.USERNAME);
  execute immediate 'alter user ' ||
         sys.dbms_assert.enquote_name(
         sys.dbms_assert.schema_name(
         item.USERNAME),false) || ' password expire account lock' ;
 END LOOP;
END;
/
spool off


oracle 유저로 vi postDBCreation.sql 생성
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool [ORACLE_BASE]/admin/[DB_NAME]/scripts/postDBCreation.log append
execute DBMS_AUTO_TASK_ADMIN.disable();
@[DB_HOME]/rdbms/admin/catbundle.sql psu apply;
select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual;
execute utl_recomp.recomp_serial();
select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual;
select group# from v$log where group# =3;
select group# from v$log where group# =4;
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 4 ('/dev/raw/raw17') SIZE 199M,
 GROUP 5 ('/dev/raw/raw18') SIZE 199M,
 GROUP 6 ('/dev/raw/raw19') SIZE 199M;
ALTER DATABASE ENABLE PUBLIC THREAD 2;
host echo cluster_database=true >>[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora;
host echo remote_listener=[SCAN_NAME]:[LISTENER_PORT]>>[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora;
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
create spfile='/dev/raw/raw20' FROM pfile='[ORACLE_BASE]/admin/[DB_NAME]/scripts/init.ora';
shutdown immediate;
host [DB_HOME]/bin/srvctl enable database -d [DB_NAME];
host [DB_HOME]/bin/srvctl start database -d [DB_NAME];
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
@[DB_HOME]/rdbms/admin/utlrp.sql;
spool off
exit;
SET VERIFY OFF
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
spool /u01/app/oracle/admin/racdb/scripts/postDBCreation.log append
execute DBMS_AUTO_TASK_ADMIN.disable();
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/catbundle.sql psu apply;
select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual;
execute utl_recomp.recomp_serial();
select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual;
select group# from v$log where group# =3;
select group# from v$log where group# =4;
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 4 ('/dev/raw/raw17') SIZE 199M,
 GROUP 5 ('/dev/raw/raw18') SIZE 199M,
 GROUP 6 ('/dev/raw/raw19') SIZE 199M;
ALTER DATABASE ENABLE PUBLIC THREAD 2;
host echo cluster_database=true >>/u01/app/oracle/admin/racdb/scripts/init.ora;
host echo remote_listener=rac-scan:1521>>/u01/app/oracle/admin/racdb/scripts/init.ora;
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
create spfile='/dev/raw/raw20' FROM pfile='/u01/app/oracle/admin/racdb/scripts/init.ora';
shutdown immediate;
host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl enable database -d racdb;
host /u01/app/oracle/product/11.2.0/db_1/bin/srvctl start database -d racdb;
connect "SYS"/"&&sysPassword" as SYSDBA
set echo on
@/u01/app/oracle/product/11.2.0/db_1/rdbms/admin/utlrp.sql;
spool off
exit;


oracle 유저로 vi init.ora 생성
db_block_size=8192
#cluster_database=true
#remote_listener=[SCAN_NAME]:[LISTENER_PORT]
open_cursors=300
db_domain=""
db_name="[DB_NAME]"
control_files=('/dev/raw/raw12','/dev/raw/raw13')
compatible=11.2.0.0.0
diagnostic_dest=[ORACLE_BASE]
memory_target=834666496
processes=150
audit_file_dest="[ORACLE_BASE]/admin/[DB_NAME]/adump"
audit_trail=db
remote_login_passwordfile=exclusive
 
[ORACLE_SID1].instance_number=1
[ORACLE_SID2].instance_number=2
[ORACLE_SID1].thread=1
[ORACLE_SID2].thread=2
[ORACLE_SID1].undo_tablespace=UNDOTBS1
[ORACLE_SID2].undo_tablespace=UNDOTBS2

db_recovery_file_dest_size=3G
db_recovery_file_dest='/FRA'
##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
 
###########################################
# Cache and I/O
###########################################
db_block_size=8192
 
###########################################
# Cluster Database
###########################################
#cluster_database=true
#remote_listener=rac-scan:1521
 
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
 
###########################################
# Database Identification
###########################################
db_domain=""
db_name="racdb"
 
###########################################
# File Configuration
###########################################
control_files=('/dev/raw/raw12','/dev/raw/raw13')

###########################################
# Miscellaneous
###########################################
compatible=11.2.0.0.0
diagnostic_dest=/u01/app/oracle
sga_target=3g
pga_aggregate_target=1g
 
###########################################
# Processes and Sessions
###########################################
processes=150
 
###########################################
# Security and Auditing
###########################################
audit_file_dest="/u01/app/oracle/admin/racdb/adump"
audit_trail=db
remote_login_passwordfile=exclusive
 
racdb1.instance_number=1
racdb2.instance_number=2
racdb1.thread=1
racdb2.thread=2
racdb1.undo_tablespace=UNDOTBS1
racdb2.undo_tablespace=UNDOTBS2


oracle 유저로 수행
chmod 774 racDB.sh
ls -ltra | grep racDB.sh
[racdb1:/u01/app/oracle/admin/racdb/scripts]> ls -ltra | grep racDB.sh
-rwxr-x---. 1 oracle oinstall  891  4월 14 10:39 racDB.sh

[racdb1:/u01/app/oracle/admin/racdb/scripts]> chmod 774 racDB.sh

[racdb1:/u01/app/oracle/admin/racdb/scripts]> ls -ltra | grep racDB.sh
-rwxrwxr--. 1 oracle oinstall  891  4월 14 10:39 racDB.sh


root 유저로 1번 노드에서 수행
chmod 770 [ORACLE_BASE]/cfgtoollogs
[root@rac1 oracle]# chmod 770 /u01/app/oracle/cfgtoollogs


B) 데이터베이스 생성

oracle 유저에서 수행
cd $ORACLE_BASE/admin/[DB_NAME]/scripts
sh racDB.sh
[oracle@racdb1 ~]$ cd $ORACLE_BASE/admin/racdb/scripts

[racdb1:/u01/app/oracle/admin/racdb/scripts]> sh racDB.sh 
You should Add this entry in the /etc/oratab: racdb:/u01/app/oracle/product/11.2.0/db_1:N

SQL*Plus: Release 11.2.0.4.0 Production on Tue Apr 14 15:26:19 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Enter new password for SYS: 
Enter new password for SYSTEM: 

Enter password for SYS: 


Enter password for SYS: oracle

Unable to find error file.






Connected to an idle instance.
SQL> spool /u01/app/oracle/admin/racdb/scripts/CreateDB.log append
SQL> startup nomount pfile="/u01/app/oracle/admin/racdb/scripts/init.ora";
ORACLE instance started.

Total System Global Area 3206836224 bytes
Fixed Size    2257520 bytes
Variable Size  654314896 bytes
Database Buffers 2533359616 bytes
Redo Buffers   16904192 bytes
SQL> CREATE DATABASE "racdb"
  2  MAXINSTANCES 32
  3  MAXLOGHISTORY 1
  4  MAXLOGFILES 192
  5  MAXLOGMEMBERS 3
  6  MAXDATAFILES 1024
  7  DATAFILE '/dev/raw/raw6' SIZE 1000M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL
  8  SYSAUX DATAFILE '/dev/raw/raw7' SIZE 1000M AUTOEXTEND OFF
  9  SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/dev/raw/raw9' SIZE 699M AUTOEXTEND OFF
 10  SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '/dev/raw/raw10' SIZE 1000M AUTOEXTEND OFF
 11  CHARACTER SET KO16MSWIN949
 12  NATIONAL CHARACTER SET AL16UTF16
 13  LOGFILE GROUP 1 ('/dev/raw/raw14') SIZE 199M,
 14  GROUP 2 ('/dev/raw/raw15') SIZE 199M,
 15  GROUP 3 ('/dev/raw/raw16') SIZE 199M
 16  USER SYS IDENTIFIED BY "&&sysPassword" USER SYSTEM IDENTIFIED BY "&&systemPassword";

Database created.
 
.... << 생략 >> ....
 
SQL>
SQL> Rem =====================================================================
SQL> Rem Run component validation procedure
SQL> Rem =====================================================================
SQL>
SQL> EXECUTE dbms_registry_sys.validate_components;

PL/SQL procedure successfully completed.

SQL> SET serveroutput off
SQL>
SQL>
SQL> Rem ===========================================================================
SQL> Rem END utlrp.sql
SQL> Rem ===========================================================================
SQL> spool off
not spooling currently
SQL> exit;
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options


root 유저로 모든 노드의 vi /etc/oratab 에 추가
[ORACLE_SID]:[DB_HOME]:N
racdb1:/u01/app/oracle/product/11.2.0/db_1:N
racdb2:/u01/app/oracle/product/11.2.0/db_1:N


  • 레이블 없음