오라클 RAC 설치 19c
DB CAFE
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 오라클 RAC 설치[편집]
- ram 최소 16G 이상 (8 + 8)
- hdd 최소 120G (60G + 60G) 이상
- Virtual Box 다운로드 (https://www.virtualbox.org/wiki/Downloads)
- Oracle Linux 설치 파일 다운로드 (https://yum.oracle.com/oracle-linux-isos.html)
- Oracle Grid 환경 설치 파일 다운로드
- Oracle Grid , Oracle Database 다운로드 링크 (https://www.oracle.com/kr/database/technologies/oracle19c-linux-downloads.html)
- LINUX.X64_193000_grid_home.zip
- LINUX.X64_193000_db_home.zip
- 서버 구성
- VM 구성 (RAC1,RAC2 각각)
- OS (ORACLE LINUX (OracleLinux-R7-U9-Server-x86_64) 각각)
- HOSTNAME (rac1,rac2 각각)
- 메모리 16기가(8G + 8G)
- 네트워크 어뎁터1 (NAT네트워크 각각)
- 네트워크 어뎁터2 (호스트전용네티워크 각각)
- VM 구성 (RAC1,RAC2 각각)
- 스토리지 구성
- 스토리지 영역 60GB (RAC1.vdi,RAC2.vdi 각각 생성) , 스토리지 역역
- CRS 저장영역 3GB (CRS1.vdi,CRS2.vdi,CRS3.vdi 공유파일) , CRS 저장 영역
- DATA 영역 20G (DATA.vdi 공유파일) , 데이터 영역
- FRA 영역 10G (FRA.vdi 공유파일) , FAST RECOVERY AREA
- 네트워크 구성
- Public IP (10.0.2.15 , 10.0.2.16 )
- Priviate IP (192.168.56.101 , 192.168.56.102)
- Virtual IP (10.0.2.150 , 10.0.2.160 )
- Netmask 255.255.255.0
- GateWay 10.0.2.2
- DNS server 127.0.0.1
- SCAN IP (10.0.2.20 , 10.0.2.21 , 10.0.2.22)
1.1 RAC1 VM 설치[편집]
1.1.1 VM 생성[편집]
- VM 이름 및 운영체제 선택
1.1.2 메모리 크기 설정[편집]
- 8GB로 설정. (Grid 최소 메모리 사양 )
1.1.3 하드 디스크 설정[편집]
하드 디스크 설정 하드디스크 파일 종류 설정 동적 할당으로 하드디스크 생성 하드디스크 위치 및 크기 설정
1.1.4 RAC 하드웨어 설정[편집]
- RAC1의 VM 설정
리눅스 설치 파일 삽입 오디오 설정 해제
네트워크 설정
- 어댑터 1 - NAT 네트워크 설정
- NAT 네트워크로 설정하면 VM 내부 네트워크에서 Host PC 외부 네트워크까지 단방향 통신(외부 통신)이 가능
- Host PC 내 VM 간의 통신 가능(NAT와 다른 점은 Host PC 내 통신이 가능)
- 어댑터 2 - 호스트 전용 어댑터 설정
1.1.5 VM 시작[편집]
1.1.6 Install Oracle Linux 7.6 설치 선택[편집]
1.1.7 언어 선택[편집]
1.1.8 소프트웨어 선택[편집]
1.1.10 시스템 설치 대상 선택[편집]
로컬 표준 디스크로 설정
KDUMP > 비활성화
SECURITY POLICY > 끔
네트워크 설정 > rac1으로 설정
설치 시작
root 암호 설정
사용자 생성
설치 진행중...
재부팅
재부팅 후 라이센스 동의
Oracle Linux 설치 완료 / 로그인
네트워크 설정 이더넷(enp0s3)
IPv4의 네트워크는 수동으로 설정 후 고정 IP 입력 > 10.0.2.15 255.255.255.0 10.0.2.2
IPv6는 무시로 설정
이더넷(enp0s8)
IPv4의 네트워크는 수동으로 설정 후 고정 IP 입력 > 192.168.56.101 255.255.255.0
IPv6는 무시로 설정
1.1.11 Linux 설치 정보 확인[편집]
1.2 RAC1 리눅스 환경 설정[편집]
1.2.1 불필요한 서비스 정리[편집]
1.2.2 보안 설정[편집]
1.2.3 hosts 파일 수정[편집]
1.2.4 dnsmasq 활성화[편집]
vi /etc/dnsmasq.conf
cat /etc/resolv.conf
systemctl start dnsmasq
systemctl enable dnsmasq
nslookup rac-scan.localdomain # 재기동 필요
1.2.5 필수 패키지 설치[편집]
패키지를 설치하기 위해 리눅스 설치 ISO 파일을 삽입하고 CD를 실행
해당 경로로 이동
[root@rac1 ~]# cd /run/media/root/OL-7.6\ Server.x86_64/Packages/
필요 패키지 설치
rpm -Uvh ksh-*.x86_64.rpm
rpm -Uvh libaio-devel-*.x86_64.rpm
rpm -Uvh oracleasm-support-*.x86_64.rpm
rpm -Uvh kmod-oracleasm-*.x86_64.rpm
리눅스 필수 패키지 확인
- 의존성 문제로 미설치시 --nodeps 옵션으로 설치 예) rpm -Uvh --nodeps bc.x86_64.xxx.rpm
rpm -q bc
rpm -q binutils
rpm -q compat-libcap1
rpm -q compat-libstdc++-33
rpm -q elfutils-libelf
rpm -q elfutils-libelf-devel
rpm -q fontconfig-devel
rpm -q glibc
rpm -q glibc-devel
rpm -q kmod-20
rpm -q kmod-libs-20
rpm -q ksh
rpm -q libaio
rpm -q libaio-devel
rpm -q libgcc
rpm -q libstdc++
rpm -q libstdc++-devel
rpm -q libX11
rpm -q libXau
rpm -q libxcb
rpm -q libXi
rpm -q libXtst
rpm -q libXrender
rpm -q libXrender-devel
rpm -q make
rpm -q net-tools
rpm -q nfs-utils
rpm -q policycoreutils
rpm -q policycoreutils-python
rpm -q smartmontools
rpm -q sysstat
패키지가 모두 설치되었으면 디스크 삽입을 제거
Temp 파일시스템 할당
/dev/shm 영역 remount
오라클 추가 패키지 설치
preinstall 패키지 설치
yum repository 설정
yum repository 경로 생성
mkdir -p /localrepo
CD 파일을 /localrepo 로 복사
기존 Online Repository 설정 파일 이름 변경
cd /etc/yum.repos.d/
새로운 로컬 repository 설정
Local Repository 업데이트
/localrepo 디렉토리 밑에 repodata 디렉토리 생성확인
repomd.xml 파일
기존 yum data 삭제
repolist 불러오기
yum search oracle |grep preinstall
yum install -y oracle-database-preinstall-19c.x86_64
Oracle ASMLib 다운로드 (https://www.oracle.com/linux/downloads/linux-asmlib-rhel7-downloads.html)
[root@rac1 ~]# rpm -Uvh oracleasmlib-2.0.12-1.el7.x86_64.rpm
1.2.6 사용자 그룹 설정 변경[편집]
[root@rac1 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
1.2.7 oracle 계정 암호 변경[편집]
[root@rac1 ~]# passwd oracle
1.2.8 oracle db 설치 경로 생성[편집]
[root@rac1 ~]# mkdir -p /u01/app/oracle
[root@rac1 ~]# chown -R oracle:oinstall /u01
[root@rac1 ~]# chmod -R 775 /u01
1.2.9 oracle 유저 환경설정[편집]
[root@rac1 ~]# vi ~oracle/.bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export EDITOR=vi
export ORACLE_HOSTNAME=rac1
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/19c/grid
export DB_HOME=$ORACLE_BASE/product/19c/db_1
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=racdb1 # node2 racdb2
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
PS1='[$ORACLE_SID:$PWD]> '
.bashrc로 alias 설정
[root@rac1 ~]# vi ~oracle/.bashrc
alias grid_env='export ORACLE_HOME=$GRID_HOME;export ORACLE_SID=+ASM1;export ORACLE_HOME=$GRID_HOME;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH'
alias db_env='export ORACLE_HOME=$DB_HOME;export ORACLE_SID=racdb1;export ORACLE_HOME=$DB_HOME;export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$BASE_PATH'
1.2.10 root 계정 .bash_profile 수정[편집]
[root@rac1 ~]# vi ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/19c/grid
export DB_HOME=$ORACLE_BASE/product/19c/db_1
export PATH=$PATH:$GRID_HOME/bin
1.3 공유 환경 구성 및 ASM 환경 구성[편집]
1.3.1 공유 스토리지 구성[편집]
스토리지 구성
가상 스토리지 파일 생성
만들기 선택
가상 하드디스크 VDI 만들기 선택
고정 크기 선택
위치 설정 및 크기 설정
스토리지 파일 공유 설정
공유 스토리지 생성 완료
VM에 스토리지 연결
CRS1, CRS2, CRS3, DATA, FRA 영역 추가
스토리지 추가 완료
1.3.2 ASM 환경 구성[편집]
ASM 환경 설정
Oracle ASM 설정 및 시작 (oracle, oinstall, y, y 입력) [root@rac1 ~]# oracleasm configure -i
/dev/oracleasm 디렉토리 생성 oracleasm/disks에 라벨링된 디스크가 저장
[root@rac1 ~]# oracleasm init
ASM 상태 확인
[root@rac1 ~]# oracleasm status
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
[root@rac1 ~]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=oinstall
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
디스크 파티셔닝
현재 디스크 확인
[root@rac1 ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf
스토리지 파티션 생성
ls /dev/sd* fdisk /dev/sdb # "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sdc # "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sdd # "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sde # "n", "p", "1", "엔터", "엔터", "w" 입력 fdisk /dev/sdf # "n", "p", "1", "엔터", "엔터", "w" 입력 ls /dev/sd*
디스크 파티셔닝 확인
ASM 디스크 생성
VM에 마운트된 디스크를 각각 ASM Disk로 할당
oracleasm createdisk CRS1 /dev/sdb1 oracleasm createdisk CRS2 /dev/sdc1 oracleasm createdisk CRS3 /dev/sdd1 oracleasm createdisk DATA /dev/sde1 oracleasm createdisk FRA /dev/sdf1 oracleasm scandisks oracleasm listdisks