DBA가 되고 싶은 병아리

RAC CMD로 설치 해보자 본문

Oracle Study/RAC

RAC CMD로 설치 해보자

미스틱스 2021. 2. 23. 15:11

==============================================================================
서버 설치 환경 확인
==============================================================================
grep MemTotal /proc/meminfo --메모리 크기 확인(최소 8기가)
grep SwapTotal /proc/meminfo --스왑 크기 확인 (메모리와 1:1.5 수준으로 설정)
df -h /tmp --tmp 크기 확인 (최소 1기가)
free --메모리 및 스왑 크기 등을 확인
uname -m --플랫폼 확인
df -h /dev/shm --세마포어 용량 확인
rpm -qa | grep ssh --ssh 패키지 설치 유무 확인

운영체제 버전 확인
cat /etc/oracle-release
cat /etc/redhat-release
cat /etc/os-release
uname -r -커널 버전 확인
==============================================================================
필수 패키지 설치 확인 -- 오라클 설치에 필요한 필수적인 패키지이며 반드시 설치되어야 합니다.
==============================================================================
패키지 설치 유무 확인
rpm -qa bc*
rpm -qa binutils*
rpm -qa compat-libcap1*
rpm -qa compat-libstdc++-33*
rpm -qa elfutils-libelf*
rpm -qa elfutils-libelf-devel*
rpm -qa fontconfig-devel*
rpm -qa glibc*
rpm -qa glibc-devel*
rpm -qa ksh*
rpm -qa libaio*
rpm -qa libaio-devel*
rpm -qa libXrender*
rpm -qa libXrender-devel*
rpm -qa libX11*
rpm -qa libXau*
rpm -qa libXi*
rpm -qa libXtst*
rpm -qa libgcc*
rpm -qa libstdc++*
rpm -qa libstdc++-devel*
rpm -qa libxcb*
rpm -qa make*
rpm -qa policycoreutils*
rpm -qa policycoreutils-python*
rpm -qa smartmontools*
rpm -qa sysstat*
==============================================================================
yum으로 설치 진행 (필요한 경우 iso 이미지를 이용하여 yum 설정 진행)
참고 : mount -t iso9660 -o loop /iso/CentOS74.iso /iso/mountdir"
자동마운트
vi /etc/fstab
/iso/CentOS74.iso /iso/mountdir iso9660 loop 0 0
==============================================================================
yum install bc* -y
yum install compat-libcap1* -y
yum install compat-libstdc++-33* -y
yum install elfutils-libelf* -y
yum install elfutils-libelf-devel* -y
yum install fontconfig-devel* -y
yum install glibc* -y
yum install glibc-devel* -y
yum install ksh* -y
yum install libaio* -y
yum install libaio-devel* -y
yum install libXrender* -y
yum install libXrender-devel* -y
yum install libX11* -y
yum install libXau* -y
yum install libXi* -y
yum install libXtst* -y
yum install libgcc* -y
yum install libstdc++* -y
yum install libstdc++-devel* -y
yum install libxcb* -y
yum install make* -y
yum install policycoreutils* -y
yum install policycoreutils-python* -y
yum install smartmontools* -y
yum install sysstat* -y

==============================================================================
추가 패키지 설명
ipmiutil (for Intelligent Platform Management Interface)
net-tools (for Oracle RAC and Oracle Clusterware)
libvirt-libs (for KVM)
nfs-utils (for Oracle ACFS)
python (for Oracle ACFS Remote)
python-configshell (for Oracle ACFS Remote)
python-rtslib (for Oracle ACFS Remote)
python-six (for Oracle ACFS Remote)
targetcli (for Oracle ACFS Remote)
==============================================================================
추가 패키지 확인
rpm -qa ipmiutil*
rpm -qa net-tools*
rpm -qa libvirt-libs*
rpm -qa nfs-utils*
rpm -qa python*
rpm -qa python-configshell*
rpm -qa python-rtslib*
rpm -qa python-six*
rpm -qa targetcli*
==============================================================================
추가 패키지 설치 -- net-tools를 제외하고는 굳이 설치 안해도 됨.
==============================================================================
yum install libvirt-libs* -y
yum install ipmiutil* -y
yum install net-tools* -y
yum install nfs-utils* -y
yum install python* -y
yum install python-configshell* -y
yum install python-rtslib* -y
yum install python-six* -y
yum install targetcli* -y

그외 패키지 확인
rpm -qa unixODBC*
rpm -qa up2date*
rpm -qa YaST*

yum install unixODBC* -y
yum install up2date* -y
--yum 설치용 패키지

리눅스용 추가 패키지
rpm -qa gcc*
rpm -qa gcc-c++*
rpm -qa gcc-info*
rpm -qa gcc-locale*
rpm -qa gcc48*
rpm -qa gcc48-info*
rpm -qa gcc48-locale*
rpm -qa gcc48-c++*

리눅스용 추가 패키지 설치
yum install gcc* -y
yum install gcc-c++* -y
yum install gcc-info* -y
yum install gcc-locale* -y
yum install gcc48* -y
yum install gcc48-info* -y
yum install gcc48-locale* -y
yum install gcc48-c++* -y
==============================================================================
rpm -q binutils compat-libstdc++ gcc glibc libaio libgcc libstdc++
make sysstat unixodbc
--설치가 안된 필수 패키지 확인 (대소문자 구문해서 설치 안되었다고 나올 수도 있음)
==============================================================================
binutils-2.27-34.base.0.1.el7.x86_64
package compat-libstdc++ is not installed
gcc-4.8.5-44.0.3.el7.x86_64
glibc-2.17-317.0.1.el7.x86_64
libaio-0.3.109-13.el7.x86_64
libgcc-4.8.5-44.0.3.el7.x86_64
libstdc++-4.8.5-44.0.3.el7.x86_64
make-3.82-24.el7.x86_64
sysstat-10.1.5-19.el7.x86_64
package unixodbc is not installed

