본문 바로가기

02 .administration

oracle 9i / 10g / 11g 설치 하기! (오라클 설치) linux!!


■ oracle
CentOS (Redhat) x64 시스템에서 oracle 설치 과정
 
공통 준비
 
1. 자신이 사용할 오라클 다운로드
2. LINUX 설치 준비
리눅스를 설치할때 주의 사항
※GUI를 설치하라 (본 문서는 gnome으로 진행한다)
※개발툴을 모두 설치하라 (나중에 rpm으로도 가능하다만은 귀찮으니)
※host명 변경시에 골치 아픈일이 생길수 있으니 미리 host명을 생각해 두어라
※스토리지 공간도 확인하자
3. CentOS를 설치 했다면 아래 부분을 변경하자
/etc/redhat-release
기존 : CentOS release 5.4 (Final)
변경 : redhat-4
4. 필요한 PKG를 설치해야한다. 위에서 개발툴을 모두 설치 했다면 그다지 설치할 부분은 없을것이나 확인 절차
rpm -qa binutils
rpm -qa compat-libgcc
rpm -qa compat-libstdc++
rpm -qa compat-libstdc++
rpm -qa cpp
rpm -qa gcc
rpm -qa gcc-c++
rpm -qa glibc
rpm -qa glibc-common
rpm -qa glibc-devel
rpm -qa glibc-headers
rpm -qa libaio
rpm -qa libaio-devel
rpm -qa libgcc
rpm -qa libstdc++
rpm -qa libstdc++-devel
rpm -qa make
rpm -qa setarch
rpm -qa libXp # 개발툴을 설치해도 없다 x86용으로 설치해야한다
rpm -qa openmotif # 개발툴을 설치해도 없다 x86용으로 설치해야한다
rpm -qa unixODBC* # 개발툴을 설치해도 없다 x86용으로 설치해야한다
rpm -qa |grep elfutils # 이건 oracle 11g부터 x86용으로 설치해야한다
5. 오라클 설치 계정 확인
관리계정 사용자 oracle UID:500
관리계정 그룹 oracle GID:500
HOME_DIR : 정하기 나름 /data/oracle
========================= 아래부터는 각 버전별로 틀리니 참고 =========================
※대충 보면 비슷비슷합니다...
oracle 9i
Kernel Parameter
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmin = 128
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.shmmax = 2147483648
kernel.shmall = 2097152
# 아마도 CentOS 5버전 이상이면 위 값보다 클것으로 예상되어진다...크면 굳이 변경할 필요 없잖은가?

net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

수정 후 : sysctl -p
※주의 사항
oracle 9i 설치할때 삽질한 추억이 새록새록...
jre 1.3.1을 사용하는데 지금 어디서 5가 있으니 이상없겠지...라고 생각하면 오산이다...ㅠ_ㅠ;
꼭 jre 1.3.1을 미리 설치를 해두어 JAVA_HOME, JAVA_OPT를 미리 맞춰주는게 좋다
JAVA_OPT 경우 default 메모리가 128Mb인데 작다...-_-; 미리 512Mb정도 설정해주는게 좋다
 
JAVA경로는
DISK1/install/linux/oraparam.ini 파일에
JRE_LOCATION 에서 지정이 가능하다.
옵션도 있는지는 잘 모르겠다...-_-;;
 
cpio 압축 풀기
9i버전은 절대로 동일 폴더에 풀지 말아라...폴더를 묶을 생각도 말고...-_-;
각각 디스크명대로 되어져 있어야 한다...설치 안되어지니 유의
 
cpio -idmv < oracle9i_linux_disk1.cpio
cpio -idmv < oracle9i_linux_disk2.cpio
cpio -idmv < oracle9i_linux_disk3.cpio
oracle 10g
Kernel Parameter
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmin = 128
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.semopm = 100
kernel.shmmax = 2147483648
kernel.shmall = 2097152
# 아마도 CentOS 5버전 이상이면 위 값보다 클것으로 예상되어진다...크면 굳이 변경할 필요 없잖은가?
 
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
수정 후 : sysctl -p
 
