728x90

준비물

Oracle Linux7.9 설치 : https://peryh.tistory.com/66?category=871552

다운로드 설치 파일 : https://peryh.tistory.com/68?category=871557

 

 

설치 방법

1. OS 유저 생성(공통)
2. 디스크 추가 및 공유 디스크 설정(공통)
3. 라이브러리 설치(공통)
4. 미사용 서비스 및 hugepage, MTU 설정(공통)
5. 파라미터 및 유저 리소스 설정(공통)
6. 환경변수 설정, 권한 설정
7. 그리드 엔진 설치(1번기)
8. Diskgroup 생성(1번기)
9. 오라클 엔진 설치(1번기)
10. 오라클 DB 생성(1번기)

 

1. OS 유저 생성(공통)

OS 그룹 및 유저 생성 (https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/creating-operating-system-privileges-groups.html#GUID-164A7218-166D-4B58-9A86-88149E8FCB83)

두 개 이상의 Oracle 소프트웨어 제품이 서버에 설치된 경우 계획된 설치의 일부로 Oracle Inventory 그룹을 수동으로 생성합니다.
기본적으로 oraInventory 그룹이 없는 경우 설치 프로그램은 설치 중인 Oracle 소프트웨어에 대한 설치 소유자의 기본 그룹을 oraInventory 그룹으로 사용합니다. 이 그룹이 계획된 모든 Oracle 소프트웨어 설치 소유자에 대한 기본 그룹으로 사용 가능한지 확인하십시오.
파일이 없으면 oraInst.loc다음과 유사한 명령을 입력하여 Oracle Inventory 그룹을 생성합니다.

ASM용 OSDBA 그룹 생성
설치하는 동안 그룹 을 ASM용 OSDBA( asmdba) 그룹으로 지정해야 합니다. 이 그룹의 구성원에게는 Oracle Automatic Storage Management에 대한 액세스 권한이 부여됩니다.

ASM용 OSOPER 그룹 생성 설치 중에
그룹을 ASM용 OSOPER 그룹( )으로 지정하도록 선택할 수 있습니다 . asmoper이 그룹의 구성원에게는 Oracle Automatic Storage Management에 대한 시작 및 종료 권한이 부여됩니다.

데이터베이스 설치를 위한 OSDBA 그룹 생성
각 Oracle 데이터베이스에는 OSDBA 그룹으로 지정된 운영 체제 그룹이 필요합니다. 이 그룹의 구성원에게는 데이터베이스를 관리할 수 있는 SYSDBA 시스템 권한이 부여됩니다.

데이터베이스 설치를 위한 OSOPER 그룹
생성 제한된 데이터베이스 관리 권한(SYSOPER 운영자 권한)으로 운영 체제 사용자 그룹을 식별하려는 경우에만 OSOPER 그룹을 생성하십시오.
대부분의 설치에서는 OSDBA 그룹만 만드는 것으로 충분합니다. 단, OSOPER 그룹을 사용하기 위해서는 다음과 같은 상황에서 생성해야 합니다.
OSOPER 그룹이 존재하지 않는 경우, 예를 들어 시스템에 Oracle Database 소프트웨어를 처음 설치하는 경우
OSOPER 그룹이 존재하지만 새로운 Oracle 설치에서 다른 운영 체제 사용자 그룹에 데이터베이스 운영자 권한을 부여하려는 경우

데이터베이스 설치를 위한 OSBACKUPDBA 그룹 만들기 설치하는 동안 그룹을 OSBACKUPDBA 그룹으로 지정해야 합니다. 이 그룹의 구성원에게는 RMAN 또는 SQL*Plus를 사용하여 백업 및 복구 작업을 수행할 수 있는 SYSBACKUP 권한이 부여됩니다.

데이터베이스 설치를 위한 OSDGDBA 그룹 생성 설치하는 동안 그룹을 OSDGDBA 그룹으로 지정해야 합니다. 이 그룹의 구성원에게는 Data Guard 작업을 수행할 수 있는 SYSDG 권한이 부여됩니다.

데이터베이스 설치를 위한 OSKMDBA 그룹 만들기 설치하는 동안 그룹을 OSKMDBA 그룹으로 지정해야 합니다. 이 그룹의 구성원에게는 투명 데이터 암호화 키 저장소 작업을 수행할 수 있는 SYSKM 권한이 부여됩니다.

데이터베이스 설치를 위한 OSRACDBA 그룹 생성 데이터베이스를 설치하는 동안 그룹을 OSRACDBA 그룹으로 지정해야 합니다. 이 그룹의 구성원에게는 Oracle RAC 클러스터에서 Oracle 데이터베이스의 일상적인 관리를 수행할 수 있는 SYSRAC 권한이 부여됩니다.

#필요 시 선택하여 생성, 최소 사항으로 dba만 있어도 설치에 문제는 없음
/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper
/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 54330 racdba

/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,backupdba,dgdba,kmdba,racdba grid

passwd grid
grid

passwd oracle
oracle

 

2. 디스크 추가 및 공유 디스크 설정(공통)

그리드 및 오라클 엔진 설치 디스크 추가

서버 목록 ->  정보 -> 상단의 새로 만들기 -> 저장소 -> 맨 우측 그림 클릭

 

VDI 선택

 

동적 할당 선택

 

그리드 및 오라클 엔진 설치할 디스크 생성(grid : 30G / oracle : 30G)

 

선택 클릭하여 디스크 추가하기

 

공유 디스크 생성

서버 목록 ->  정보 -> 상단의 새로 만들기 -> 저장소 -> 맨 우측 그림 클릭

 

VDI 선택

 

동적 할당 선택

 

ASM 디스크 생성(MGMT 영역 : 40G(필수) / OCR : 15G / DATA :  30G / RECO 15G

시간이 상당히 소요됨(약 10분)

 

디스크 추가 완료된 모습, 선택 눌러서 종료

 

등록된 디스크 제거

 

파일 -> 가상 미디어 관리자 선택

 

상단의 속성 선택 및 종류 변경 후 적용

 

1번기 정보 -> 설정

 

저장소 -> 디스크 추가 선택

 

공유 디스크 선택

 

디스크 정보 확인

 

2번기 정보 -> 설정

 

저장소 -> 디스크 추가 선택

 

공유 디스크 선택

 

디스크 추가 및 내용 확인

 

OS 부팅 및 디스크 확인

 

엔진 설치 디스크 포맷 및 마운트 설정

디스크 확인(엔진 설치 디스크는 작성자 서버 기준/dev/sdb)

fdisk -l /dev/sdb
n -> p -> enter -> enter -> +30G -> p 

 

파티션 추가 생성

n -> p -> enter -> enter -> enter -> p ->w

 

파티션 포맷

mkfs.ext4 /dev/sdb1 -> enter
mkfs.ext4 /dev/sdb2 -> enter

 

마운트 설정 및 확인

cd /
mkdir /grid
mkdir /oracle
mount /dev/sdb1 /grid
mount /dev/sdb2 /oracle
df -h

 

오토마운트 설정 방법

디스크의 uuid 확인 및 uuid 복사

blkid

 

오토 마운트 등록 파일을 열고 아래처럼 내용 작성

vi /etc/fstab

UUID=4a1f9ed8-8837-432d-9a1a-14f5b64c3cd3 /grid                   ext4    defaults        0 0
UUID=75eb2227-4dd1-4c67-a115-97cc94abd07f /oracle                 ext4    defaults        0 0

 

저장 후 재기동 후 확인

wq
reboot
df -h

 

재기동 시 에러 발생한다면, 오토 마운트 정보 입력 에러 시 정상 부팅이 안 됨

해결책은 https://peryh.tistory.com/69

 

 

공유 디스크 구성, 파티션 및 파일시스템 지정(공유 디스크는 작성자 서버 기준 /dev/sdc)

fdisk /dev/sdc
 
n -> p -> 1 -> enter -> enter -> t -> 8e(LVM) -> p -> w

 

논리적 스토리지 생성

pvs/vgs 생성 논리적 개념은(https://tech.cloud.nongshim.co.kr/2018/11/23/lvmlogical-volume-manager-1-%EA%B0%9C%EB%85%90/)참조

pvcreate /dev/sdc1
vgcreate asm /dev/sdc1
pvs 

 

lvs 생성

lvcreate -n ocr01 -L 5G asm
lvcreate -n ocr02 -L 5G asm
lvcreate -n ocr03 -L 5G asm
lvcreate -n mgmt01 -L 20G asm
lvcreate -n mgmt02 -L 20G asm
lvcreate -n data01 -L 10G asm
lvcreate -n data02 -L 10G asm
lvcreate -n data03 -L 10G asm
lvcreate -n reco01 -L 5G asm
lvcreate -n reco02 -L 5G asm
#lvcreate -n reco03 -L 5G asm   => 공간부족으로 생성 불가
lvcreate -n reco03 -L 4G asm

 

생성된 디스크 확인

lvs
lsblk

 

2번기 확인, 1번기에서 설정한 디스크 정보가 없음

lvs
lsblk

 

디스크 내용에 대한 정보가 없기 때문, OS 커널이 인식하는 파티션 정보와 일치하지 않기 때문에 /dev 디렉토리 밑에 디바이스 파일이 생성되지 않음, reboot 하지 않고 파티션을 인식 시키는 명령으로 수행(해당 디바이스가 umount 상태에서만 가능)

단, 파일시스템에 대한 자동 동기화솔루션이나 다른 도움이 필요

만약, 1번기에서 file을 생성 후 partprobe로 동기화 후에 2번기에서 ls 해도 해당 파일은 보이지 않음(remount 해야 보임)

partprobe

 

디스크 권한 및 소유자 변경을 위한 확인(1번, 2번기 둘 다 수행)

ls -la /dev/asm/*

 

udev 설정, 내용 참조 : (https://lascrea.tistory.com/89)

vi /etc/udev/rules.d/60-raw.rules

KERNEL=="dm-0",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-1",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-2",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-3",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-4",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-5",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-6",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-7",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-8",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-9",OWNER="grid",GROUP="dba",MODE="0660"
KERNEL=="dm-10",OWNER="grid",GROUP="dba",MODE="0660"

 

권한 적용, 권한 변경된 디스크 확인

udevadm control --reload-rules
udevadm trigger --action=add
ls -l /dev/dm*

 

grid 유저를 생성하지 않고서는 적용해도 해당 내용이 변경되지 않음(그래서 처음 생성하고 시작함)

 

유저 생성 후 시도 시 정상 변경

 

 

3. 라이브러리 설치(공통)

오라클 DB 설치를 위한 필요 라이브러리

yum install -y bc
yum install -y binutils
yum install -y compat-libcap1
yum install -y compat-libstdc++-33
yum install -y elfutils-libelf
yum install -y elfutils-libelf-devel
yum install -y fontconfig-devel
yum install -y glibc
yum install -y glibc-devel
yum install -y ksh
yum install -y libaio
yum install -y libaio-devel
yum install -y libX11
yum install -y libXau
yum install -y libXi
yum install -y libXtst
yum install -y libXrender
yum install -y libXrender-devel
yum install -y libgcc
yum install -y libstdc++
yum install -y libstdc++-devel
yum install -y libxcb
yum install -y make
yum install -y net-tools
yum install -y nfs-utils
yum install -y python
yum install -y python-configshell
yum install -y python-rtslib
yum install -y python-six
yum install -y targetcli
yum install -y smartmontools
yum install -y sysstat
yum install -y unzip

 

xterm을 통한 X-window를 위한 패키지 설치, 아래 패키지가 설치 되면 X-window로 서버 다이렉트 접속이 아니라

putty를 연결한 host에서 GUI 설치 가능(단, 접속 프로그램이 mobaxterm 처럼 해당 windows를 지원해야 함)

yum -y install xorg*

 

미 설치 시 아래와 같은 에러 발생

 

 

설치 시 아래처럼 설치 창 나옴

 

 

4. 미사용 서비스 및 hugepage, MTU 설정(공통)

서비스 확인

systemctl list-unit-files | egrep "firewalld.service|chronyd.service|ntpdate.service|avahi-daemon.service"

 

DNS 중지

systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon
systemctl disable avahi-daemon
systemctl status avahi-daemon

 

시간 동기화 중지

systemctl stop chronyd
systemctl disable chronyd
mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl status chronyd

 

방화벽 중지

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

 

NTP 중지

systemctl stop ntpdate
systemctl disable ntpdate
systemctl status ntpdate

 

transparent hugepages 비활성화 설정(https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/disabling-transparent-hugepages.html#GUID-02E9147D-D565-4AF8-B12A-8E6E9F74BEEA)

활/비활성 여부 확인(always는 활성 상태)

cat /sys/kernel/mm/transparent_hugepage/enabled

 

설정 변경(위 사진이 전, 아래 사진이 후)

vi /etc/default/grub
GRUB_CMDLINE_LINUX="rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet transparent_hugepage=never"

 

변경 사항 적용

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.org
grub2-mkconfig -o /boot/grub2/grub.cfg

 

재부팅 후 변경사항 확인(Anonymous HugePages의크기가 0이면 적용 완료, 위 사진이 전, 아래 사진이 후)

cat /sys/kernel/mm/transparent_hugepage/enabled
grep Huge /proc/meminfo
reboot

cat /sys/kernel/mm/transparent_hugepage/enabled
grep Huge /proc/meminfo

 

Private MTU 사이즈 변경, Private MTU 사이즈는 9000 권고

1번, 2번 서버의 MTU 사이즈는 무조건 같게 설정, MTU size가 다를 경우 2번 노드에서 root.sh 돌리는 도중 실패함

내 인터페이스 확인(외부 : 192.168.88.X / 내부 : 192.168.11.X)

ifconfig

 

내부망 인터페이스 확인 및 설정

ip link show enp0s8
ip link set enp0s8 mtu 9000
ip link show enp0s8

 

 

5. 파라미터 및 유저 리소스 설정(공통)

메모리 확인

cat /proc/meminfo | grep MemTotal

 

페이지 확인

getconf PAGESIZE

 

커널 파라미터 설정(https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/changing-kernel-parameter-values.html#GUID-FB0CC366-61C9-4AA2-9BE7-233EB6810A31)

kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 2549152         # MemTotal (KB) * 1024 / 4096    page 단위 (Doc ID 301830.1)
kernel.shmmax = 5220663296      # MemTotal (KB) * 1024 / 2       bytes 단위(Doc ID 567506.1)
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.file-max = 6815744
fs.aio-max-nr = 1048576

net.ipv4.ip_local_port_range = 9000 65500

 

커널 파라미터 적용

sysctl -p

 

유저 리소스 제한

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

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   soft    memlock   9176947   # MemTotal의 약 90% (KB)
oracle   hard   memlock   9176947    # MemTotal의 약 90% (KB)

 

/etc/hosts 파일 변경 전 장치 확인

hostname
ifconfig

 

해당 정보를 /etc/hosts 내부에 기입

### Public
192.168.88.79   ol79rac1
192.168.88.80   ol79rac2

### Private
192.168.11.79   ol79rac1-priv
192.168.11.80   ol79rac2-priv

### Virtual
192.168.88.81   ol79rac1-vip
192.168.88.82   ol79rac2-vip

### SCAN
192.168.88.83   ol79rac-scan

 

6. 환경변수 설정, 권한 설정

grid 유저 프로파일 설정

su - grid
vi ~/.bash_profile

# Grid Environment:
export ORACLE_BASE=/grid/app/base
export GRID_HOME=/grid/app/12c/grid
export ORACLE_HOME=$GRID_HOME
export ORACLE_SID=+ASM1                # 2번 노드는 +ASM2
export BASE_PATH=/usr/sbin
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH:$HOME/.local/bin:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
 
export PS1=`whoami`@`hostname`\['$ORACLE_SID'\]':$PWD$ '

 

oracle 유저 프로파일 설정 및 적용

# Oracle Environment:
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12c/dbhome_1
export ORACLE_PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export ORACLE_SID=RAC1                                         # 2번 노드는 RAC2
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export PATH=$PATH:$ORACLE_PATH:$HOME/.local/bin:$HOME/bin
 
# Set up the shell variables:
export EDITOR=vi
export LANG=C
export PS1=`whoami`@`hostname`\['$ORACLE_SID'\]':$PWD$ '

. ~/.bash_profile

 

설치 파일 각 디스크로 전송 및 확인

ls -l /grid /oracle

 

디렉터리 권한 변경

chmod -R 775 /grid /oracle
chown -R grid. /grid /oracle
chown -R oracle. /oracle
ls -l / ; ls -l /grid /oracle

 

 

7. 그리드 엔진 설치

설치 파일 압축 해제

su - grid
cd /grid
mkdir -p $GRID_HOME
unzip <압축파일명> -d $GRID_HOME

 

ssh 접속 설정(RAC 설치 시, 1번기에서 설치되는 내역을 ssh를 통해 2번기로 파일을 넘겨주기 때문에 필수적으로 설정해야 함)

cd $GRID_HOME/oui/prov/resources/scripts
./sshUserSetup.sh -user grid -hosts "ol79rac1 ol79rac2" -noPromptPassphrase -advanced

 

중간에 작성해 줄 부분

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

The user may be prompted for a password here since the script would be running SSH on host ol79rac1.
Warning: Permanently added 'ol79rac1,192.168.88.79' (ECDSA) to the list of known hosts.
grid@ol79rac1's password: grid 입력
Done with creating .ssh directory and setting permissions on remote host ol79rac1.
Creating .ssh directory and setting permissions on remote host ol79rac2
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 ol79rac2. 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 ol79rac2.
Warning: Permanently added 'ol79rac2,192.168.88.80' (ECDSA) to the list of known hosts.
grid@ol79rac2's password: grid 입력
Done with creating .ssh directory and setting permissions on remote host ol79rac2.

 

ssh 정상적으로 맺었는지 확인, remote node 접속 시 패스워드를 묻지 않아야 함

ssh ol79rac2 date              #외부 통신 영역
ssh ol79rac2-priv date       #내부 interconnect 영역

#interconnect 영역이 ssh 설정되지 않았다면 yes만 눌러주면 설정 완료

 

해당 스크립트를 돌린 후 grid 설치 중 ssh 연결이 안되어 있다면 수동으로 ssh 연결 맺기

 

 

cvuqdisk 패키지 설치(모든 노드, 해당 패키지가 없으면 클러스터 확인 유틸리티(CVU)는 공유 디스크를 찾을 수 없음)

해당 패키지는 oinstall 그룹이 존재해야만 설치되며, 없을 경우 에러나서 설치 불가

echo $GRID_HOME   #해당 내용 복사
exit
cd /grid/app/12c/grid/cv/rpm
ls -l
rpm -ivh cvuqdisk-1.0.10-1.rpm

cat /etc/hosts
scp cvuqdisk-1.0.10-1.rpm root@ol79rac2:/tmp
yes
root

ssh ol79rac2
cd /tmp
ls -l | grep cvu
rpm -ivh cvuqdisk-1.0.10-1.rpm

 

설치 전 사전 점검(해당 부분 확인을 위해서는 /tmp 디렉터리가 5G 이상이여야 함, 아니면 / 에 여유 공간 필요)

필수 사항은 아니며, 맞추면 장애 없이 설치가 가능하고, grid 설치 전 check 사항에서 한번 더 체크 가능

새로운 접속창으로 grid 접속
cd $GRID_HOME
./runcluvfy.sh stage -pre crsinst -n ol79rac1,ol79rac2 -osdba dba -orainv dba -verbose

 

아래는 설치 전 테스트 내용 확인

 

서버에서 바로 설치하는 것이 아니라면 X-windows 설정이 필요

X-windows 설치 : root 유저에서 yum - y install xorg* 패키지 설치

cd $GRID_HOME
./gridSetup.sh

 

 

 

 

 

노드 추가

 

설치 전 ssh 접속 설정을 안했다면 여기서 ssh connectivity로 설정 가능

cd $GRID_HOME/oui/prov/resources/scripts
./sshUserSetup.sh -user grid -hosts "ol79rac1 ol79rac2" -noPromptPassphrase -advanced

 

정상 설정인지 확인하는 법은 Test 눌러서 선택하면 아래같은 화면이 나옴

 

인터페이스 설정

 

 

 

 

 

 

유저 패스워드 설정(oracle_4U)

 

 

EM 설치 안함

 

그룹 생성 다 한 경우 아래처럼, dba만 설정한 경우 전부 dba 그룹으로 설정

 

asmoper를 주지 않은 경우 아래 같은 에러 발생

 

아래처럼 설정

 

yes로 넘어가기

 

 

비어있지 않아도 YES

 

 

스크립트 수동으로 돌릴 예정

 

설정 내용 확인, 패키지가 없거나 kernel 설정이 부족한 경우 변경 후 retry

 

 

쉘 돌리기

순서는 1번기 orainstRoot.sh -> 2번기 orainstRoot.sh -> 1번기 root.sh -> 2번기 root.sh

 

 

root.sh 이 에러나는 경우 재설치 해야함

2번기의 ASM 디스크 인식을 못하는 경우 cluster 17번에서 막히거나 1 에러 내용 나옴

아니면 무사히 넘어갔다 하더라도 2번기의 root 쉘 이후 클러스터 리소스에 등록 안되는 문제 발생함

 

아래는 정상적으로 설치되는 과정

 

2번기도 동일하게 진행

 

이후 ok를 눌러 계속 진행

 

설치 완료 후 INS-20802 에러 발생, details로 내용 확인

 

로그 내역을 보면 SCAN ip가 DNS에 등록되어 있지 않아서 발생한 문제

 

무시 가능하니 OK로 마무리

 

fail 2개가 났지만 괜찮음 Next 선택

 

스킵할 건데 괜찮냐고 묻는 메시지, YES 

 

설치 완료

 

설치 된 내용 확인, 정상적으로 등록된 리소스들이 보임

 

 

8. Diskgroup 생성(1번기)

DB를 생성 시, datafile을 넣기 위한 diskgroup 생성이 필요함

su - grid
asmca 

 

디스크 그룹 선택 및 Create

 

DATA 디스크 영역 생성

 

RECOVERY 데이터 영역 생성

 

생성 내용 확인

 

디스크 그룹 생성 조회

export ORACLE_SID=+ASM
asmcmd
ls -l

 

 

9. 오라클 엔진 설치

1번기 오라클 엔진 파일 압축 해제

su - oracle
cd /oracle
ls -l
unzip Oracle\ Database\ 12.2.0.1.0\ for\ Linux\ x86-64\,\ 3.2\ GB.zip

 

 ssh 설정

cd /oracle/database/sshsetup
./sshUserSetup.sh -user oracle -hosts "ol79rac1 ol79rac2" -noPromptPassphrase -advanced

 

오라클 엔진 설치

cd /oracle/database
ls -l
./runInstaller

 

메일 안받음, 체크 해제 후 Yes

 

엔진만 인스톨 할 예정이라 software only 선택

 

RAC 선택

 

node 선택, grid와 마찬가지로 ssh 접속 잘 했다면, 그냥 Next

 

아니면 테스트 확인


엔터프라이즈 선택

 

경로 선택

 

그룹 설정, 운영 시에는 일반적으로 DBA로 다 통일함

 

실제로 아래처럼 변경 후 Next

 

SCAN이 없어서 나오는 에러 무시하고 Next

 

경고창 무시

 

인스톨 진행

 

스크립트는 1번, 2번 순으로 수행

 

1번기 수행

 

2번기 수행 

 

엔진 설치 완료

 

 

10. 오라클 DB 생성(1번기)

DB생성

dbca

 

Advanced 선택

 

Custom

 

Node 선택

 

인스턴스 이름 지정

 

데이터 파일 경로 지정, OMF 해제

 

yes

 

 

컴포넌트 선택

 

메모리 설정

 

인코딩 설정

 

샘플 스키마

 

 에러가 발생한다

 

 

에러나면 해제

 

EM 및 CVU 삭제

 

비밀번호 설정(oracle_4U)

 

스크립트 생성 시 체크

 

파일 크기랑 경로 설정 원하면 Customize 클릭, 여기 내부에서 선택

 

파라미터 관련 설정은 All initialization 선택, 특이사항 없으면 Next

 

SCAN 무시

 

Finish 선택

 

생성 중, 에러 없으면 정상 완료

 

설치 완료, 계정정보를 GUI에서 컨트롤 하고 싶으면 Password 선택

 

후속처리

root 계정에서도 srvctl 및 crsctl 사용을 위해 프로파일 적용

su - 
vi ~/.bash_profile

아래내용 기입
# User specific environment and startup programs

export ORACLE_HOME=$ORACLE_BASE/product/12c/dbhome_1
export GRID_HOME=/grid/app/12c/grid

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$GRID_HOME/bin

export PATH

 

이후 적용, 확인

. ~/.bash_profile
which srvctl

+ Recent posts