Red Hat Enterprise Linux AS release 3 (Taroon) 기반에서 오라클 9.2.0 설치하기
2010.05.12 08:43
원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어
Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
출처 : http://cafe.naver.com/aix.cafe
Red Hat Enterprise Linux AS release 3 (Taroon) 기반에서 오라클 9.2.0 설치하기(리눅스 커널 2.4.21)
1. 참조문서
http://www.puschitz.com/InstallingOracle9i.shtml#InstallingOracle9iR2OnRHAS3
2. 설치전 필요한 페키지
X-Window 필수
gcc-3.2.2-5
cpp-3.2.2-5
glibc-devel-2.3.2-11.9
binutils-2.13.90.0.18-9 => os 설치후 있는 패키지들 : 확인 필요없음
pdksh-5.2.14-21
compat-gcc-7.3-2.96.118.i386.rpm : 설치됨
compat-db-4.0.14.5
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1
없는 패티키(인스톨후)-- rpm => rpmfind.net 에서 두개는 찾고 두개는 설치안됨
compat-libgcj-7.3-2.96.118.i386.rpm : 설치됨 (redhat 9 용)
compat-libgcj-devel-7.3-2.96.118.i386.rpm : 설치됨 (redhat 9 용)
compat-gcc-c++-7.3.2.96.122 : 없음 => 이것 없이도 잘 설치됨.
compat-libstdc++-devel-7.3-2.96.122 : 없음
sun jdk 1.3.1_02 : http://java.sun.com/products/archive/j2se/1.3.1_20/index.html
/usr/local/java로 디렉토리 수정후 오라클 .bash_profile 패스설정
3. 다운로드 소스
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.html
적당한곳에 3개의 파일을 받아 압축을 푼다.
# zcat lnx_920_disk1.cpio.gz | cpio -idmv <-- http로 받지 않았을 때
# gunzip < lnx_920_disk1.cpio.gz.cpio.gz <-- http로 받았을 때
# cpio -idmv < lnx_920_disk1.cpio.gz.cpio.gz
4. 계정 및 그룹생성 시스템 설정
# groupadd dba
# useradd -g dba -s /bin/bash -d /oracle/app/oracle/product/9.2.0 oracle
=> 설치 디렉토리 및 /oralce 디렉토리 권한 변경
5. 커널 수정
# vi /etc/sysctl.conf
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
# vi /etc/security/limits.conf
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
만약 리붓팅하지 않을려면 다음과 같이한다.
# echo 250 32000 100 128 > /proc/sys/kernel/sem
# echo 536870912 > /proc/sys/kernel/shmmax
# echo 4096 > /proc/sys/kernel/shmmni
# echo 2097152 > /proc/sys/kernel/shmall
# echo 65536 > /proc/sys/fs/file-max
# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
6. 하드웨어 최소 사양
오라클은 최소 512MB의 메모리와 400MB의 스왑 공간을 필요로 한다. 따라서 부족하다면
임시적으로 스왑공간을 아래와 같이 만들어준다.
# free, fdisk,swapon -s 로 공간을 확인할수 있다.
# dd if=/dev/zero of=tmp_swap bs=1k count=900000
# chmod 600 tmp_swap
# mkswap tmp_swap
# swapon tmp_swap
스왑해제
# swapoff tmp_swp
# rm tmp_swap
7. 환경변수 설정(여기서 부터 oracle 계정으로 바꾼다.)
$ vi .bash_profile
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
#export TMPDIR=$ORACLE_BASE/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG='AMERICAN_AMERICA.KO16KSC5601'
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORAClE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib
export LANG=C
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/oracm/bin:/usr/local/java/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
8. $ /Where/Disk1/runInstaller <- 오라클 소스압축푼 디렉터리
참고)root에서 xhost +, 또는 xhost localhost후 오라클 사용자로 로그인
export DISPLAY=192.168.0.20:1.0
에러가 떨어졌다. runinstaller가 실행이 안되었다.. 아래 스크립트 실행
#!/bin/bash
USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi
# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "Patch has already been applied"
exit
else
echo "Applying patch..."
fi
cat << EOF |
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
"movl %2, %%ebx\n\t"
"movl %1, %%eax\n\t"
"int \$0x80\n\t"
"popl %%ebx"
: "=a" (res)
: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0));
return res;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload
echo "Patch successfully applied"
그리고 참고로 폰트 관련 에러는 아래를 보고 해본다. 아직 검증 되지 않았음(설치하는데 아무 문제 없었음)
오라클 CD에 있는 내용 Disk1-3을 /home/down으로 카피한다 : cp /mnt/cdrom/ /home/down
- patch 파일을 받아야 한다. ftp://jjh.agimart.co.kr/3006854/rhel3_pre_install.sh 다운 받아서 실행.
]# sh rhel3_pre_install.sh
- 리눅스에서 시작-인터넷-추가응용-gFtp를 이용하여 ftp://jjh.agimart.co.kr/lib/fonts/ 에서 확장자가 ttc인 파일
(batang.ttc gulim.ttc mingliu.ttc)을 /home/down/Disk1/stage/components/oracle.swd.jre/1.3.1.0.0/DataFiles/Expanded/jre
/linux/lib/fonts 에 업로드합니다.
- cd /home/down/Disk1/stage/components/oracle.swd.jre/1.3.1.0.0/DataFiles/Expanded/jre/linux/lib/fonts/
- 추가한 한글 글꼴 파일 목록을 추가하자 : vi fonts.dir
첫라인의 폰트 개수(기본72)를 추가한 글꼴 개수를 더한 값으로 수정. 기본값이 72이니 75가 된다.
맨아래 부분에 추가한 글꼴 파일의 환경을 추가하자 :
battang.ttc -ms-batang-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
gulim.ttc -ms-gulim-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
mingliu.ttc -ms-mingliu-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
저장하고 나오자 : :wq
- cd .. 즉 /home/down/Disk1/stage/components/oracle.swd.jre/1.3.1.0.0/DataFiles/Expanded/jre/linux/lib 에
font.properties.ko를 다운받는다. (리눅스에서 시작-인터넷-추가응용-gFtp를 이용하여)
- font.properties.ko의 권한을 바꿔주자 : chmod 755 font.properties.ko
9. 8번의 과정이 성공적으로 끝났다면 설치창이 뜬다.
언어설정에 korean을 추가하고 설치는 custom으로하여 +sqlplus를 체크하고 넘어간다.
설치 중 두번의 에러메세지가 나온다.
Error in invoking target install of makefile
/usr/ora9/product/9.2/network/lib/ins_oemagent.mk
====> 참고로 나는 이 부분에서 에러가 생기지 않고 넘어갔다.
위의 경우 무시하고 지나간다.
Error in invoking target install of makefile
/usr/ora9/product/9.2/ctx/lib/ins_ctx.mk
위의 경우는 X terminel을 하나 더 띄우고 oracle 계정으로 아래순서대로 실행한다.
$ cd $ORACLE_HOME/install
$ tail make.log
gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/
-L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9
긁어 붙인다음 -ldl 을 추가한 후 엔터한다.
100% 설치후 루트권한으로 아래 명령을 실행시키라는 메세지가 뜬다.
/home/oracle/product/9.2.0.1/root.sh
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
출처 : http://cafe.naver.com/aix.cafe
Red Hat Enterprise Linux AS release 3 (Taroon) 기반에서 오라클 9.2.0 설치하기(리눅스 커널 2.4.21)
1. 참조문서
http://www.puschitz.com/InstallingOracle9i.shtml#InstallingOracle9iR2OnRHAS3
2. 설치전 필요한 페키지
X-Window 필수
gcc-3.2.2-5
cpp-3.2.2-5
glibc-devel-2.3.2-11.9
binutils-2.13.90.0.18-9 => os 설치후 있는 패키지들 : 확인 필요없음
pdksh-5.2.14-21
compat-gcc-7.3-2.96.118.i386.rpm : 설치됨
compat-db-4.0.14.5
openmotif21-2.1.30-8.i386.rpm
setarch-1.3-1
없는 패티키(인스톨후)-- rpm => rpmfind.net 에서 두개는 찾고 두개는 설치안됨
compat-libgcj-7.3-2.96.118.i386.rpm : 설치됨 (redhat 9 용)
compat-libgcj-devel-7.3-2.96.118.i386.rpm : 설치됨 (redhat 9 용)
compat-gcc-c++-7.3.2.96.122 : 없음 => 이것 없이도 잘 설치됨.
compat-libstdc++-devel-7.3-2.96.122 : 없음
sun jdk 1.3.1_02 : http://java.sun.com/products/archive/j2se/1.3.1_20/index.html
/usr/local/java로 디렉토리 수정후 오라클 .bash_profile 패스설정
3. 다운로드 소스
http://otn.oracle.com/software/products/oracle9i/htdocs/linuxsoft.html
적당한곳에 3개의 파일을 받아 압축을 푼다.
# zcat lnx_920_disk1.cpio.gz | cpio -idmv <-- http로 받지 않았을 때
# gunzip < lnx_920_disk1.cpio.gz.cpio.gz <-- http로 받았을 때
# cpio -idmv < lnx_920_disk1.cpio.gz.cpio.gz
4. 계정 및 그룹생성 시스템 설정
# groupadd dba
# useradd -g dba -s /bin/bash -d /oracle/app/oracle/product/9.2.0 oracle
=> 설치 디렉토리 및 /oralce 디렉토리 권한 변경
5. 커널 수정
# vi /etc/sysctl.conf
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
# vi /etc/security/limits.conf
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
만약 리붓팅하지 않을려면 다음과 같이한다.
# echo 250 32000 100 128 > /proc/sys/kernel/sem
# echo 536870912 > /proc/sys/kernel/shmmax
# echo 4096 > /proc/sys/kernel/shmmni
# echo 2097152 > /proc/sys/kernel/shmall
# echo 65536 > /proc/sys/fs/file-max
# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
6. 하드웨어 최소 사양
오라클은 최소 512MB의 메모리와 400MB의 스왑 공간을 필요로 한다. 따라서 부족하다면
임시적으로 스왑공간을 아래와 같이 만들어준다.
# free, fdisk,swapon -s 로 공간을 확인할수 있다.
# dd if=/dev/zero of=tmp_swap bs=1k count=900000
# chmod 600 tmp_swap
# mkswap tmp_swap
# swapon tmp_swap
스왑해제
# swapoff tmp_swp
# rm tmp_swap
7. 환경변수 설정(여기서 부터 oracle 계정으로 바꾼다.)
$ vi .bash_profile
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2.0
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
#export TMPDIR=$ORACLE_BASE/tmp
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG='AMERICAN_AMERICA.KO16KSC5601'
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORAClE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib
export LANG=C
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/oracm/bin:/usr/local/java/bin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/product/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
8. $ /Where/Disk1/runInstaller <- 오라클 소스압축푼 디렉터리
참고)root에서 xhost +, 또는 xhost localhost후 오라클 사용자로 로그인
export DISPLAY=192.168.0.20:1.0
에러가 떨어졌다. runinstaller가 실행이 안되었다.. 아래 스크립트 실행
#!/bin/bash
USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi
# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "Patch has already been applied"
exit
else
echo "Applying patch..."
fi
cat << EOF |
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
"movl %2, %%ebx\n\t"
"movl %1, %%eax\n\t"
"int \$0x80\n\t"
"popl %%ebx"
: "=a" (res)
: "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0));
return res;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload
echo "Patch successfully applied"
그리고 참고로 폰트 관련 에러는 아래를 보고 해본다. 아직 검증 되지 않았음(설치하는데 아무 문제 없었음)
오라클 CD에 있는 내용 Disk1-3을 /home/down으로 카피한다 : cp /mnt/cdrom/ /home/down
- patch 파일을 받아야 한다. ftp://jjh.agimart.co.kr/3006854/rhel3_pre_install.sh 다운 받아서 실행.
]# sh rhel3_pre_install.sh
- 리눅스에서 시작-인터넷-추가응용-gFtp를 이용하여 ftp://jjh.agimart.co.kr/lib/fonts/ 에서 확장자가 ttc인 파일
(batang.ttc gulim.ttc mingliu.ttc)을 /home/down/Disk1/stage/components/oracle.swd.jre/1.3.1.0.0/DataFiles/Expanded/jre
/linux/lib/fonts 에 업로드합니다.
- cd /home/down/Disk1/stage/components/oracle.swd.jre/1.3.1.0.0/DataFiles/Expanded/jre/linux/lib/fonts/
- 추가한 한글 글꼴 파일 목록을 추가하자 : vi fonts.dir
첫라인의 폰트 개수(기본72)를 추가한 글꼴 개수를 더한 값으로 수정. 기본값이 72이니 75가 된다.
맨아래 부분에 추가한 글꼴 파일의 환경을 추가하자 :
battang.ttc -ms-batang-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
gulim.ttc -ms-gulim-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
mingliu.ttc -ms-mingliu-medium-r-normal--0-0-0-0-c-0-ksc5601.1987-0
저장하고 나오자 : :wq
- cd .. 즉 /home/down/Disk1/stage/components/oracle.swd.jre/1.3.1.0.0/DataFiles/Expanded/jre/linux/lib 에
font.properties.ko를 다운받는다. (리눅스에서 시작-인터넷-추가응용-gFtp를 이용하여)
- font.properties.ko의 권한을 바꿔주자 : chmod 755 font.properties.ko
9. 8번의 과정이 성공적으로 끝났다면 설치창이 뜬다.
언어설정에 korean을 추가하고 설치는 custom으로하여 +sqlplus를 체크하고 넘어간다.
설치 중 두번의 에러메세지가 나온다.
Error in invoking target install of makefile
/usr/ora9/product/9.2/network/lib/ins_oemagent.mk
====> 참고로 나는 이 부분에서 에러가 생기지 않고 넘어갔다.
위의 경우 무시하고 지나간다.
Error in invoking target install of makefile
/usr/ora9/product/9.2/ctx/lib/ins_ctx.mk
위의 경우는 X terminel을 하나 더 띄우고 oracle 계정으로 아래순서대로 실행한다.
$ cd $ORACLE_HOME/install
$ tail make.log
gcc -o ctxhx -L/opt/ora9/product/9.2/ctx/lib/ -L/opt/ora9/product/9.2/lib/
-L/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-L/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -Wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9
긁어 붙인다음 -ldl 을 추가한 후 엔터한다.
100% 설치후 루트권한으로 아래 명령을 실행시키라는 메세지가 뜬다.
/home/oracle/product/9.2.0.1/root.sh