1. VirtualBox Guest Addition 설치
실습을 위해 VirtualBox에서 구축된 환경에서는 편의를 위해 VBOXADDITIONS (이하 Guest Addition)를 설치해야 합니다.
사용자 이름에 "root"를 입력하고 "엔터"을 입력합니다.
암호에 root 사용자의 암호를 입력하고 "엔터"를 입력합니다.
호스트 머신의 VirtualBox 메뉴에서 '장치' > '게스트 확장 CD 이미지 삽입'을 클릭하여, Guest Addition CD를 mount 시켜줍니다.
Guest Addition 이미지를 mount하면 자동으로 폴더가 열립니다.
VBoxLinuxAdditions.run을 더블 클릭합니다.
실행 여부를 뭍는 창이 나오면 <터미널에서 실행>을 클릭합니다.
자동으로 설치가 진행되며, 설치가 완료되면 자동으로 터미널 창이 닫힙니다.
2. 설치 내역 확인
cat /etc/oracle-release cat /etc/redhat-release lsb_release -id uname -r
[root@oel5 ~]# cat /etc/oracle-release Oracle Linux Server release 5.11 [root@oel5 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 5.11 (Tikanga) [root@oel5 ~]# lsb_release -id Distributor ID: EnterpriseEnterpriseServer Description: Enterprise Linux Enterprise Linux Server release 5.11 (Carthage) [root@oel5 ~]# uname -r 2.6.39-400.215.10.el5uek
설치된 리눅스의 버전 정보를 확인합니다.
설치된 버전에 따라 출력되는 메시지는 다를 수 있습니다.
rpm -q binutils-2.* rpm -q compat-libstdc++-33-* rpm -q elfutils-libelf-0.* rpm -q elfutils-libelf-devel-* rpm -q gcc-4.* rpm -q gcc-c++-4.* rpm -q glibc-2.* rpm -q glibc-common-2.* rpm -q glibc-devel-2.* rpm -q glibc-headers-2.* rpm -q ksh-2* rpm -q libaio-0.* rpm -q libaio-devel-0.* rpm -q libgcc-4.* rpm -q libstdc++-4.* rpm -q libstdc++-devel-4.* rpm -q make-3.* rpm -q sysstat-7.* rpm -q unixODBC-2.* rpm -q unixODBC-devel-2.*
[root@oel5 ~]# rpm -q binutils-2.* binutils-2.17.50.0.6-26.el5 [root@oel5 ~]# rpm -q compat-libstdc++-33-* compat-libstdc++-33-3.2.3-61 [root@oel5 ~]# rpm -q elfutils-libelf-0.* elfutils-libelf-0.137-3.el5 [root@oel5 ~]# rpm -q elfutils-libelf-devel-* elfutils-libelf-devel-0.137-3.el5 [root@oel5 ~]# rpm -q gcc-4.* gcc-4.1.2-55.el5 [root@oel5 ~]# rpm -q gcc-c++-4.* gcc-c++-4.1.2-55.el5 [root@oel5 ~]# rpm -q glibc-2.* glibc-2.5-123.0.1 [root@oel5 ~]# rpm -q glibc-common-2.* glibc-common-2.5-123.0.1 [root@oel5 ~]# rpm -q glibc-devel-2.* glibc-devel-2.5-123.0.1 [root@oel5 ~]# rpm -q glibc-headers-2.* glibc-headers-2.5-123.0.1 [root@oel5 ~]# rpm -q ksh-2* ksh-20100621-20.el5 [root@oel5 ~]# rpm -q libaio-0.* libaio-0.3.106-5 [root@oel5 ~]# rpm -q libaio-devel-0.* libaio-devel-0.3.106-5 [root@oel5 ~]# rpm -q libgcc-4.* libgcc-4.1.2-55.el5 [root@oel5 ~]# rpm -q libstdc++-4.* libstdc++-4.1.2-55.el5 [root@oel5 ~]# rpm -q libstdc++-devel-4.* libstdc++-devel-4.1.2-55.el5 [root@oel5 ~]# rpm -q make-3.* make-3.81-3.el5 [root@oel5 ~]# rpm -q sysstat-7.* sysstat-7.0.2-13.0.1.el5 [root@oel5 ~]# rpm -q unixODBC-2.* unixODBC-2.2.11-10.el5 [root@oel5 ~]# rpm -q unixODBC-devel-2.* unixODBC-devel-2.2.11-10.el5
오라클 소프트웨어 설치를 위해 필요한 OS 패키지가 모두 설치되었는지 확인합니다.
3. 리눅스 설정 변경
<IP> <호스트명>
10.0.1.112 oel5
/etc/hosts 파일에 서버 정보를 추가합니다.
오라클 소프트웨어 설치를 정상적으로 진행하기 위해 정확한 정보를 입력해야 합니다.
tmpfs /dev/shm tmpfs size=1500m 0 0
mount -o remount /dev/shm
기존 값을 #로 주석 처리
#tmpfs /dev/shm tmpfs defaults 0 0 tmpfs /dev/shm tmpfs size=1500m 0 0
[root@oel5 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 46G 2.8G 41G 7% / tmpfs 1011M 0 1011M 0% /dev/shm oracle 233G 84G 150G 36% /media/sf_oracle [root@oel5 ~]# mount -o remount /dev/shm [root@oel5 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 46G 2.8G 41G 7% / tmpfs 1.5G 0 1.5G 0% /dev/shm oracle 233G 84G 150G 36% /media/sf_oracle
오라클의 MEMORY_TARGET 파라미터를 사용하기 위해서 tmpfs를 변경해야 합니다.
기존에 설정된 tmpfs 값은 #로 주석 처리하거나 삭제합니다.
remount하여 바로 적용시킵니다.
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 # 11g R2 기준 # net.ipv4.ip_local_port_range = 1024 65500 # 11g R1 기준 net.core.rmem_default = 262144 # 11g R2 기준 # net.core.rmem_default = 4194304 # 11g R1 기준 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586
커널 변수를 추가하는 작업입니다.
chkconfig --level 123456 xinetd off chkconfig --level 123456 sendmail off chkconfig --level 123456 cups off chkconfig --level 123456 cups-config-daemon off chkconfig --level 123456 smartd off chkconfig --level 123456 iptables off chkconfig --level 123456 ip6tables off chkconfig --level 123456 bluetooth off chkconfig --level 123456 yum-updatesd off
[root@oel5 ~]# chkconfig --level 123456 xinetd off [root@oel5 ~]# chkconfig --level 123456 sendmail off [root@oel5 ~]# chkconfig --level 123456 cups off [root@oel5 ~]# chkconfig --level 123456 cups-config-daemon off [root@oel5 ~]# chkconfig --level 123456 smartd off [root@oel5 ~]# chkconfig --level 123456 iptables off [root@oel5 ~]# chkconfig --level 123456 ip6tables off [root@oel5 ~]# chkconfig --level 123456 bluetooth off [root@oel5 ~]# chkconfig --level 123456 yum-updatesd off
추가적인 리소스 확보를 위해 기본적으로 실행중인 불필요한 OS 프로그램을 off 시킵니다.
4. 그룹 및 사용자 설정 변경
# groupadd oinstall # groupadd dba groupadd oper groupadd asmdba groupadd asmoper groupadd asmadmin usermod -g oinstall -G dba,oper,asmdba,asmadmin,vboxsf oracle useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,vboxsf grid id oracle id grid passwd oracle passwd grid
[root@oel5 ~]# groupadd oper [root@oel5 ~]# groupadd asmadmin [root@oel5 ~]# groupadd asmdba [root@oel5 ~]# groupadd asmoper [root@oel5 ~]# usermod -g oinstall -G oinstall,dba,oper,asmdba,asmadmin,vboxsf oracle [root@oel5 ~]# useradd -g oinstall -G oinstall,dba,asmdba,asmoper,asmadmin,vboxsf grid [root@oel5 ~]# id oracle uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),160(vboxsf),54323(oper),54324(asmadmin),54325(asmdba) [root@oel5 ~]# id grid uid=54322(grid) gid=54321(oinstall) groups=54321(oinstall),54322(dba),160(vboxsf),54324(asmadmin),54325(asmdba),54326(asmoper) [root@oel5 ~]# passwd oracle Changing password for user oracle. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@oel5 ~]# passwd grid Changing password for user grid. New UNIX password: BAD PASSWORD: it is based on a dictionary word Retype new UNIX password: passwd: all authentication tokens updated successfully.
설치를 진행할 사용자 계정과 그룹을 생성 또는 추가합니다.
oracle-validated 패키지가 설치되었다면 oracle 유저와 oinstall, dba 그룹은 이미 생성되어 있습니다.
vboxsf 그룹은 VirtualBox의 Guest Addition을 사용하기 위한 그룹으로, 실제 운영 환경에서 Guest Addition을 사용하지 않는다면 추가하지 않습니다.
passwd 명령어로 각 계정의 암호를 지정해주면 됩니다.
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 grid hard nproc 16384 grid hard nofile 65536
리소스 제한을 위한 사용자별 설정값을 입력합니다.
오라클을 설치하는 OS 계정에 맞게 oracle 또는 grid 유저별로 제한값을 입력합니다.
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/11.2.0/grid export DB_HOME=$ORACLE_BASE/product/11.2.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:$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]$ '
grid 계정으로 접속한 후에 .bash_profile을 수정합니다.
root계정에서 grid 유저로 접속하려면 아래와 같이 su 명령을 입력하면 됩니다
su - grid
수정이 완료되고 root 유저로 돌아오려면 exit 명령을 grid 유저에서 실행하면 됩니다.
exit
export TMP=/tmp export TMPDIR=$TMP export EDITOR=vi export ORACLE_BASE=/u01/app/oracle export GRID_HOME=$ORACLE_BASE/11.2.0/grid export DB_HOME=$ORACLE_BASE/product/11.2.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