yum install compat-libstdc++* -y
yum install unixODBC* -y
==============================================================================
오라클 엔진 설치 디스크 포맷 + 마운트
==============================================================================
[root@node01 ~]# ls -al /dev/sd*
brw-rw----. 1 root disk 8, 0 Jan 12 17:23 /dev/sda
brw-rw----. 1 root disk 8, 1 Jan 12 17:23 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jan 12 17:23 /dev/sda2
brw-rw----. 1 root disk 8, 16 Jan 12 17:46 /dev/sdb

fdisk /dev/sdb
n
p
enter
enter
enter
w
ls -al /dev/sd*
brw-rw----. 1 root disk 8, 1 Jan 12 17:23 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jan 12 17:23 /dev/sda2
brw-rw----. 1 root disk 8, 16 Jan 12 17:47 /dev/sdb
brw-rw----. 1 root disk 8, 17 Jan 12 17:47 /dev/sdb1

mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=256 agcount=4, agsize=3276736 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0, sparse=0
data = bsize=4096 blocks=13106944, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=6399, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

vi /etc/fstab
/dev/mapper/ol_node01-root / xfs defaults 0 0
UUID=c26ff2af-0692-4946-9132-cb3314362d20 /boot xfs defaults 0 0
/dev/mapper/ol_node01-swap swap swap defaults 0 0
/dev/sdb1 /u01 xfs defaults 0 0 <-----------추가

mkdir /u01

mount -all

Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 9.7M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/ol_node01-root 21G 12G 9.9G 53% /
/dev/sda1 1014M 301M 714M 30% /boot
tmpfs 799M 44K 799M 1% /run/user/0
/dev/sr0 4.2G 4.2G 0 100% /run/media/root/OL-7.5 Server.x86_64
/dev/sdb1 50G 33M 50G 1% /u01 <----------------------생기면 성공
==============================================================================
미디어 파일 업로드
==============================================================================
WINSCP 같은 프로그램 이용하여 업로드 진행
==============================================================================
그룹 및 유저 설정 -- 설치에 사용하는 사용자 추가
==============================================================================
각 그룹이 존재하는지를 확인
grep oinstall /etc/group

/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/groupadd -g 54324 backupdba
/usr/sbin/groupadd -g 54325 dgdba
/usr/sbin/groupadd -g 54326 kmdba
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper
/usr/sbin/groupadd -g 54329 asmadmin
/usr/sbin/groupadd -g 54330 racdba

--그룹이 존재하는 경우 다음과 같이 표시
[root@node01 ~]# /usr/sbin/groupadd -g 54322 dba
groupadd: group 'dba' already exists

--사용자 추가
/usr/sbin/useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle
/usr/sbin/useradd -u 54331 -g oinstall -G dba,asmdba,asmadmin,backupdba,dgdba,kmdba,racdba grid
--필요한 경우 유저 그룹 수정
/usr/sbin/usermod -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
/usr/sbin/usermod -g oinstall -G dba,asmdba,asmadmin,backupdba,dgdba,kmdba,racdba,asmoper grid
==============================================================================
각 유저의 패스워드 설정
==============================================================================
passwd grid
passwd oracle

--테스트 용도로 동일하게 "oracle"

휴즈 페이지 설정 확인 (transparent_hugepage가 성능상 문제가 있다고 함)

cat /sys/kernel/mm/transparent_hugepage/enabled
--휴즈 페이지 확인
grub file 수정
vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"

수정 후에 컴파일
grub2-mkconfig -o /boot/grub2/grub.cfg

