1. VirtualBox Guest Addition 설치
실습을 위해 VirtualBox에서 구축된 환경에서는 편의를 위해 VBOXADDITIONS (이하 Guest Addition)를 설치해야 합니다.
root 유저에서 진행을 해야 하므로 기타... 버튼을 클릭합니다.
사용자 이름에 "root"를 입력하고 <로그인>을 클릭합니다.
암호에 root 사용자의 암호를 입력하고 <로그인>을 클릭합니다.
경고 메시지가 나오면 '이 메시지를 다시 보지 않습니다'를 체크하고 <닫기> 버튼을 클릭합니다.
root 계정으로 접속한 GUI 모드의 리눅스 바탕화면입니다.
VirtualBox에서 Guest Addition CD를 mount 시키면 화면과 같은 자동시작 확인 메시지가 나옵니다.
설치가 필요하므로 <확인> 버튼을 클릭합니다.
자동으로 설치가 진행되며, 최종 설치 완료 후에는 엔터키를 입력합니다.
터미널 창을 열려면 바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 드롭다운 메뉴에서 'Open in Terminal'을 선택하면 됩니다.
설치가 완료된 뒤에는 터미널 창을 열어 eject 명령어로 mount된 CD를 제거해주면 됩니다.
2. 설치 내역 확인
cat /etc/oracle-release cat /etc/redhat-release lsb_release -id uname -r
[root@oel6 ~]# cat /etc/oracle-release Oracle Linux Server release 6.9 [root@oel6 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 6.9 (Santiago) [root@oel6 ~]# lsb_release -id Distributor ID: OracleServer Description: Oracle Linux Server release 6.9 [root@oel6 ~]# uname -r 4.1.12-61.1.28.el6uek.x86_64
설치된 리눅스의 버전 정보를 확인합니다.
설치된 버전에 따라 출력되는 메시지는 다를 수 있습니다.
rpm -q binutils-* rpm -q compat-libcap1-* rpm -q compat-libstdc++-33-* rpm -q gcc-* rpm -q gcc-c++-* rpm -q glibc-* rpm -q glibc-devel-* rpm -q ksh rpm -q libgcc-* rpm -q libstdc++-* rpm -q libstdc++-devel-* rpm -q libaio-* rpm -q libaio-devel-* rpm -q libXext-* rpm -q libXtst-* rpm -q libX11-* rpm -q libXau-* rpm -q libxcb-* rpm -q libXi-* rpm -q make-* rpm -q sysstat-*
[root@oel6 ~]# rpm -q binutils-* binutils-2.20.51.0.2-5.46.el6.x86_64 [root@oel6 ~]# rpm -q compat-libcap1-* compat-libcap1-1.10-1.x86_64 [root@oel6 ~]# rpm -q compat-libstdc++-33-* compat-libstdc++-33-3.2.3-69.el6.x86_64 [root@oel6 ~]# rpm -q gcc-* gcc-4.4.7-18.el6.x86_64 [root@oel6 ~]# rpm -q gcc-c++-* gcc-c++-4.4.7-18.el6.x86_64 [root@oel6 ~]# rpm -q glibc-* glibc-2.12-1.209.0.1.el6.x86_64 glibc-2.12-1.209.0.1.el6.i686 [root@oel6 ~]# rpm -q glibc-devel-* glibc-devel-2.12-1.209.0.1.el6.x86_64 [root@oel6 ~]# rpm -q ksh ksh-20120801-33.el6.x86_64 [root@oel6 ~]# rpm -q libgcc-* libgcc-4.4.7-18.el6.x86_64 libgcc-4.4.7-18.el6.i686 [root@oel6 ~]# rpm -q libstdc++-* libstdc++-4.4.7-18.el6.x86_64 [root@oel6 ~]# rpm -q libstdc++-devel-* libstdc++-devel-4.4.7-18.el6.x86_64 [root@oel6 ~]# rpm -q libaio-* libaio-0.3.107-10.el6.x86_64 [root@oel6 ~]# rpm -q libaio-devel-* libaio-devel-0.3.107-10.el6.x86_64 [root@oel6 ~]# rpm -q libXext-* libXext-1.3.3-1.el6.x86_64 [root@oel6 ~]# rpm -q libXtst-* libXtst-1.2.3-1.el6.x86_64 [root@oel6 ~]# rpm -q libX11-* libX11-1.6.4-3.el6.x86_64 [root@oel6 ~]# rpm -q libXau-* libXau-1.0.6-4.el6.x86_64 [root@oel6 ~]# rpm -q libxcb-* libxcb-1.12-4.el6.x86_64 [root@oel6 ~]# rpm -q libXi-* libXi-1.7.8-1.el6.x86_64 [root@oel6 ~]# rpm -q make-* make-3.81-23.el6.x86_64 [root@oel6 ~]# rpm -q sysstat-* sysstat-9.0.4-33.el6.x86_64
오라클 소프트웨어 설치를 위해 필요한 OS 패키지가 모두 설치되었는지 확인합니다.
3. 리눅스 설정 변경
<IP> <호스트명>
10.0.1.101 oel6
/etc/hosts 파일에 서버 정보를 추가합니다.
오라클 소프트웨어 설치를 정상적으로 진행하기 위해 정확한 정보를 입력해야 합니다.
tmpfs /dev/shm tmpfs size=4g 0 0
mount -o remount /dev/shm
기존 값을 #로 주석 처리
#tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /dev/shm tmpfs size=4g 0 0
[root@oel6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 45G 8.1G 34G 20% / tmpfs 2.5G 76K 2.5G 1% /dev/shm [root@oel6 ~]# mount -o remount /dev/shm [root@oel6 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 45G 8.1G 34G 20% / tmpfs 4.0G 72K 4.0G 1% /dev/shm
오라클의 MEMORY_TARGET 파라미터를 사용하기 위해서 tmpfs를 변경해야 합니다.
기존에 설정된 tmpfs 값은 #로 주석 처리하거나 삭제합니다.
remount하여 바로 적용시킵니다.
kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65535 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576
커널 변수를 수정하는 작업입니다.
oracle-rdbms-server-12cR1-preinstall 패키지가 설치되었다면 이미 반영된 내용이므로 넘어가도 됩니다.
하지만 해당 패키지를 따로 설치하지 않은 상태에서 오라클 소프트웨어를 설치하려면 왼쪽의 내용을 /etc/sysctl.conf에 추가해야 합니다.
oracle hard nofile 65536 oracle hard nproc 16384 oracle soft nproc 2047 oracle hard memlock 4572857 grid hard nofile 65536 grid soft nproc 2047
리소스 제한을 위한 사용자별 설정값을 입력합니다.
오라클을 설치하는 OS 계정에 맞게 oracle 또는 grid 유저별로 제한값을 입력합니다.
chkconfig --level 123456 xinetd off chkconfig --level 123456 cups off chkconfig --level 123456 smartd off chkconfig --level 123456 iptables off chkconfig --level 123456 ip6tables off chkconfig --level 123456 bluetooth off
[root@oel6 ~]# chkconfig --level 123456 xinetd off [root@oel6 ~]# chkconfig --level 123456 cups off [root@oel6 ~]# chkconfig --level 123456 smartd off [root@oel6 ~]# chkconfig --level 123456 iptables off [root@oel6 ~]# chkconfig --level 123456 ip6tables off [root@oel6 ~]# chkconfig --level 123456 bluetooth off
추가적인 리소스 확보를 위해 기본적으로 실행중인 불필요한 OS 프로그램을 off 시킵니다.
4. 그룹 및 사용자 설정 변경
# groupadd oinstall # groupadd dba groupadd oper groupadd backupdba groupadd dgdba groupadd kmdba groupadd asmdba groupadd asmoper groupadd asmadmin usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmadmin,asmdba,vboxsf oracle useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,vboxsf grid id oracle id grid passwd oracle passwd grid
[root@oel6 ~]# groupadd oper [root@oel6 ~]# groupadd backupdba [root@oel6 ~]# groupadd dgdba [root@oel6 ~]# groupadd kmdba [root@oel6 ~]# groupadd asmdba [root@oel6 ~]# groupadd asmoper [root@oel6 ~]# groupadd asmadmin [root@oel6 ~]# usermod -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmadmin,asmdba,vboxsf oracle [root@oel6 ~]# useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,vboxsf grid [root@oel6 ~]# id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),493(vboxsf),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54327(asmdba),54329(asmadmin) [root@oel6 ~]# id grid uid=54322(grid) gid=54321(oinstall) groups=54321(oinstall),54322(dba),493(vboxsf),54327(asmdba),54328(asmoper),54329(asmadmin) [root@oel6 ~]# passwd oracle oracle 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 사전에 있는 단어를 기반으로 합니다 잘못된 암호: 너무 간단함 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다. [root@oel6 ~]# passwd grid grid 사용자의 비밀 번호 변경 중 새 암호: 잘못된 암호: 사전에 있는 단어를 기반으로 합니다 잘못된 암호: 너무 간단함 새 암호 재입력: passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
설치를 진행할 사용자 계정과 그룹을 생성 또는 추가합니다.
oracle-rdbms-server-12cR1-preinstall 패키지가 설치되었다면 oracle 유저와 oinstall, dba 그룹은 이미 생성되어 있습니다.
vboxsf 그룹은 VirtualBox의 Guest Addition을 사용하기 위한 그룹으로, 실제 운영 환경에서 Guest Addition을 사용하지 않는다면 추가하지 않습니다.
passwd 명령어로 각 계정의 암호를 지정해주면 됩니다.
mkdir -p /u01/app/oracle/product chown -R grid:oinstall /u01 chmod -R 770 /u01
[root@oel6 ~]# mkdir -p /u01/app/oracle/product [root@oel6 ~]# chown -R grid:oinstall /u01 [root@oel6 ~]# chmod -R 770 /u01
오라클 소프트웨어 설치를 위한 경로를 생성하고, 해당 경로에 대한 권한과 소유권을 수정합니다.
export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_BASE=/u01/app/oracle export GRID_HOME=$ORACLE_BASE/12.1.0/grid export DB_HOME=$ORACLE_BASE/product/12.1.0/db_1 export ORACLE_HOME=$GRID_HOME export ORACLE_SID=+ASM export ORACLE_TERM=xterm export BASE_PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$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 export PS1='[\u@$ORACLE_SID \W]$ '
grid 계정으로 접속한 후에 .bash_profile을 수정합니다.
root계정에서 grid 유저로 접속하려면 아래와 같이 su 명령을 입력하면 됩니다
su - grid
수정이 완료되고 root 유저로 돌아오려면 exit 명령을 grid 유저에서 실행하면 됩니다.
exit
export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_UNQNAME=racdb export ORACLE_BASE=/u01/app/oracle export GRID_HOME=$ORACLE_BASE/12.1.0/grid export DB_HOME=$ORACLE_BASE/product/12.1.0/db_1 export ORACLE_HOME=$DB_HOME export ORACLE_SID=orcl 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 export PS1='[\u@$ORACLE_SID \W]$ '
마찬가지로 oracle 계정으로 접속하여 .bash_profile을 수정합니다.
oracle 유저로 변경하려면 아래와 같이 su 명령을 입력하면 됩니다
su - oracle