2007.03.02 00:08
컴선생(swparkz)
http://cafe.naver.com/tech2u/100
Oracle 9i를 Linux에 설치하는 경우, 배포판에 따라서 수행해야 할 사전 작업이 워낙 까다롭습니다.
최근에 많이 사용되는 개인용 리눅스인 Fedora Core 5에 Oracle 9i를 설치 해보았는데, 역시 한번에 설치되지는 않더군요.
이것 저것 구글에서 자료를 찾아서, 3번 시도 끝에 성공적으로 설치했습니다.
설치과정을 정리하면 다음과 같습니다.
사전 설치 작업
=============
1. root로 로그인하여 oracle 사용자 계정을 만들고 dba 그룹에 포함시킨다.
$ su -
# groupadd dba
# useradd -g dba oracle
# passwd oracle
2. 시스템 파라메터 추가.
/etc/sysctl.conf 파일에 다음 항목을 추가한다.
kernel.sem = 250 32000 100 128
kernel.shmmax = 2147483648
kernel.shmmni = 128
kernel.shmall = 2097152
kernel.msgmnb = 65536
kernel.msgmni = 2878
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
/etc/sysctl.conf 파일을 변경하였으면 다음과 같이 sysctl -p 명령을 실행하거나 시스템을 리부팅해야만 한다.
# sysctl -p
/etc/security/limits.conf 파일에 다음 항목을 추가한다.
* - nproc 16384
* - nofile 16384
3. oracle 사용자로 로그온하여 Oracle 환경 변수를 설정
/home/oracle/.bash_profile 파일에 다음 항목을 추가한다.
ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/920
ORACLE_SID=DBA
LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_OEM_JAVARUNTIME=/opt/jre1.3.1_20
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH ORACLE_OEM_JAVARUNTIME PATH
.bash_profile을 저장하고 새 환경 변수를 로드한다.
$ cd /home/oracle
$ . .bash_profile
4. Oracle 기본 디렉터리를 생성한다.
$ su -
# cd /opt
# mkdir oracle
# chown oracle:dba oracle
다운로드 및 설치
================
1. rpm 패키지를 다운로드하고 설치한다.
필요한 패키지가 설치되어 있는지 확인하는 방법은 다음과 같다.
$ su -
# rpm -q gcc glibc-headers glibc-kernheaders glibc-devel cpp \
compat-gcc compat-libgcc-296 compat-libstdc++-33 compat-libstdc++-296
compat-gcc는 반드시 compat-gcc-7.3-2.96.126.i386.rpm으로 설치해야 한다.
만약, 2.96 버전이 아닌 3.X 버전이 설치되어 있는 경우, 다음과 같이 패키지를 삭제한다.
# rpm -e compat-gcc
필요한 패키지를 아래 위치에서 다운로드 한다.
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/gcc-4.1.0-3.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/glibc-headers-2.4-4.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/glibc-kernheaders-3.0-5.2.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/glibc-devel-2.4-4.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/cpp-4.1.0-3.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/2/i386/os/Fedora/RPMS/compat-gcc-7.3-2.96.126.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/compat-libgcc-296-2.96-135.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/compat-libstdc++-33-3.2.3-55.fc5.i386.rpm
http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/compat-libstdc++-296-2.96-135.i386.rpm
다운로드 한 패키지를 설치한다.
# rpm -ivh gcc-4.1.0-3.i386.rpm \
glibc-headers-2.4-4.i386.rpm \
glibc-kernheaders-3.0-5.2.i386.rpm \
glibc-devel-2.4-4.i386.rpm \
cpp-4.1.0-3.i386.rpm \
compat-gcc-7.3-2.96.126.i386.rpm \
compat-libgcc-296-2.96-135.i386.rpm \
compat-libstdc++-33-3.2.3-55.fc5.i386.rpm \
compat-libstdc++-296-2.96-135.i386.rpm
GCC4 컴파일러를 GCC2 컴파일러로 교체한다.
# cd /usr/bin
# mv ./gcc ./gcc4
# mv ./gcc296 ./gcc
2. JRE를 다운로드하고, 설치한다.
썬 웹사이트(http://java.sun.com/j2se/1.3/download.html)에서 j2re1.3.1_11 또는 그 이상(j2re1.3.1_XX)의 버전을 다운로드한다.
여기서는 j2re-1_3_1_20-linux-i586.bin을 사용했다.
# chmod +x j2re-1_3_1_20-linux-i586.bin
# ./j2re-1_3_1_20-linux-i586.bin
# mv jre1.3.1_20 /opt/
3. 오라클 웹사이트(http://otn.oracle.com/kr)에서 오라클 소프트웨어를 다운로드하고 압축을 해제한다.
$ gunzip ship_9204_linux_disk1.cpio.gz
$ gunzip ship_9204_linux_disk2.cpio.gz
$ gunzip ship_9204_linux_disk3.cpio.gz
$ cpio -idmv < ship_9204_linux_disk1.cpio
$ cpio -idmv < ship_9204_linux_disk2.cpio
$ cpio -idmv < ship_9204_linux_disk3.cpio
Disk1 디렉터리의 Disk1/install/linux/oraparam.ini에서 JRE_LOCATION 변수를 변경한다.
JRE_LOCATION=/opt/jre1.3.1_20
4. 오라클을 설치한다.
$ cd Disk1
$ ./runInstaller
여기서, Universal Installer가 표시되지 않고, 다음과 같은 에러가 발생하게 된다.
Initializing Java Virtual Machine from /tmp/OraInstall2007-02-28_09-43-30PM/jre/bin/java. Please wait...
/tmp/OraInstall2007-02-28_09-43-30PM/jre/bin/i386/native_threads/java: error while loading shared libraries:
libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory
이런 경우, 다음과 같이 조치한다.
$ su -
# cd /usr/lib
# ln -s libstdc++-3-libc6.2-2-2.10.0.so libstdc++-libc6.1-1.so.2
다시, 설치를 시작한다.
$ cd Disk1
$ ./runInstaller
5. Universal Installer의 설치 과정에서 링크 단계로 넘어가기 전에 다음 파일을 변경해주어야 한다.
그렇지 않으면, 링크 단계(18%)에서 더 이상 설치는 진행되지 않고 무한 대기하게 된다.
$ORACLE_HOME/bin/gennttab 파일(설치 과정 중, 약 20%가 넘어가면 생성된다)을 다음과 같이 변경한다.
변경전
------
LIB='echo ${TtoLIB} | sed 's/ /\\
/g' | grep "^${T}:" | awk -F: '{print $2}''
INI='echo ${TtoLIB} | sed 's/ /\\
/g' | grep "^${T}:" | awk -F: '{print $2}''
BAS='echo ${TtoLIB} | sed 's/ /\\
/g' | grep "^${T}:" | awk -F: '{print $2}''
변경후
------
LIB='echo ${TtoLIB} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}''
INI='echo ${TtoLIB} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}''
BAS='echo ${TtoLIB} | sed 's/ /\n/g' | grep "^${T}:" | awk -F: '{print $2}''
6. 링크 단계가 종료되면, 네트워크 설정, 데이터베이스 생성, 에이전트, 아파치 서버 설정 단계로 넘어가지만,
모든 작업이 실패하게 된다.
네트워크 설정 및 데이터베이스 생성 작업을 다시 수행하려면 다음과 같이 설정하고 재시도한다.
설치화면은 닫지 않고 그대로 둔다.
$ mv $ORACLE_HOME/JRE $ORACLE_HOME/JRE.bak
$ ln -s /opt/jre1.3.1_20 $ORACLE_HOME/JRE
$ cd /opt/jre1.3.1_20/bin
$ ln -s java /opt/jre1.3.1_20/bin/jre
$ ln -s java /opt/jre1.3.1_20/bin/i386/green_threads/jre
$ ln -s java /opt/jre1.3.1_20/bin/i386/native_threads/jre
네트워크 설정 및 데이터베이스 생성 작업을 재시도(Retry)하여 작업을 진행한다.
여기서, 에이전트, 아파치 서버 설정은 생략한다
설치 후 작업
=============
1. GCC를 다시 원상복구한다.
$ su -
# cd /usr/bin
# mv ./gcc ./gcc296
# mv ./gcc4 ./gcc
2. Oracle Universal Installer의 JRE 경로를 변경한다.
$ORACLE_BASE/oui/oraparam.ini 파일에 JRE_LOCATION 변수를 변경한다.
JRE_LOCATION=/opt/jre1.3.1_20
이상입니다. 나중에 Fedora Core 6에 Oracle 9i를 설치하는 방법도 알아보도록 하겠습니다. Good Luck!!
댓글 없음:
댓글 쓰기