vi /etc/security/limits.conf 추가
*       soft        nproc         2047
*       soft        nofile         1024
*       hard        nproc        16384
*       hard        nofile         65536
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
ulimit 값 변경
ulimit -p 16384
ulimit -n 65535
※아싸리 profile 혹은 .bashrc 에 박아둬도 된다
※주의 사항
이 버전부터는 java도 안정적이고 특별히 고생할 부분도 없었다..
단 network 상황에 따라 인스톨 과정에서 오류가 발생되어질수도 있는 부분이 존재한다
계략적인 원인은 sun.oracle.com 이였던가? 사이트에 접속이 안되어지면서 발생되어지는 에러이니 참고
oracle 11g
Kernel Parameter
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmin = 4096
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.shmmax = 2147483648
kernel.shmall = 2097152
# 아마도 CentOS 5버전 이상이면 위 값보다 클것으로 예상되어진다...크면 굳이 변경할 필요 없잖은가?
 
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
수정 후 : sysctl -p
 
vi /etc/security/limits.conf 추가
*       soft        nproc         2047
*       soft        nofile         1024
*       hard        nproc        16384
*       hard        nofile         65536
vi /etc/hosts 
11g버전부터는 DNS와 연관되어진 부분이 있다.
일반적으로 db서버를 DNS에 박아서 쓰지 않으니 hosts파일을 수정하자
장비의 리얼 아이피를 박아주자
192.168.0.2           oracle.test.com test
 
※주의 사항
이 버전부터는 java도 안정적이고 특별히 고생할 부분도 없었다..
단 network 상황에 따라 인스톨 과정에서 오류가 발생되어질수도 있는 부분이 존재한다
계략적인 원인은 sun.oracle.com 이였던가? 사이트에 접속이 안되어지면서 발생되어지는 에러이니 참고
=====================================================================================
위 버전별 과정을 걸쳤으면 다시 공통 설치 과정으로 넘어간다.
 
1. profile (bashrc) 세팅
oracle id에 세팅을 하게 되어지며 아래와 같이 설정이 되어진다. (이 글은 bash 기준이다)
vi ~/.bashrc
export ORACLE_BASE=/data/oracle
export ORACEL_HOME=/data/oracle
#export ORACLE_HOSTNAME=oracle.test.com #이건 oracle 11g용이다.
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME:.:
export ORACLE_SID=ORCL
export NLS_LANG=KOREAN_KOREA.KO16KSC5601
export ORACLE_TERM=vt100
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
#export ORACLE_OEM_JAVARUNTIME=/usr/java1.3.1/ #이건 oracle 9i용
 
unset LANG
=====================================================================================
사실 GUI를 일일히 캡쳐해서 올려야 하는데...........귀차니즘으로 인해 GUI는 생략하자..
사실 위 정도까지만 세팅이 되어지면 나머지는 그냥 클릭클릭 정도 수준일것이다..
 
※원격지에서 oracle 설치시 오류발생건!
원격지에서 설치해야할 일이 있는데 xwindows에서 host명과 display번호때문에 JAVA가 실행이 안되어지는 경우가 생긴다. (java의 graph 함수인데, display번호를 본다 그렇기때문에 이 부분은 꼭 확인하자)
 
현재 자신이 붙은 장비의 host를 지정을 해줘야한다.
명령어는 xhost :0.0 혹은 xhost + 해주면 된다
=====================================================================================
인스톨 과정중 다른 주의 사항
1. 중간중간 쉘에서 입력해야하는 명령어가 존재한다 절대 스킵하지 말고 해당 명령어를 따라가자
2. DBCA (database configuration assistant)는 설치중간에 오류가 있어서 안될수도 있다. (특히 oracle 9i) 이 경우에는 DBCA를 별도로 실행이 가능하다 (GUI환경이다)
 
cd $ORACLE_HOME/bin/dbca