안녕하세요, surmin입니다! 오늘은 Oracle Linux 9.4에서 Oracle RAC(Real Application Clusters)를 설치한 경험을 나누고자 합니다. 이 글이 여러분의 설치 과정에 유용한 정보가 되길 바랍니다.😊
(VMware를 어느 정도 다룰 수 있다는 전제하에 진행하겠습니다.)
필요한 패치 버전 및 환경은 다음과 같습니다:
- 패치 파일:
p36582629_190000
(Grid, DB) - OPatch:
p6880880_190000
- Grid Home:
LINUX.X64_193000_grid_home
- DB Home:
LINUX.X64_193000_db_home
- 메모리: 4G 이상 (노드당)
먼저 원하는 디스크 Size 를 추가를 해줍니다.
디스크 저장 방식은 Store virtual disk as a single file 선택합니다 (여러개의 파일이 아닌 하나의 파일로 저장됩니다.)
정적할당
SCSI 1:0 으로 선택 후 OK (공유로 하기위해)
- 네트워크 어뎁터를 추가해 줍니다.
- 설정은 Host_only 선택 합니다. (게이트웨이 설정은 불필요하며, 대역대는 vmware에서 설정 가능 합니다.)
아래에서 대역대 및 DHCP 설정을 할 수 있습니다.
VMware 프로그램을 종료한 후, OS가 설치된 폴더에 들어가서 .vmx 파일을 메모장으로 열고, 맨 아래에 다음 내용을 추가한 후 저장합니다. (디스크 추가 시 종류를 SCSI로 설정한 경우, 그에 맞게 수정하세요.)
#nvme로 할경우
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
scsi1.sharedBus = "virtual"
nvme1:1.fileName = "D:\vm2\sheor\Oracle Linux 9-1-0.vmdk"
nvme1:1.mode = "independent-persistent"
nvme1:1.present = "TRUE"
nvme1:1.deviceType = "disk"
===
#디스크 타입이 scsi일경우
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
scsi1.sharedBus = "virtual"
scsi1:0.deviceType = "disk"
노드 1에서 수행
yum update -y
# 시간 동기화 설정
yum install chrony -y
systemctl enable chronyd
systemctl start chronyd
timedatectl set-timezone Asia/Seoul
rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime
timedatectl set-ntp yes
[root@ora19c ~]# timedatectl
Local time: Sun 2024-09-08 01:30:42 KST
Universal time: Sat 2024-09-07 16:30:42 UTC
RTC time: Sat 2024-09-07 16:30:42
Time zone: Asia/Seoul (KST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
#rc-local 환경 설정 및 서비스 실행
/usr/lib/systemd/system/rc-local.service
---------------------------------------------------------------
# 아래 내용 추가
[Install]
WantedBy=multi-user.target
---------------------------------------------------------------
$ sudo systemctl start rc-local
$ sudo systemctl enable rc-local
호스트설정 (각 노드들에 대한 IP설정)
#hosts 설정
[root@localhost ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.153.129 oracle19cadg01
192.168.153.139 oracle19cadg02
10.10.10.19 adginter01
10.10.10.29 adginter02
192.168.153.179 oracle19cadg01-vip
192.168.153.189 oracle19cadg02-vip
192.168.153.199 adg-scan
- 오라클 관련 패키지 설치 및 설정
#오라클 관련 패키지 설치 및 설정
yum install -y oracle-database-preinstall-19c
id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
#파라미터 설정 확인
[root@localhost limits.d]# cat /etc/security/limits.d/oracle-database-preinstall-19c.conf
dnf install -y bc
dnf install -y binutils
dnf install -y compat-openssl11
dnf install -y elfutils-libelf
dnf install -y fontconfig
dnf install -y glibc
dnf install -y glibc-devel
dnf install -y ksh
dnf install -y libaio
dnf install -y libasan
dnf install -y liblsan
dnf install -y libX11
dnf install -y libXau
dnf install -y libXi
dnf install -y libXrender
dnf install -y libXtst
dnf install -y libxcrypt-compat
dnf install -y libgcc
dnf install -y libibverbs
dnf install -y libnsl
dnf install -y librdmacm
dnf install -y libstdc++
dnf install -y libxcb
dnf install -y libvirt-libs
dnf install -y make
dnf install -y policycoreutils
dnf install -y policycoreutils-python-utils
dnf install -y smartmontools
dnf install -y sysstat
dnf install -y glibc-headers
dnf install -y ipmiutil
dnf install -y libnsl2
dnf install -y libnsl2-devel
dnf install -y net-tools
dnf install -y nfs-utils
dnf install -y gcc
dnf install -y unixODBC
yum install epel-release -y
yum search xorg
yum install xorg-x11-server-Xorg xorg-x11-xinit -y
/sbin/sysctl -p
#ASM을 위하여 grid 계정을 만듬
[root@localhost etc]# useradd -u 54322 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba grid
[root@localhost etc]# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost etc]# passwd grid
Changing password for user grid.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
#그룹 추가
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
usermod -a -G asmadmin oracle
usermod -aG asmadmin grid
usermod -aG asmoper grid
usermod -aG asmdba grid
usermod -aG asmoper oracle
usermod -aG asmdba oracle
#oracle하고 그룹이 같아야함
[root@ora19c dev]# id oracle
[root@ora19c dev]# id grid
[root@localhost etc]# vi /etc/sysconfig/selinux
--
disabled설정
--
systemctl stop bluetooth
systemctl disable bluetooth
systemctl stop avahi-daemon.socket
systemctl disable avahi-daemon.socket
systemctl stop avahi-daemon
systemctl disable avahi-daemon
systemctl stop libvirtd
systemctl disable libvirtd
sudo systemctl stop firewalld
sudo systemctl disable firewalld
vi /etc/sudoers
--
grid ALL=(ALL) ALL
oracle ALL=(ALL) ALL
--
[root@ora19c /]# cd /
[root@ora19c /]# mkdir /oralog
[root@ora19c /]# mkdir -p /oracle/app/oracle/product/19c/dbhome_1
[root@ora19c /]# mkdir -p /grid/app/grid/19c
[root@ora19c /]# chmod -R 775 oralog oracle grid
[root@ora19c /]# chown -R oracle:oinstall oralog oracle
# Grid 엔진 = 클러스터 기능
[root@ora19c /]# chown -R grid:oinstall grid
vi /etc/security/limits.d/oracle-database-preinstall-19c.conf
==
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
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
==
#여기서는 메모리 9G 할당함
vi /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=8g 0 0
systemctl daemon-reload
mount -o remount /dev/shm
df -h /dev/shm
- oracle, grid .bash_profile수정 / (노드1 설정 입니다.)
ORACLE
===
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_OWNER=oracle
export ORACLE_HOSTNAME=oracle19cadg01
export ORACLE_UNIQNAME=PROD
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1
export ORACLE_SID=PROD1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export SRVM_DISABLE_MTTRANS=true
umask 022
--------------------
grid
=====
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=oracle19cadg01
export ORACLE_UNIQNAME=+ASM
export GRID_HOME=/grid/app/grid/19c
export ORACLE_HOME=$GRID_HOME
export ORACLE_SID=+ASM1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
[root@ora19c /]# vi /etc/pam.d/login
==
session required pam_limits.so
# ^ ^ ^
# | | |
# | | +--- PAM 모듈 이름: 시스템 자원 제한을 설정함
# | |
# | +--- 이 모듈의 중요도: 반드시 성공해야 함
# |
# +--- PAM 관리 유형: 사용자 세션 관리를 위한 설정
# 전체 의미: 사용자가 로그인할 때마다 시스템 자원 사용 제한을 적용함
==
#lvm 설정을 위하여 패키지 설치
yum install lvm2
[root@ora19c ~]# parted /dev/sda
GNU Parted 3.5
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary 1M 100%
(parted) set 1 lvm on
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 215GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 215GB 215GB primary lvm
(parted) q
#fdisk 이용하여 LVM잡아 줍니다.
디스크 확인:
fdisk -l
이 명령어로 사용 가능한 디스크를 확인합니다. (예: /dev/sdb)
fdisk 실행:
fdisk /dev/sdb
여기서 /dev/sdb는 LVM으로 설정하려는 디스크입니다.
새 파티션 생성:
'n'을 입력하여 새 파티션을 생성합니다.
'p'를 선택하여 주 파티션으로 설정합니다.
파티션 번호는 기본값(1)을 사용합니다.
시작 섹터와 끝 섹터는 기본값을 사용하여 전체 디스크를 사용합니다.
파티션 타입 변경:
't'를 입력하여 파티션 타입을 변경합니다.
파티션 번호를 입력합니다 (보통 1).
'8e'를 입력하여 Linux LVM 타입으로 변경합니다.
변경사항 확인 및 저장:
'p'를 입력하여 파티션 테이블을 확인합니다.
'w'를 입력하여 변경사항을 저장하고 fdisk를 종료합니다.
[root@ora19c ~]# pvcreate /dev/sda1
[root@ora19c ~]# vgcreate oravg /dev/sda1
lvcreate -L 3G -n ocr01 oravg
lvcreate -L 3G -n ocr02 oravg
lvcreate -L 3G -n ocr03 oravg
lvcreate -L 40G -n data01 oravg
lvcreate -L 40G -n data02 oravg
lvcreate -L 40G -n data03 oravg
lvcreate -L 40G -n fra01 oravg
lvcreate -L 40G -n fra02 oravg
lvcreate -L 40G -n fra03 oravg (아니면 lvcreate -n fra -l 100%FREE oravg)
# udev 규칙 파일 생성
[oracle@ora19c rules.d]$ cd /etc/udev/rules.d
[oracle@ora19c rules.d]$ vi 96-asm.rules
==
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-ocr01", SYMLINK+="ocr01", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-ocr02", SYMLINK+="ocr02", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-ocr03", SYMLINK+="ocr03", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-data01", SYMLINK+="data01", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-data02", SYMLINK+="data02", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-data03", SYMLINK+="data03", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-fra01", SYMLINK+="fra01", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-fra02", SYMLINK+="fra02", OWNER="grid", GROUP="asmadmin", MODE="0660"
ACTION=="add|change", KERNEL=="dm-*", SUBSYSTEM=="block", ENV{DM_NAME}=="oravg-fra03", SYMLINK+="fra03", OWNER="grid", GROUP="asmadmin", MODE="0660"
==
# udev 규칙 재로드
[oracle@ora19c rules.d]$ udevadm control --reload-rules
[oracle@ora19c rules.d]$ udevadm trigger
# udev 로그 확인
(#확인가능#
journalctl -xe | grep udev
udevadm monitor )
# /dev/mapper에서 소유권 확인
[root@ora19c dev]# ll /dev/mapper/
# /dev에서 소유권 확인
# ll /dev/
#설정 후 호스트네임 필요 시 변경(os설치 맞춰저 있다면 불필요)
[root@ora19c grid]# yum install rlwrap
# hostnamectl set-hostname [변경할호스트이름]
# reboot
1번 노드 종료 후 노드 1 폴더 자체를 복사 → 복사 후 이름변경 → 1번노드 다시올림
폴더로 들어간 뒤 vmx 파일 실행
아래와 같이 수정들어가서 nic mac 수정 하기 (nat, host-only 둘다)
nic 둘다 mac 변경
이름변경
부팅후 I copied it 선택
노드 2에서 수행
hostnamectl set-hostname [변경할호스트이름]
여기서는 hostnamectl set-hostname oracle19cadg02
---
ORACLE
===
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_OWNER=oracle
export ORACLE_HOSTNAME=oracle19cadg02
export ORACLE_UNIQNAME=PROD
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1
export ORACLE_SID=PROD2
export ORACLE_TERM=xterm
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export SRVM_DISABLE_MTTRANS=true
umask 022
--------------------
grid
=====
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=oracle19cadg02
export ORACLE_UNIQNAME=+ASM
export GRID_HOME=/grid/app/grid/19c
export ORACLE_HOME=$GRID_HOME
export ORACLE_SID=+ASM2
export ORACLE_TERM=xterm
export PATH=/usr/sbin:/usr/local/bin:$PATH
export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
노드 1에서 진행
#노드1,노드2에서 lvs 통하여 확인해보기
#zip파일 권한 775 주기
# chown oracle:oinstall -R 명령어 통하여 해당 zip 파일들 소유자 변경 후 진행
unzip LINUX.X64_193000_grid_home.zip -d $GRID_HOME
unzip p36582629_190000_Linux-x86-64.zip -d /tmp/
cd $GRID_HOME/
rm -rf OPatch
cd /home/grid/
#새로운 OPatch
unzip p6880880_190000_Linux-x86-64.zip -d $GRID_HOME/
#노드1 에서는 yum으로 2에서는 sftp 를 이용해서 설치
#공유 디스크 검색 패키지
yum install /grid/app/grid/19c/cv/rpm/cvuqdisk-1.0.10-1.rpm
(확인:yum list installed | grep cvuqdisk, rpm -q cvuqdisk)
[grid@ora19c /]$ cd $GRID_HOME/
#패치 뒤집어씌우자 첫번째에서 셋업창(gui)나오면 캔슬
./gridSetup.sh -applyRU /tmp/36582629/36582781
./gridSetup.sh -applyRU /tmp/36582629/36587798
./gridSetup.sh -applyRU /tmp/36582629/36590554
./gridSetup.sh -applyRU /tmp/36582629/36648174
./gridSetup.sh -applyRU /tmp/36582629/36758186
#작업전 미리점검
$GRID_HOME/runcluvfy.sh stage -pre crsinst -n [노드1],[노드2] -verbose
#설치
./gridSetup.sh
--설치잘안되면 수동으로 설치 root로 말고 그래야 로그가 더 선명히 나옴
scan name에는 hosts에 적은 스캔이름 적습니다
ADD선택 후 두번째 노드에 대한 퍼블릭 명과 VIP명 적습니다.
- SSH connectivity 선택, GRID 유저 패스워드 입력
- Setup→test하기
IP확인
Use Oracle Flex ASM for storage 선택ㅇ
NO선택
OCR_VOTE 입력 후 Normal 선택
디스크가 안나올 경우 Change Discovery Path 선택(여기선 /dev/mapper)
ASM 인스턴스 관리 계정 Password 설정
IPMI는 보통 하드웨어에서 지원함으로 NO 선택
EM체크 하지않음
경로지정은 쭉 넘어간 다음(디폴트), 자동으로 스크립트 실행 설정
SCAN 관련메세지는 SCAN IP가 DNS에 등록되어 있지 않아서 발생한 문제 모두 Ignore
설치 막바지에 SCAN IP가 DNS에 등록되어 있지 않아서 발생한 문제 무시 해도됨 OK
GRID 설치 후 점검
#1번 노드
/grid/app/grid/19c># crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.chad
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.net1.network
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.ons
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.proxy_advm
OFFLINE OFFLINE oracle19cadg01 STABLE
OFFLINE OFFLINE oracle19cadg02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.OCR_VOTE.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 Started,STABLE
2 ONLINE ONLINE oracle19cadg02 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.cvu
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg01.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg02.vip
1 ONLINE ONLINE oracle19cadg02 STABLE
ora.qosmserver
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.scan1.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
--------------------------------------------------------------------------------
#2번 노드
/home/grid># crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.chad
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.net1.network
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.ons
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.proxy_advm
OFFLINE OFFLINE oracle19cadg01 STABLE
OFFLINE OFFLINE oracle19cadg02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.OCR_VOTE.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 Started,STABLE
2 ONLINE ONLINE oracle19cadg02 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.cvu
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg01.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg02.vip
1 ONLINE ONLINE oracle19cadg02 STABLE
ora.qosmserver
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.scan1.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
--------------------------------------------------------------------------------
/grid/app/grid/19c># ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 4
Total space (kbytes) : 901284
Used space (kbytes) : 84320
Available space (kbytes) : 816964
ID : 386907180
Device/File Name : +OCR
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 bypassed due to non-privileged user
[grid@oracle19cadg01 ~]$ $GRID_HOME/OPatch/opatch lspatches -oh $GRID_HOME
36758186;DBWLM RELEASE UPDATE 19.0.0.0.0 (36758186)
36648174;TOMCAT RELEASE UPDATE 19.0.0.0.0 (36648174)
36590554;ACFS RELEASE UPDATE 19.24.0.0.0 (36590554)
36582781;Database Release Update : 19.24.0.0.240716 (36582781)
36414915;OJVM RELEASE UPDATE: 19.24.0.0.240716 (36414915)
OPatch succeeded.
ASM Diskgroup생성
asmca
create선택
- Disk Group Name 에 DATA 입력 후 Normal 선택 후 DATA 디스크 선택
- External(단일화)은 쓰기 오류가 발생하면 디스크 그룹이 강제로 분리된다.
- show Eligible를 누른 후 디스크 를 찾습니다 (이미지는 show all 부분이니 그대로 하면 안됩니다.)
- FRA도 마찬가지로 해줍니다.
DB 소프트웨어(엔진) 설치
#권한 oracle oinstall맞는지 확인
#패치파일 압축 풀기
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME/
cd $ORACLE_HOME
rm -rf OPatch
cd /home/oracle/
#패치 업데이트를 위한 유틸리티 풀기
unzip p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME/
cd $ORACLE_HOME/
./runInstaller -applyRU /tmp/36582629/36582781
./runInstaller -applyRU /tmp/36582629/36587798
#설치전 확인
$GRID_HOME/runcluvfy.sh stage -pre crsinst -n [노드1],[노드2]
./runInstaller
ssh 누른 후 oracle 패스워드 입력 및 set up 누른 후 넘어간다.
자동으로 나온 경로로 설치
root 접속정보 입력
DB설치
#db패치정보 확인
$ORACLE_HOME/OPatch/opatch lspatches -oh $ORACLE_HOME
#oracle 계정 접속
dbca
체크해제 및 이름입력
경로 보고 틀리면 선택한다.
아카이브는 체크해제
기본선택 그대로간다.
샘플스키마 체크한다.
통신방식은 Dedicated 방식으로 선택한다.
체크해제 한다.
접속정보 입력
DB생성 체크
sqlplus / as sysdba
#db생성 확인
SQL> select instance_name, version, status from gv$instance;
INSTANCE_NAME VERSION STATUS
---------------- ----------------- ------------
PROD1 19.0.0.0.0 OPEN
PROD2 19.0.0.0.0 OPEN
#db패치적용
cd $ORACLE_HOME/OPatch
./datapatch -verbose
그리드 확인
#노드1
[grid@oracle19cadg01 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.chad
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.net1.network
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.ons
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.proxy_advm
OFFLINE OFFLINE oracle19cadg01 STABLE
OFFLINE OFFLINE oracle19cadg02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.FRA.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 Started,STABLE
2 ONLINE ONLINE oracle19cadg02 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.cvu
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg01.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg02.vip
1 ONLINE ONLINE oracle19cadg02 STABLE
ora.prod.db
1 ONLINE ONLINE oracle19cadg01 Open,HOME=/oracle/ap
p/oracle/product/19c
/dbhome_1,STABLE
2 ONLINE ONLINE oracle19cadg02 Open,HOME=/oracle/ap
p/oracle/product/19c
/dbhome_1,STABLE
ora.qosmserver
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.scan1.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
--------------------------------------------------------------------------------
#노드2
[grid@oracle19cadg02 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.chad
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.net1.network
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.ons
ONLINE ONLINE oracle19cadg01 STABLE
ONLINE ONLINE oracle19cadg02 STABLE
ora.proxy_advm
OFFLINE OFFLINE oracle19cadg01 STABLE
OFFLINE OFFLINE oracle19cadg02 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.FRA.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 Started,STABLE
2 ONLINE ONLINE oracle19cadg02 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE oracle19cadg01 STABLE
2 ONLINE ONLINE oracle19cadg02 STABLE
ora.cvu
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg01.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.oracle19cadg02.vip
1 ONLINE ONLINE oracle19cadg02 STABLE
ora.prod.db
1 ONLINE ONLINE oracle19cadg01 Open,HOME=/oracle/ap
p/oracle/product/19c
/dbhome_1,STABLE
2 ONLINE ONLINE oracle19cadg02 Open,HOME=/oracle/ap
p/oracle/product/19c
/dbhome_1,STABLE
ora.qosmserver
1 ONLINE ONLINE oracle19cadg01 STABLE
ora.scan1.vip
1 ONLINE ONLINE oracle19cadg01 STABLE
--------------------------------------------------------------------------------
- 각 노드에 있는 export CV_ASSUME_DISTID=OL7 설정 삭제 진행 후 적용 하면된다.
각 노드에 작성을 한다 root 프로파일
#노드1
[root@oracle19cadg01 ~]# vi .bash_profile
==
export ORACLE_HOME=$ORACLE_BASE/product/19c
export GRID_HOME=/grid/app/grid/19c
export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GRID_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
==
[root@oracle19cadg01 ~]# . .bash_profile
#노드2
[root@oracle19cadg02 ~]# vi .bash_profile
==
export ORACLE_HOME=$ORACLE_BASE/product/19c
export GRID_HOME=/grid/app/grid/19c
export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GRID_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
==
[root@oracle19cadg01 ~]# . .bash_profile
#sudo 권한제거 (oracle,grid) 각 노드
vi /etc/sudoers
root에서 기동 및 종료 테스트
[root@oracle19cadg01 ~]# crsctl stop crs
[root@oracle19cadg01 ~]# crsctl start crs -wait
#자동 시작확인 노드1 , 노드2
[root@oracle19cadg01 ~]# crsctl config crs
CRS-4622: Oracle High Availability Services autostart is enabled.
[root@oracle19cadg02 ~]# crsctl config crs
CRS-4622: Oracle High Availability Services autostart is enabled.