[root@node01 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.1.12-124.45.2.el7uek.x86_64
Found initrd image: /boot/initramfs-4.1.12-124.45.2.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-4.1.12-112.16.4.el7uek.x86_64
Found initrd image: /boot/initramfs-4.1.12-112.16.4.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-1160.6.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-1160.6.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-d18e82cea35a42efb0f2ec7e565ba2db
Found initrd image: /boot/initramfs-0-rescue-d18e82cea35a42efb0f2ec7e565ba2db.img
done

cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

==============================================================================
ssh 관련 추가 설정 --RAC 설치인 경우 반드시 설정
==============================================================================
모든 클러스터에 아래와 같이 수정
vi /etc/ssh/sshd_config
LoginGraceTime 0
==============================================================================
I/O 관련 오류 방지를 위한 설정
==============================================================================
I/O 스케쥴러 확인 작업
cat /sys/block/${ASM_DISK}/queue/scheduler
--내용이 있는지 확인
noop [deadline] cfq

-- 없는 경우 아래 내용을 작성
vi /etc/udev/rules.d/60-oracle-schedulers.rules
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

--다른 서버로 이전
scp 60-oracle-schedulers.rules root@node2:/etc/udev/rules.d/
-- 재부팅을 하거나 reload로 전체 불러오기
udevadm control --reload-rules
==============================================================================
오라클 기존 설치 확인 --신규 설치가 아닌 경우 oraIventory 위치 확인
==============================================================================
이미 설치가 되어 있는지 확인
more /etc/oraInst.loc
--아래와 같은 경우 설치가 되어 있는 경우임.
inventory_loc=/u01/app/oraInventory
inst_group=oinstall

==============================================================================
xtrem 설정 (X windows 사용을 위한 설정)
==============================================================================
xterm이 설치가 되어 있어야 함.

yum install xterm -y

오라클 환경 검증 프로그램 설치

Grid_home/cv/rpm/cvuqdisk-1.0.10-1.rpm

[root@node01 rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm
Preparing... ################################# [100%]
Using default group oinstall to install package
Updating / installing...
1:cvuqdisk-1.0.10-1 ################################# [100%]
[root@node01 rpm]#

rpm -qi cvuqdisk
--설치 확인
rpm -e cvuqdisk
--설치 삭제
CVUQDISK_GRP=oinstall; export CVUQDISK_GRP
--그룹 설정
rpm -ivh cvuqdisk-1.0.10-1.rpm
필요한 부분 체크 하면서 설치
==============================================================================
프로파일 환경 수정
==============================================================================
해당 사용자로 접속해서 수정 진행
RAC로 설치할때 같은 유저인 경우 확인해서 진행

vi .bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
umask 022
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
ORACLE_SID=orcl
export ORACLE_SID
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_BASE=/u01/app/grid
export PATH=$PATH:$ORACLE_HOME/bin:$GRID_HOME/bin

alias sysdba='sqlplus / as sysdba'
alias sysasm='sqlplus / as sysasm'
-- 그 외에 환경에 필요한 변수 추가
--GRID 유저의 경우 ORACLE_HOME을 위의GRID_HOME으로 설정
==============================================================================
사용자 자원 환경 조사 (최대 사용율을 제한) -- 설정하지 않아도 설치는 가능하지만 추후 장애 유발이 될수 있음.
==============================================================================
$ ulimit -Sn
1024
$ ulimit -Hn
65536
$ ulimit -Su
2047
$ ulimit -Hu
16384
$ ulimit -Ss
10240
$ ulimit -Hs
32768
위와 같이 설정이 되지 않았을 경우는
유저가 분리된 경우는 GRID 용으로 아래 파일에 더 추가하면됨
vi /etc/security/limits.d/oracle-database-preinstall-19c.conf
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 16384
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
grid hard memlock 134217728
grid soft memlock 134217728
grid soft data unlimited
grid hard data unlimited


oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
oracle soft data unlimited
oracle hard data unlimited


==============================================================================
커널 파라메터 변경 -- 하단에 삽입
==============================================================================
vi /etc/sysctl.conf

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
==============================================================================
보안 관련 내용 수정 -- RAC나 원격접속에 문제가 생길 수 있으므로 수정
==============================================================================
vi /etc/selinux/config
SELINUX=enforcing -> permissive

--방화벽 중지 및 비활성화
systemctl stop firewalld
systemctl disable firewalld

==============================================================================
네트워크 관련 환경 조사
==============================================================================
sysctl -a |grep -e net.ipv4.tcp_[rw]mem

sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
net.ipv4.tcp_rmem = 4096 87380 6291456
net.ipv4.tcp_wmem = 4096 16384 4194304
sysctl: reading key "net.ipv6.conf.ens32.stable_secret"
sysctl: reading key "net.ipv6.conf.ens34.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"

==============================================================================
이미지 기반 설치용(참고) -- 반드시 해야 하는 것이 아님.
==============================================================================
./gridSetup.sh -createGoldImage -destinationLocation /tmp/my_grid_images

==============================================================================
디렉토리 경로 생성 및 설정
==============================================================================
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/grid
mkdir -p /u01/app/19.3.0/grid
mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
chown -R oracle:oinstall /u01/app/oracle
chown -R grid:oinstall /u01/app/oraInventory
chown -R grid:oinstall /u01/app/19.3.0
chown -R grid.oinstall /u01/app/grid
chmod -R 775 /u01/app
cd /u01/app/19.3.0/grid
==============================================================================
/etc/hosts 파일 IP 수정
==============================================================================
127.0.0.1 localhost.localdomain localhost

Public

192.168.6.131 node01.localdomain node01
192.168.6.132 node02.localdomain node02

Private

192.168.7.131 node01-priv.localdomain node01-priv
192.168.7.132 node02-priv.localdomain node02-priv

Virtual

192.168.6.133 node01-vip.localdomain node01-vip
192.168.6.134 node02-vip.localdomain node02-vip

SCAN

192.168.6.105 scan.localdomain scan
192.168.6.106 scan.localdomain scan
192.168.6.107 scan.localdomain scan
==============================================================================
VMWARE clonning을 이용하여 노드 복제
==============================================================================
복제 진행하기 전에 /etc/hosts 파일에 설정이 되어 있는지 확인 작업을 할 것!

GRID 압축해제 전에 노드 복제를 해야 설치 도중에 에러가 발생하지 않음

==============================================================================
노드 복제 후 노드 2번 네트워크 수정하여 제대로 올리기
==============================================================================
[root@node02 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@node02 network-scripts]# ls
ifcfg-ens32
ifcfg-ens33
ifcfg-ens34
[root@node02 network-scripts]#

ifcfg-ens3~ 의 파일의 vi로 수정하여 IP 변경
/etc/hostname 파일을 수정하여 hostname변경
==============================================================================
GRID 폴더 압축해제
==============================================================================
HOME 디렉토리가 잘 설정되어 있는지 GRID 유저로 확인해서 진행

echo $ORACLE_HOME
/u01/app/19.3.0/grid

unzip -d $ORACLE_HOME LINUX.X64_193000_grid_home.zip
unzip -d $ORACLE_HOME p6880880_190000_Linux-x86-64.zip
==============================================================================
ssh setup 실행
==============================================================================
/u01/app/19.3.0/grid/oui/prov/resources/scripts
--grid
./sshUserSetup.sh -user grid -hosts "node01 node02" -noPromptPassphrase -advanced -exverify -comfirm
--oracle
./sshUserSetup.sh -user oracle -hosts "node01 node02" -noPromptPassphrase -advanced -exverify -comfirm

[전략]
Tue Jan 12 22:49:43 KST 2021
Verifying SSH connectivity has been setup from node01 to node02
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.
Tue Jan 12 22:49:45 KST 2021
-Verification from complete-
SSH verification complete.


위의 스크립트로도 양 노드간에 패스워드없이 이동이 불가하면
설치에 문제가 일어날 수 잇으므로 수동으로 처리하면됨.


테스트 방법

ssh node01 date
ssh node02 date


각 노드에서 실행 (수동으로 할경우)
ssh-keygen -t rsa
ssh-keygen -t rda


노드 별로 아래와 같은 형식으로 처리
[oracle@RACG1 ~]$ ssh racg1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@RACG1 ~]$ ssh racg2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


rsa /dsa 둘다 완료하고 다른 노드 서버로 전송하면 완료
[grid@node01 .ssh]$ scp authorized_keys node02:~/.ssh/
grid@node02's password:
authorized_keys 100% 2036 2.4MB/s 00:00
[grid@node01 .ssh]$ ssh node01 date
Tue Jan 12 23:08:46 KST 2021
[grid@node01 .ssh]$ ssh node02 date
Tue Jan 12 23:08:50 KST 2021
[grid@node01 .ssh]$

그리드 설치 도중에 동일하게 에러가 날수도 있는데 가능하면 오라클에서 제공하는 스크립트로 진행하는 것이 좋을듯.

OPENFILER를 사용하여 iscsi를 사용하는 경우
--사용하는 이유는 실무와 비슷한 환경을 구축하기 위해서임.
==============================================================================
chmod +x /etc/rc.d/rc.local
vi /etc/rc.local
iscsiadm -m discovery -t st -p 192.168.6.130
iscsiadm -m node --loginall all

이후로는 디스크를 fdisk로 raw device로 설정
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
fdisk /dev/sdf
fdisk /dev/sdg
fdisk /dev/sdh
fdisk /dev/sdi
fdisk /dev/sdj
fdisk /dev/sdk
fdisk /dev/sdl
fdisk /dev/sdm
fdisk /dev/sdn
fdisk /dev/sdo
fdisk /dev/sdp
fdisk /dev/sdq
fdisk /dev/sdr
fdisk /dev/sds
fdisk /dev/sdt

asm 설정을 위해서 rule을 추가
vi /etc/udev/rules.d/99-oracle.rules
KERNEL=="sd[c-z]1",ACTION=="add|change",OWNER="grid",GROUP="asmadmin",MODE="0660"
==============================================================================
설치 전 문제가 없는지 체크
==============================================================================
$ ./runcluvfy.sh stage -pre crsinst -n node01,node02

그리드 설치할때는 (패치를 하는 경우는 -applyRU/-applyOneOffs 의 옵션을 사용하여 설치 진행)
$ Grid_home/gridSetup.sh

이후로는 GUI 설치 진행
GUI 설치할 경우 xming과 putty를 이용하여 설치진행
==============================================================================
runcluvfy.sh로 인한 에러 수정
-- 에러 형태가 각 서버마다 다르게 나올수 있음
==============================================================================
에러의 개수가 다들 다르지만 최대한 수정을 진행하고 설치함.


1) avahi-daemon stop/disable (root or 관리자 계정)
Verifying Daemon "avahi-daemon" not configured and running ...FAILED
node02: PRVG-1359 : Daemon process "avahi-daemon" is configured on node "node02"
node02: PRVG-1360 : Daemon process "avahi-daemon" is running on node "node02"

