[ Silent ] OEL5 + Oracle11g 11.2.0.2.0 + DBCA


이 문서는 OEL5(Oracle Enterpries Linux 5) 환경에서 Oracle 서버와 DB의 생성을 Silent 옵션으로 설치하는것을 나타내고 VM Ware 환경에서 진행되었다.

주의 사항
1. Oracle11g 는 이전의 Oracle 버전과 다르게 사용자의 home 디렉토리에 설치를 권장하지 않는다.
-  이전의 버전들은 /home/oracle/ 의 하위에 설치를 했었다. 하지만 더이상 11g 는 /home/oracle/하위에 설치를 해서는 안되기 때문에 본 문서에서는 /app 라는 디렉토리를 만들어서 설치를 한다.(디렉토리명은 관계없음)

기본 환경
1. OEL5 (Oracle Enterprise Linux 5)
2. install 파일 위치 : /app/install/
3. ORACLE_BASE : /app/oracle/
4. ORACLE_HOME : /app/oracle/product/11g/
5. dba 권한 사용자 : oracle
6. oper 그룹 : oper


문서 진행
1. 파티셔닝
2. Oracle11g설치
  - 권한 그룹 생성
  - 필수 rpm 설치
  - Oracle10g 관련 환경변수 설정
  - rsp(Response )파일 수정
  - runInstaller 실행
3. DB 생성
  - rsp(Response )파일 수정
  - runInstaller 실행
완료



1. 파티셔닝

파티셔닝이란 디스크를 용도에 맞게 나누는 것을 말한다. 이 문서는 VM Ware에서 Oracle11g의 설치를 진행하므로 다음과 같이 파티션을 설정한다.

/             ---- 5000
/boot       ---- 100
/swap     ---- 2000
/home     ---- 1000
/var         ---- 1000
/app        ---- 나머지


Oracle의 설치관련 파일과 설치는 /app 하위에 모두 위치하게 된다.


2. Oracle11g설치

사용자 및 그룹 생성

# groupadd dba
# useradd oracle
# groupadd oper
# groupadd oinstall
usermod -g oinstall -G dba,oper oracle
# chwon -R oracle.dba /home/oracle
# chown -R /app/

필수 rpm 설치

아래의 rpm 중에 굵은 색으로 표시된 rpm 이 OEL5에 설치가 기본적으로 안되어 있다. 해당 RPM 은 OEL5 설치 CD 안에 /Server/rpm 에 모두 있으므로 찾아서 설치한다.

(몇가지 버전이 낮은 것을 몇가지 존재했지만 진행하는대에 문제가 없었다.)
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214   
libaio-0.3.106
libaio-devel-0.3.106  
libgcc-4.1.2
libgomp-4.1.2  
libstdc++-4.1.2  
libstdc++-devel-4.1.2
make-3.81
numactl-devel-0.9.8.i386 
sysstat-7.0.2
unixODBC-32bit-2.2.11
unixODBC-devel-2.2.11

설치되어 있는지 검사 하는 방법(예)
# rpm -aq | grep {name}
# rpm -qa | grep numactl-devel

없는 rpm 설치하는 법(예)
# rpm -ivh {name}
# rpm -ivh numactl-devel-0.9.8.i386.rpm


/etc/profile 편집
# vi /etc/profile
기존
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
변경
# No core files by default
ulimit -S -c 0 unlimited > /dev/null 2>&1

/etc/sysctl.conf 편집
커널의 메모리 설정값들을 변경한다.
# /etc/sysctl.conf
kernel.core_uses_pid = 1
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586


sysctl -p 명령을 사용하여 현재 커널에 sysctl.conf 의 내용을 적용시킨다.
# sysctl -p

/etc/security/limits.conf 편집
Oracle  soft  nproc  2048
Oracle  hard  nproc  16384
Oracle  soft  nofile  1024
oracle  hard  nofile  65536
oracle  soft  stack  10240

/home/oracle/.bash_profile 편집
export EDITOR=vi
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11g
export ORACLE_SID=testdb
export LANG=ko_KR.eucKR
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

/etc/pam.d/login 편집
# /etc/pam.d/login
session   required   pam_limits.so


Oracle Server response 파일 수정

vi /app/install/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
OUI 설치중에 아래화면과 같은 값을 설정하는 속성이다.
INSTALL_DB_SWONLY 는 Install database software only 으로 엔진만 설치한다는 뜻이다.



UNIX_GROUP_NAME=dba
INVENTORY_LOCATION=/app/oraInventory/

SELECTED_LANGUAGES=en,ko
ORACLE_HOME=/app/oracle/product/11g/
ORACLE_BASE=/app/oracle/

oracle.install.db.InstallEdition=EE

oracle.install.db.EEOptionsSelection=true

partitioning 만 남기고 모두 지우면 된다. 현재 실습에서는 필요없는 컴포넌트들이라서 제거하지만 혹 필요하다면 건드리지 않아도 된다.
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.2.0
,oracle.oraolap:11.2.0.2.0
,oracle.rdbms.dm:11.2.0.2.0
,oracle.rdbms.dv:11.2.0.2.0
,orcle.rdbms.lbac:11.2.0.2.0
,oracle.rdbms.rat:11.2.0.2.0


 

oracle.install.db.DBA_GROUP=oinstall

oracle.install.db.OPER_GROUP=oper

 

oracle.install.db.config.starterdb.installExampleSchemas=true

DECLINE_SECURITY_UPDATES=true





runInstaller 실행
$ /app/install/database/runInstaller -silent -responseFile /app/install/database/response/db_install.rsp


- Oracle11g설치 Trouble Shooting -

1. 진행 중단
-- Solution --
설치 준비과정에서 뭔가 잘못된게 있을 가능성이 높다.
/home/oracle/ 의 소유자 설정, response 파일에서 설정값등을 다시한번 확인하자.

-- Error Message --
로그를 확인했을때 아래와 같이 INFO: Unloading Setup Driver 을 마지막으로 후 진행이 안되고 /app/oraInventory 디렉토리도 생성이 안되고 있다면 오류가 발생한것이다.





3. DB 생성

dbca.rsp파일편집


vi /app/database/response/
dbca.rsp

 

GDBNAME = "testdb"

SID = "testdb"

 

주석 제거한다.
#NATIONALCHARACTERSET= "UTF8" 

패스워드 앞에 주석처리가 되어 있는데 # 이것을 제거한다. 패스워드는 DB 에 접속해서 반드시 변경하도록 한다.
#
SYSPASSWORD = "password"

#SYSTEMPASSWORD = "password"


TEMPLATENAME = "/app/oracle/product/11g/assistants/dbca/templates/New_Database.dbt"    
\

DBCA 실행
$ dbca -silent -responseFile /app/database/response/dbca.rsp

DB 접속 확인
$ sqlplus / as sysdba
SQL> select status from v$instance;


디비생성 정보 확인
/app/oracle/cfgtoollogs/dbca/orcl11g/orcl11g.log
/app/oracle/cfgtoollogs/dbca/sinent.log
/app/oracle/cfgtoollogs/dbca/dba/dba.log



- DB 생성 Trouble Shooting -

1. 화면 지워지는 현상
-- Solution --
response 파일에서 패스워드 파라미터의 주석을 삭제하지 않아서 발생한다. 주석을 제거하여 활성화 시킨다.
-- Error Message --
DBCA 를 실행하면 SSH 화면의 내용이 아래에서 위로 지워진다.






관련글