OL7 19c standalone single DB install

참고자료
Doc ID 2052802.1 (standalone silent로 구성 관련)
https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/about-the-oracle-inventory-directory-and-installation.html (경로별 권한)
https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/optimal-flexible-architecture-file-path-examples.html (경로별 권한)
https://dataforum.io/display/ORCL/Oracle+Database+19c+Real+Application+Clusters#OracleDatabase19cRealApplicationClusters-VM%EA%B5%AC%EC%84%B1 (RAC 구성 관련)
https://dataforum.io/display/ORCL/Oracle+Database+19c+Restart (Restart 구성 관련)
https://dataforum.io/display/ORCL/Silent+Install+%3A+Oracle+Database+19c+Restart (Restart silent 구성 관련)
https://positivemh.tistory.com/357 (asmca 관련)

VM 구성

CPU : 2core
RAM : 8192m

storage : data.vdi 30G 1개 미리 할당

항상 설치하던대로 vm 구성.

서버 설정

rpm

공식 requirements대로

/etc/hosts

ip대로 알잘딱. 고정ip를 쓰든, 변동을 그때그때 반영하든.

/etc/selinux/config

SELINUX=disabled
SELINUXTYPE=targeted

/etc/sysctl.conf

kernel.sem=250 32000 100 128
kernel.shmall=1048576
kernel.shmmax=4294967295
kernel.shmmni=4096
fs.file-max=6815744
fs.aio-max-nr=1048576
net.ipv4.ip_local_port_range=9000 65500
net.ipv4.conf.all.rp_filter=2
net.ipv4.conf.default.rp_filter=2
net.core.rmem_default=262144
net.core.rmem_max=4294304
net.core.wmem_default=262144
net.core.wmem_max=1048576

/etc/security/limits.conf

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768

grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768

[미사용 서비스 정리]

RAC 구성할 때에는 했는데 이번에 하는건 standalone이니깐 안하고 진행해봄.

계정

groupadd -g 54321 dba
useradd -g dba -u 54321 oracle
passwd oracle
useradd -g dba -u 54322 grid
passwd grid

디렉터리

공식문서 OFA(Oracle Flexible Architecture)
출처 : https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/about-the-oracle-inventory-directory-and-installation.html
/u01/app/oraInventory, owned by grid:oinstall
/u01/app/oracle, owned by oracle:oinstall
/u01/app/oracle/product/19.0.0/dbhome_1/, owned by oracle:oinistall
/u01/app/grid, owned by grid:oinstall
/u01/app/19.0.0/grid, owned by root
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/grid
mkdir -p /u01/app/19.0.0/grid
mkdir -p /oraCD
chown -R oracle:dba /u01
chown -R grid:dba /u01/app/oraInventory
chown -R grid:dba /u01/app/grid
chown -R grid:dba /u01/app/19.0.0/grid
chown -R oracle:dba /oraCD

chmod -R 775 /u01
chmod -R 775 /oraCD

# GI 설치 전에는 grid:dba로 해놓고 설치가 끝난 뒤에는 root:root 로 바꿔줘야 된다.
출처 : https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/optimal-flexible-architecture-file-path-examples.html
chown -R root:root /u01/app/19.0.0/grid

WinSCP로 /oraCD에 파일들 넘기기

udev

fdisk -l
lsblk -f

/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
1ATA_VBOX_HARDDISK_VBb13b7f44-2a3b7e8a

vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd?", ENV{ID_SERIAL}=="VBOX_HARDDISK_VBb13b7f44-2a3b7e8a", SYMLINK+="oracleasm/disks/DATA", OWNER="grid", GROUP="dba", MODE="0660"

udevadm control --reload-rules
udevadm trigger

ll /dev/oracleasm/disks
ll /dev/sd*

.bash_profile

만약 OL8 이상에서 설치할 경우 아래에서 두번째 줄 CV_ASSUME_DISTID 부분을 넣어야 오류없이 잘 됨.

# root
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export GRID_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=ol7sa
export GRID_SID=+ASM1
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/JRE
export TMP=/tmp
export TMPDIR=$TMP
#export CV_ASSUME_DISTID=OEL7.6
#export DISPLAY=192.168.0.110:0.0
# grid
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/19.0.0/grid
export GRID_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=ol7sa
export GRID_SID=+ASM1
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/JRE
export TMP=/tmp
export TMPDIR=$TMP
#export CV_ASSUME_DISTID=OEL7.6
#export DISPLAY=192.168.0.110:0.0
# oracle
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export GRID_HOME=/u01/app/19.0.0/grid
export ORACLE_SID=ol7sa
export GRID_SID=+ASM1
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/JRE
export TMP=/tmp
export TMPDIR=$TMP
#export CV_ASSUME_DISTID=OEL7.6
#export DISPLAY=192.168.0.110:0.0

Grid Infrastructure

unzip GRID_HOME

su - grid
cd $GRID_HOME
unzip /oraCD/<GRID_HOME.zip>

unzip OPatch engine

mv OPatch OPatch_old

opatch version
opatch lsinventory
opatch lspatches

unzip RU

vi gridsetup.rsp

INVENTORY_LOCATION=/u01/app/oraInventory
oracle.install.option=HA_CONFIG
ORACLE_BASE=/u01/app/grid
oracle.install.asm.OSDBA=dba
oracle.install.asm.OSOPER=dba
oracle.install.asm.OSASM=dba
oracle.install.crs.config.autoConfigureClusterNodeVIP=false
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.SYSASMPassword=oracle
oracle.install.asm.diskGroup.disks=/dev/oracleasm/disks/DATA
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/oracleasm/disks/*
oracle.install.asm.monitorPassword=oracle

./gridsetup.sh

./gridsetup.sh -applyRU 38298204 -silent -responseFile /u01/app/grid/install/response/gridsetup.rsp

설치 중에 /tmp밑에 log 찾아서 tail -f 걸기.

# 완료 후에 root 스크립트 수행
/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.0.0/grid/root.sh

crsctl stat res -t 로 잘 됐나 확인.

asmca

asmca -silent -createDiskGroup -diskGroupName DATA -diskList /dev/oracleasm/disks/DATA -redundancy external

으아악 -silent로 하다가 cluster에 asm이 안 올라가서 asmca가 안되고 다른 서비스도 안 올라오고 망가졌다. 로그를 까봐도 별 내용이 없고;; 그래서 그냥 deinstall 갈겨버리고 공손한 자세로 GUI 띄워서 다시 하는 중…

만약 추가해야되는 디스크가 있다면 빨간부분 처리해서 OK 누르기.

댓글 남기기