node01: PRVG-1359 : Daemon process "avahi-daemon" is configured on node "node01"
node01: PRVG-1360 : Daemon process "avahi-daemon" is running on node "node01"
systemctl stop avahi-daemon
systemctl disable avahi-daemon


2) NTP 관련
12c까지는 NTP가 없어도 됐지만 18C이후로는 필수 인것으로 보임.
다만 없다고 설치가 안되는 건 아니고... 오류를 많이 봐야함...


3)SWAP 크기 문제
Verifying Swap Size ...FAILED
node02: PRVF-7573 : Sufficient swap size is not available on node "node02"
[Required = 15.4192GB (1.6168168E7KB) ; Found = 7.9922GB (8380412.0KB)]

node01: PRVF-7573 : Sufficient swap size is not available on node "node01"
[Required = 15.4192GB (1.6168168E7KB) ; Found = 7.9922GB (8380412.0KB)]

swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 8380412 0 -1

이것도 무시는 가능하지만 실무에서는 반드시 16G+@의 메모리 일 경우 SWAP은 16G로 설정

4) DNS 관련 에러
DNS가 있는 경우면 설정만 잘하면 안나오는 에러...물론 무시를 해도 설치는 됨.
Verifying resolv.conf Integrity ...FAILED
node02: PRVF-5636 : The DNS response time for an unreachable node exceeded
"15000" ms on following nodes: node01,node02
node02: PRVG-10048 : Name "node02" was not resolved to an address of the
specified type by name servers "192.168.6.130".
node02: PRVG-10048 : Name "node02" was not resolved to an address of the
specified type by name servers "192.168.6.250".

node01: PRVF-5636 : The DNS response time for an unreachable node exceeded
"15000" ms on following nodes: node01,node02
node01: PRVG-10048 : Name "node01" was not resolved to an address of the
specified type by name servers "192.168.6.130".
node01: PRVG-10048 : Name "node01" was not resolved to an address of the
specified type by name servers "192.168.6.250".


위의 4개의 경우는 설치도 잘되고 크게 문제가 되는 거는 아니다.

설치 준비가 다 되면....

위의 설정 중에 디스크를 가져오는 과정에서 ASM을 사용하기 위해서는 권한과 소유권이 필요한데...
udevadm control --reload-rules 라는 명령어를 사용해도 바로 적용되지는 않는다.

실제 스토리지를 이용하는 경우라면 별 문제는 안되겠지만...

