cd <리눅스 설치 디스크 경로>/Packages rpm -ivh ksh-20120801-26.el7.x86_64.rpm rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm |
|
리눅스 설치시에 기본적으로 설치된 패키지 외에 추가로 2개의 패키지를 설치해야 합니다.
설치 CD를 mount한 후에 Package 디렉토리로 이동하여 패키지를 설치합니다.
rpm -q binutils rpm -q compat-libcap1 rpm -q compat-libstdc++-33 rpm -q glibc rpm -q glibc-devel 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 make rpm -q net-tools rpm -q nfs-utils rpm -q smartmontools rpm -q sysstat |
[root@rac1 oracle]# rpm -q binutils
[root@rac1 oracle]# rpm -q compat-libstdc++-33 [root@rac1 oracle]# rpm -q glibc [root@rac1 oracle]# rpm -q glibc-devel [root@rac1 oracle]# rpm -q ksh [root@rac1 oracle]# rpm -q libaio [root@rac1 oracle]# rpm -q libaio-devel [root@rac1 oracle]# rpm -q libgcc [root@rac1 oracle]# rpm -q libstdc++ [root@rac1 oracle]# rpm -q libstdc++-devel [root@rac1 oracle]# rpm -q libX11 [root@rac1 oracle]# rpm -q libXau [root@rac1 oracle]# rpm -q libxcb [root@rac1 oracle]# rpm -q libXi [root@rac1 oracle]# rpm -q libXtst [root@rac1 oracle]# rpm -q make [root@rac1 oracle]# rpm -q net-tools [root@rac1 oracle]# rpm -q nfs-utils [root@rac1 oracle]# rpm -q smartmontools [root@rac1 oracle]# rpm -q sysstat |
오라클 설치에 필요한 리눅스 패키지들이 모두 설치되어 있는지 검증합니다.
누락된 패키지가 있다면 반드시 설치해야 합니다.
패키지 파일은 yum을 이용하여 직접 설치하거나 Oracle Linux Repository에서 다운로드 할 수 있습니다.
https://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html
rpm -ivh oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm |
|
추가로 Oracle Database 설치를 위한 preinstall 패키지를 설치합니다.
패키지 파일은 위에서 안내한 Oracle Linux Repository에서 다운로드 가능합니다.
### Public 192.168.0.111 rac1 192.168.0.112 rac2 ### Private 192.168.5.111 rac1-priv 192.168.5.112 rac2-priv ### Virtual 192.168.0.121 rac1-vip 192.168.0.122 rac2-vip ### DNS 192.168.0.181 rac-scan 192.168.0.182 rac-scan 192.168.0.183 rac-scan |
|
/etc/hosts 파일에 설치할 모든 서버의 IP와 호스트명을 추가합니다.
오라클 소프트웨어 설치를 정상적으로 진행하기 위해 로컬 노드와 원격 노드에 대한 정보를 정확히 입력해야 합니다.
SCAN IP는 1개만 할당해도 설치에 지장은 없습니다. 다만, 18c부터는 3개를 할당하지 않을 경우, 필요 조건 검사 과정에서 검증 실패 메시지가 출력됩니다.
SELINUX=permissive |
setenforce permissive |
|
Selinux 모드를 permissive로 변경합니다.
### 방화벽 중지 systemctl stop firewalld systemctl disable firewalld ### 블루투스 중지 systemctl stop bluetooth systemctl disable bluetooth ### 시간 동기화 중지 systemctl stop chronyd systemctl disable chronyd mv /etc/chrony.conf /etc/chrony.conf.bak ### NTP 중지 systemctl stop ntpdate systemctl disable ntpdate ### DNS 중지 systemctl stop avahi-daemon.socket systemctl stop avahi-daemon systemctl disable avahi-daemon ### 가상 시스템 관리 중지 virsh net-destroy default virsh net-undefine default systemctl stop libvirtd systemctl disable libvirtd |
|
테스트 환경에서 불필요한 서비스를 정리합니다.
실습 환경에서는 CTSS를 활성화 모드로 운영할 것이므로 NTP나 chrony 등의 시간 동기화 서비스를 중지할 것입니다.
그러나 실제 운영환경에서는 구성 환경을 고려하여 사용 여부를 결정해야하며, 가급적 NTP를 설정(-x 포함)하여 사용하는 것이 좋습니다.
cat /etc/resolv.conf systemctl start dnsmasq systemctl enable dnsmasq nslookup rac-scan |
|
별도의 DNS 서비스 없이 SCAN을 DNS에 등록된 것처럼 처리하기 위해 DNSMASQ 프로세스를 활성화합니다.
resolv.conf 파일에는 "nameserver 127.0.0.1"가 입력되어 있어야 합니다.
### 그룹 등록 (필요에 따라 생략 가능) groupadd oper groupadd backupdba groupadd dgdba groupadd kmdba groupadd racdba groupadd asmadmin groupadd asmdba groupadd asmoper #groupadd vboxsf ### 유저 그룹 설정 변경 useradd -g oinstall -G dba,racdba,asmadmin,asmdba,asmoper,vboxsf grid #useradd -g oinstall -G dba,racdba,asmadmin,asmdba,asmoper grid usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba,vboxsf oracle #usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba,asmadmin,asmdba oracle ### 유저 암호 변경 passwd grid passwd oracle |
|
소프트웨어를 설치할 사용자 계정과 그룹을 생성 또는 추가합니다.
preinstall 패키지가 설치되었다면 oracle 유저와 oinstall, dba 그룹은 이미 생성되어 있습니다.
grid 유저로 Grid Infrastructure(이하 GI)를 설치할 것이므로 grid 유저를 별도로 생성합니다. (oracle 유저로 모두 설치시에는 생략합니다.)
vboxsf 그룹은 VirtualBox의 Guest Addition을 사용하기 위한 그룹으로, 실제 운영 환경에서 Guest Addition을 사용하지 않는다면 추가하지 않습니다.
passwd 명령어로 각 계정의 암호를 지정해주면 됩니다.
mkdir -p /u01/app/18.3.0/grid mkdir -p /u01/app/oracle/product/18.3.0/db_1 chown -R grid:oinstall /u01 chown -R oracle:oinstall /u01/app/oracle/product chmod -R 775 /u01 |
|
오라클 소프트웨어 설치를 위한 경로를 생성하고, 해당 경로에 대한 권한과 소유권을 수정합니다.
grid hard nofile 65536 grid soft stack 10240 |
/etc/security/limits.d/oracle-database-preinstall-18c.conf 내용
|
grid 유저로 GI를 설치하기 위해 grid 유저에 대한 리소스 설정값을 입력합니다.
oracle 유저는 preinstall 패키지를 설치하면 /etc/security/limits.d/oracle-database-preinstall-18c.conf 파일이 자동으로 생성됩니다.
export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_HOSTNAME=rac1 # 호스트명에 맞게 변경 export ORACLE_BASE=/u01/app/oracle export GRID_HOME=/u01/app/18.3.0/grid export DB_HOME=$ORACLE_BASE/product/18.3.0/db_1 export ORACLE_HOME=$GRID_HOME export ORACLE_SID=+ASM1 # 2번 노드 +ASM2 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]> ' |
grid 계정으로 접속한 후에 .bash_profile을 수정합니다.
root계정에서 grid 유저로 접속하려면 아래와 같이 su 명령을 입력하면 됩니다
su - grid |
수정이 완료되고 root 유저로 돌아오려면 exit 명령을 grid 유저에서 실행하면 됩니다.
exit |
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/18.3.0/grid export DB_HOME=$ORACLE_BASE/product/18.3.0/db_1 export ORACLE_HOME=$DB_HOME export ORACLE_SID=racdb1 # 2번 노드 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]> ' |
마찬가지로 oracle 계정으로 접속하여 .bash_profile을 수정합니다.
oracle 유저로 변경하려면 아래와 같이 su 명령을 입력하면 됩니다
su - oracle |