이 문서는 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
문서 진행
2. Oracle11g설치
- 권한 그룹 생성
- 필수 rpm 설치
- Oracle10g 관련 환경변수 설정
- rsp(Response )파일 수정
- runInstaller 실행
3. DB 생성
- rsp(Response )파일 수정
- runInstaller 실행
완료
1. 파티셔닝
파티셔닝이란 디스크를 용도에 맞게 나누는 것을 말한다. 이 문서는 VM Ware에서 Oracle11g의 설치를 진행하므로 다음과 같이 파티션을 설정한다.
/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 에 모두 있으므로 찾아서 설치한다.
(몇가지 버전이 낮은 것을 몇가지 존재했지만 진행하는대에 문제가 없었다.)
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 설치하는 법(예)
/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 -
-- 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 -
-- Solution --
response 파일에서 패스워드 파라미터의 주석을 삭제하지 않아서 발생한다. 주석을 제거하여 활성화 시킨다.
-- Error Message --
DBCA 를 실행하면 SSH 화면의 내용이 아래에서 위로 지워진다.
관련글