GI를 GUI를 이용한 설치가 불가능한 경우 -- rsp를 이용하여 silent로 설치 진행

rsp 위치 : $GRID_HOME/install/response/gridsetup.rsp
grep -v "^#" /u01/app/19.3.0/grid/install/response/gridsetup.rsp | awk 'NF' > ./dryRunForgridsetup.rsp
grep -v "^#" /u01/app/19.3.0/grid/install/response/grid_2021-01-22_12-57-51PM.rsp | awk 'NF' > /u02/stage/dryRunForgridsetup.rsp
==============================================================================
dryRunForgridsetup.rsp 내용
==============================================================================
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=CRS_CONFIG
ORACLE_BASE=/u01/app/grid
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.OSOPER=asmoper
oracle.install.asm.OSASM=asmadmin
oracle.install.crs.config.scanType=LOCAL_SCAN
oracle.install.crs.config.SCANClientDataFile=
oracle.install.crs.config.gpnp.scanName=scan
oracle.install.crs.config.gpnp.scanPort=3521
oracle.install.crs.config.ClusterConfiguration=STANDALONE
oracle.install.crs.config.configureAsExtendedCluster=false
oracle.install.crs.config.memberClusterManifestFile=
oracle.install.crs.config.clusterName=STANDALONE
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.autoConfigureClusterNodeVIP=
oracle.install.crs.config.gpnp.gnsOption=
oracle.install.crs.config.gpnp.gnsClientDataFile=
oracle.install.crs.config.gpnp.gnsSubDomain=
oracle.install.crs.config.gpnp.gnsVIPAddress=
oracle.install.crs.config.sites=
oracle.install.crs.config.clusterNodes=node01:node01-vip,node02:node02-vip
oracle.install.crs.config.networkInterfaceList=ens32:192.168.6.0:1,ens34:192.168.7.0:5,ens35:192.168.8.0:3
oracle.install.crs.configureGIMR=
oracle.install.asm.configureGIMRDataDG=
oracle.install.crs.config.storageOption=FLEX_ASM_STORAGE
oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.useIPMI=false
oracle.install.crs.config.ipmi.bmcUsername=
oracle.install.crs.config.ipmi.bmcPassword=
oracle.install.asm.SYSASMPassword=oracle_4U
oracle.install.asm.diskGroup.name=ocr_vote
oracle.install.asm.diskGroup.redundancy=NORMAL
oracle.install.asm.diskGroup.AUSize=4
oracle.install.asm.diskGroup.FailureGroups=
oracle.install.asm.diskGroup.disksWithFailureGroupNames=
oracle.install.asm.diskGroup.disks=/dev/sdc1,/dev/sdd1,/dev/sde1
oracle.install.asm.diskGroup.quorumFailureGroupNames=
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/sd*
oracle.install.asm.monitorPassword=oracle_4U
oracle.install.asm.gimrDG.name=
oracle.install.asm.gimrDG.redundancy=
oracle.install.asm.gimrDG.AUSize=4
oracle.install.asm.gimrDG.FailureGroups=
oracle.install.asm.gimrDG.disksWithFailureGroupNames=
oracle.install.asm.gimrDG.disks=
oracle.install.asm.gimrDG.quorumFailureGroupNames=
oracle.install.asm.configureAFD=
oracle.install.crs.configureRHPS=
oracle.install.crs.config.ignoreDownNodes=false
oracle.install.config.managementOption=NONE
oracle.install.config.omsHost=
oracle.install.config.omsPort=
oracle.install.config.emAdminUser=
oracle.install.config.emAdminPassword=
oracle.install.crs.rootconfig.executeRootScript=true
oracle.install.crs.rootconfig.configMethod=ROOT
oracle.install.crs.rootconfig.sudoPath=
oracle.install.crs.rootconfig.sudoUserName=
oracle.install.crs.config.batchinfo=
oracle.install.crs.app.applicationAddress=
oracle.install.crs.deleteNode.nodes=

주의 : 반드시 파일을 새로 만들지 말고 기존의 파일을 복사하거나 수정하여 값을 넣을것.

설치 명령어

$ORACLE_HOME/gridSetup.sh -applyRU /u01/stage/31750108 -ignorePrereq -waitforcompletion -silent -responseFile /u01/app/19.3.0/grid/install/response/dryRunForgridsetup.rsp
-- responseFile의 위치는 반드시 절대값으로 줄것.
-- gridsetup.rsp만 표기할 경우 "$GRID_HOME/install/response/gridsetup.rsp"를 참조하게 됨.
unzip -d $ORACLE_HOME p6~.zip (OPatch 관련)

Bug 30189609 - CVU FAILS TO DETECT THE PASSWORDLESS SSH AS WELL AS TO
SETUP PASSWORDLESS SSH CONNECTIVITY (Doc ID 30189609.8)

19C가 버그가 많기 때문에 가능하면 최신 패치 적용하면서 올리는 게 맞는 듯 하다.
추가로 GUI보다 사람이 일일이 손으로 하는 경우이기 때문에 생각보다 실패하는 확률이 좀 더 많은 거 같다.
==============================================================================
참고
==============================================================================

Normal.

./runInstaller -silent -responseFile /tmp/12cR2.rsp

Ignore Prerequisites.

./runInstaller -ignoreSysPrereqs -ignorePrereq -waitforcompletion -showProgress -silent -responseFile /tmp/12cR2.rsp
Some useful "runInstaller" flags include the following. The full list is available here.

-silent : Run in silent mode.
-responsefile : Specified the location of the response file.
-ignoreSysPrereqs : Ignore the system prerequisite checks.
-ignorePrereq : Ignore the general prerequisite checks.
-waitforcompletion : Stop the installer spawning as a separate process, so scripts happen in sequence.
-invPtrLoc : Used to specify the location of the oraInst.loc file, which in turn specifies the inventory details.
-force : Installation continues when a non-empty directory is used for the ORACLE_HOME.
-showProgress : Displays line of "." to show something is happeing.

Enter password for 'root' user:
[FATAL] [INS-13013] Target environment does not meet some mandatory requirements.
CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /tmp/GridSetupActions2021-01-13_12-26-52PM/gridSetupActions2021-01-13_12-26-52PM.log
ACTION: Identify the list of failed prerequisite checks from the log: /tmp/GridSetupActions2021-01-13_12-26-52PM/gridSetupActions2021-01-13_12-26-52PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
Moved the install session logs to:
/u01/app/oraInventory/logs/GridSetupActions2021-01-13_12-26-52PM

이런 문제를 하나씩 해결하다 보니 설치가 잘 진행 되더라....

설치 진행 시에 났던 에러들 -- 설치는 정상적으로 잘됨...

INFO: [Jan 13, 2021 12:38:36 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 12:39:09 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 12:40:00 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 12:40:21 PM] OverallStatus:VERIFICATION_FAILED
TaskSwapSize:Swap Size[CHECK_SWAP_SIZE]:TASK_SUMMARY:FAILED:IGNORABLE:VERIFICATION_FAILED:Total time taken [514 Milliseconds]
TaskAnonymousProxy:chrony daemon is synchronized with at least one external time source[TASKANONYMOUSPROXY]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [2 Milliseconds]
TaskNTP:Network Time Protocol (NTP)[TASKNTP]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [2 Seconds 988 Milliseconds]
TaskResolvConfIntegrity:resolv.conf Integrity[RESOLV_CONF]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [46 Seconds 897 Milliseconds]
TaskNameService:DNS/NIS name service[TASKNAMESERVICE]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [20 Seconds 553 Milliseconds]
INFO: [Jan 13, 2021 12:40:37 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 12:40:37 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 12:40:37 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 12:40:37 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 12:40:37 PM] OverallStatus:VERIFICATION_FAILED
INFO: [Jan 13, 2021 1:07:02 PM] Verifying DNS/NIS name service 'scan' ...FAILED (PRVG-1101)
INFO: [Jan 13, 2021 1:07:03 PM] Verifying Single Client Access Name (SCAN) ...FAILED (PRVG-11372, PRVG-1101)
INFO: [Jan 13, 2021 1:07:22 PM] Verifying chrony daemon is synchronized with at least one external time source ...FAILED (PRVG-13606)
INFO: [Jan 13, 2021 1:07:22 PM] Verifying Network Time Protocol (NTP) ...FAILED (PRVG-13606)
INFO: [Jan 13, 2021 1:07:22 PM] Verifying Clock Synchronization ...FAILED (PRVG-13606)
INFO: [Jan 13, 2021 1:07:25 PM] Verifying Single Client Access Name (SCAN) ...FAILED
INFO: [Jan 13, 2021 1:07:25 PM] Verifying DNS/NIS name service 'scan' ...FAILED
INFO: [Jan 13, 2021 1:07:25 PM] Verifying Clock Synchronization ...FAILED
INFO: [Jan 13, 2021 1:07:25 PM] Verifying Network Time Protocol (NTP) ...FAILED
INFO: [Jan 13, 2021 1:07:25 PM] source ...FAILED
==============================================================================
GI 설치 완료
==============================================================================
[전략]
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE node01 STABLE
2 ONLINE ONLINE node02 STABLE
ora.cvu
1 ONLINE ONLINE node01 STABLE
ora.node01.vip
1 ONLINE ONLINE node01 STABLE
ora.node02.vip
1 ONLINE ONLINE node02 STABLE
ora.qosmserver
1 ONLINE ONLINE node01 STABLE
ora.scan1.vip
1 ONLINE ONLINE node02 STABLE
ora.scan2.vip
1 ONLINE ONLINE node01 STABLE
ora.scan3.vip
1 ONLINE ONLINE node01 STABLE


[grid@node01 ~]$

프로파일 환경 수정

해당 사용자로 접속해서 수정 진행
RAC로 설치할때 같은 유저인 경우 확인해서 진행

vi .bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
umask 022
TMP=/tmp
TMPDIR=/tmp
export TMP TMPDIR
ORACLE_SID=orcl
export ORACLE_SID
export ORACLE_HOME=/u01/app/19.3.0/grid
export ORACLE_BASE=/u01/app/grid
export PATH=$PATH:$ORACLE_HOME/bin:$GRID_HOME/bin

alias sysdba='sqlplus / as sysdba'
alias sysasm='sqlplus / as sysasm'
-- 그 외에 환경에 필요한 변수 추가
--GRID 유저의 경우 ORACLE_HOME을 위의GRID_HOME으로 설정
==============================================================================
ORACLE RAC 엔진 설치 준비
==============================================================================
--DB HOME 압축해제
unzip -d $ORACLE_HOME LINUX.X64_193000_db_home.zip
--패치 압축해제
unzip p31771877_190000_Linux-x86-64.zip
--OPATCH 최신버전 압축해제
unzip -d $ORACLE_HOME p6880880_190000_Linux-x86-64.zip
==============================================================================
responseFile 작성
==============================================================================
파일 위치
$ORACLE_HOME/install/response
db_install.rsp

엔진만 설치하는 것이므로 아래와 같이 설정
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=asmdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=true
oracle.install.db.rootconfig.configMethod=ROOT
oracle.install.db.CLUSTER_NODES=node01,node02
==============================================================================
엔진 설치 진행
==============================================================================
./runInstaller -applyRU /u01/stage/31771877 -ignorePrereq -waitforcompletion -silent -responseFile /u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_install.rsp

The response file for this session can be found at:
/u01/app/oracle/product/19.0.0/dbhome_1/install/response/db_2021-01-13_01-43-04PM.rsp

You can find the log of this install session at:
/u01/app/oraInventory/logs/InstallActions2021-01-13_01-43-04PM/installActions2021-01-13_01-43-04PM.log
Successfully Setup Software with warning(s).
[oracle@node01 dbhome_1]$
==============================================================================
설치 시 에러 났던 내용 -- 그리드 설치 시 에러와 동일
==============================================================================
TaskSwapSize:Swap Size[CHECK_SWAP_SIZE]:TASK_SUMMARY:FAILED:IGNORABLE:VERIFICATION_FAILED:Total time taken [660 Milliseconds]
TaskAnonymousProxy:chrony daemon is synchronized with at least one external time source[TASKANONYMOUSPROXY]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [8 Milliseconds]
TaskNTP:Network Time Protocol (NTP)[TASKNTP]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [3 Seconds 439 Milliseconds]
TaskCTSSIntegrity:Clock Synchronization[TASKCTSSINTEGRITY]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [4 Seconds 567 Milliseconds]
TaskResolvConfIntegrity:resolv.conf Integrity[RESOLV_CONF]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [47 Seconds 285 Milliseconds]
TaskNameService:DNS/NIS name service 'scan'[TASKNAMESERVICE]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [20 Seconds 929 Milliseconds]
TaskScan:Single Client Access Name (SCAN)[SCAN]:TASK_SUMMARY:FAILED:CRITICAL:VERIFICATION_FAILED:Total time taken [22 Seconds 174 Milliseconds]
==============================================================================
인스턴스 설치
==============================================================================

1) responseFile을 이용하는 경우라면
$ORACLE_HOME/assistants/dbca/dbca.rsp
rsp 파일 수정해서 진행

responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=orcl
sid=orcl
databaseConfigType=RAC
RACOneNodeServiceName=
policyManaged=FALSE
createAsContainerDatabase=FALSE
numberOfPDBs=0
pdbAdminPassword=
nodelist=node01,node02
templateName=
sysPassword=oracle_4U
systemPassword=oracle_4U
emConfiguration=DBEXPRESS
emExpressPort=5500
runCVUChecks=FALSE
dbsnmpPassword=oracle_4U
storageType=ASM
diskGroupName=DATA
asmsnmpPassword=oracle_4U
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
listeners=listener
databaseType=MULTIPURPOSE
automaticMemoryManagement=
totalMemory=4096
==============================================================================
GRID 유저로 설치될 디스크 생성
==============================================================================
DATA 디스크 그룹을 생성 해줄 것.
그냥 실행 하면 다음과 같이 에러가 발생함.

[oracle@node01 ~]$ dbca -createDatabase -silent -ignorePreReqs -templateName New_Database.dbt -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp
[FATAL] [DBT-06002] Selected disk group (DATA) is not found.
ACTION: Specify a disk group that is accessible from the system.
[oracle@node01 ~]$

grid 유저 로그인
su - grid
sqlplus "/ as sysasm"
set pagesize 9999
set linesize 200
create diskGroup DATA normal redundancy disk '/dev/sdg1','/dev/sdh1','/dev/sdi1','/dev/sdj1';
--필요한 경우 디스크 추가 (예제)
ALTER DISKGROUP TEST ADD DISK 'ORCL:TEST02' NAME TEST02;

asmcmd lsdg
select GROUP_NUMBER,NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;

[FATAL] [DBT-05802] Creating password file on diskgroup (DATA) would fail since it requires compatible.asm of version (12.1.0.0.0) or higher. Current compatible.asm version is '11.2.0.2.0'.
ACTION: Choose a diskgroup with correct value for compatible.asm attribute.

옵션 다른거 안주고 그냥 생성했더니... 호환성 버전을 올리라고 한다...
col COMPATIBILITY form a10
col DATABASE_COMPATIBILITY form a30
col NAME form a20
select group_number, name, compatibility, database_compatibility from v$asm_diskgroup;
GROUP_NUMBER NAME COMPATIBIL DATABASE_COMPATIBILITY


       1 OCR_VOTE             19.0.0.0.0 10.1.0.0.0
       2 DATA                 11.2.0.2.0 10.1.0.0.0

ASMCMD [+DATA] > setattr -G
asmcmd setattr -G DATA compatible.asm 19.0.0.0.0
Example: ASMCMD [+DATA] > setattr -G OCR_VOTE compatible.asm 12.1.0.2.0

[grid@node01 ~]$ asmcmd setattr -G DATA compatible.asm 19.0.0.0.0
[grid@node01 ~]$ exit
exit

SQL> /

GROUP_NUMBER NAME COMPATIBIL DATABASE_COMPATIBILITY


       1 OCR_VOTE             19.0.0.0.0 10.1.0.0.0
       2 DATA                 19.0.0.0.0 10.1.0.0.0

==============================================================================
인스턴스 설치 - DBCA 실행
==============================================================================
dbca -createDatabase -silent -ignorePreReqs -templateName New_Database.dbt -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp

[oracle@node01 dbhome_1]$ dbca -createDatabase -silent -ignorePreReqs -templateName New_Database.dbt -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp
Prepare for db operation
4% complete
Creating and starting Oracle instance
5% complete
6% complete

2) 다른 방법으로는 모든 변수를 직접치는 방식이다.(스크립트 생성)
dbca -silent -ignorePreReqs -gdbName orcl -templateName New_Database.dbt -generateScripts -scriptDest ~/dbca_scripts -createAsContainerDatabase false -databaseConfigType RAC -nodelist node01,node02 -memoryMgmtType AUTO_SGA -totalMemory 4000 -characterSet AL32UTF8 -nationalCharacterSet AL16UTF16 -storageType ASM -useOMF true -redoLogFileSize 200 -databaseType MULTIPURPOSE -datafileDestination +DATA2 -emConfiguration none -runCVUChecks false

==============================================================================
접속이 잘되는지 확인
==============================================================================
[oracle@node01 dbhome_1]$ export ORACLE_SID=orcl1
[oracle@node01 dbhome_1]$ sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 13 17:48:42 2021
Version 19.9.0.0.0

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

Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.9.0.0.0

SQL> show parameter name

NAME TYPE VALUE


cdb_cluster_name string
cell_offloadgroup_name string
db_file_name_convert string
db_name string orcl
db_unique_name string orcl
global_names boolean FALSE
instance_name string orcl1
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string

NAME TYPE VALUE


service_names string orcl
SQL> select file_name from dba_data_files;

FILE_NAME

+DATA/ORCL/DATAFILE/system.260.1061740791
+DATA/ORCL/DATAFILE/sysaux.261.1061740887
+DATA/ORCL/DATAFILE/undotbs1.262.1061740911
+DATA/ORCL/DATAFILE/undotbs2.264.1061740955
+DATA/ORCL/DATAFILE/users.265.1061740959

SQL> show parameter rollback

NAME TYPE VALUE


fast_start_parallel_rollback string LOW
rollback_segments string
transactions_per_rollback_segment integer 5
SQL>

==============================================================================
설치 진행하는 도중에 나온 문제...
==============================================================================
[FATAL] [INS-44002] The Oracle home location contains directories or files on following remote nodes:
[node02].

[grid@node02 grid]$ ls -al
total 4
drwxrwxr-x. 4 grid oinstall 55 Jan 13 09:23 .
drwxrwxr-x. 3 grid oinstall 18 Jan 12 19:12 ..
drwxrwxr-x. 3 grid oinstall 28 Apr 18 2019 .opatchauto_storage
drwxrwxr-x. 7 grid oinstall 4096 Apr 18 2019 .patch_storage
rm -rf .opatchauto_storage
rm -rf .patch_storage
[grid@node02 grid]$ ls -al
total 0
drwxrwxr-x. 2 grid oinstall 6 Jan 13 12:21 .
drwxrwxr-x. 3 grid oinstall 18 Jan 12 19:12 ..
[grid@node02 grid]$

오라클 홈 디렉토리에 뭐가 있으면 안됨... 여러번 설치 시도 하다 보니 에러가 발생하더라...
위에 디렉토리가 설치 시도시 생기는 것으로 보임


[WARNING] [INS-32047] The location (/u01/app/oraInventory) specified for the central inventory is not empty.
ACTION: It is recommended to provide an empty location for the inventory.
[FATAL] [INS-32039] Inappropriate file permissions for the specified inventory location (/u01/app/oraInventory).
CAUSE: The installer user (grid) and the inventory group (oinstall) do not match with the current owner user (oracle) and group (oinstall) of the inventory location.
ACTION: Ensure that the owner user and group of the inventory location are the same as the installer user and the inventory group, respectively.
==============================================================================
한글을 표시하고 싶은데 깨진다면 아래와 같이 설정하면 된다.
export NLS_LANG=KOREAN_KOREA.AL32UTF8
==============================================================================
INFO: [Jan 13, 2021 11:03:46 AM] Disks and Failure Groups :{/dev/sde1=null, /dev/sdc1=/dev/sdd1,/dev/sde1}
INFO: [Jan 13, 2021 11:03:46 AM] FG List :[/dev/sdd1,/dev/sde1]

rsp 파일을 제대로 못만들어서 그런거.
[FATAL] [INS-30544] Empty Disk Discovery Path.
CAUSE: The Disk Discovery Path was not specified.
ACTION: Specify a valid Disk Discovery Path.

oracle.install.asm.diskGroup.diskDiscoveryString=/dev/sd*
RSP 파일 설정을 잘못 넣어서 그런거....

[FATAL] [INS-30001] The SYS password is empty.
CAUSE: The SYS password should not be empty.
ACTION: Provide a non-empty password.
[FATAL] [INS-30001] The ASMSNMP password is empty.
CAUSE: The ASMSNMP password should not be empty.
ACTION: Provide a non-empty password.

패스워드 설정 없이는 안되는 모양...

[WARNING] [INS-30064] Installer has detected that user "grid" does not belong to the OS group "asmoper" on some of the remote nodes.
CAUSE: The OS group "asmoper" does not exist or user "grid" is not a member of the OS group "asmoper", on remote nodes: [node02]
ACTION: Ensure that OS group "asmoper" exists and add install user "grid" as a member of the OS group "asmoper" on nodes [node02] or specify a different OS group in which install user is a member.
ADDITIONAL INFORMATION:
Summary of node specific errors
node02

  • PRVF-7566 : User "grid" does not belong to group "asmoper" on node "node02"
  • Cause: The specified user is not a member of the specified group on the specified node.
  • Action: Make the user a member of the group on the specified node.

[FATAL] [INS-32012] Unable to create directory: /u01/app/grid, on this server.
CAUSE: Either proper permissions were not granted to create the directory or there was no space left in the volume.
ACTION: Check your permission on the selected directory or choose another directory.
[FATAL] [INS-44002] The Oracle home location contains directories or files on following remote nodes:
[node02].
해당 디렉토리에 권한이 없어서 ...


'Oracle Study > RAC' 카테고리의 다른 글

ORACLE 11g RAC ASM 설치  (0) 2021.04.28
oracleasm createdisk  (0) 2015.02.19
11g ip setting  (0) 2015.02.19
VirtualBox 디스크 추가 명령어  (0) 2015.02.04
VMware server on RAC 11g installation (2)  (0) 2015.02.01