원문 : 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
번호 제목 글쓴이 날짜 조회 수
75 10g ORA-32004 : obsolete and/or deprecated parameter(s) specified 조인상 2010.05.12 10738
74 centOS 5.2 에 오라클 10g 설치 조인상 2010.05.12 109910
73 히든 파라미터 확인하는 쿼리 조인상 2010.05.12 62417
72 오라클 복구 시나리오 조인상 2010.05.12 16646
71 골든 5.7 버전 데모 file 조인상 2010.05.12 7843
70 오라클 온라인백업 스크립트 (ksh 용) [1] file 조인상 2010.05.12 100756
69 [9i feature] DB_CACHE_ADVICE / V$DB_CACHE_ADVICE 에 대해서 조인상 2010.05.12 8063
68 exp error - ORA-19206: Invalid value for query or REF CURSOR parameter 조인상 2010.05.12 156609
67 exp실행시 에러. ORA-06512 SYS.DBMS_METADATA_INT 조인상 2010.05.12 32629
66 OPN 가입시의 장점 file 조인상 2010.05.12 6700
65 오라클에 접속하는 최대 인스턴스개수(세션개수)를 늘리는 방법 조인상 2010.05.12 24614
» Red Hat Enterprise Linux AS release 3 (Taroon) 기반에서 오라클 9.2.0 설치하기 조인상 2010.05.12 8060
63 Unix 에서 Raw Device 사용법 조인상 2010.05.12 14084
62 오라클 10g OCP 라이센스 업그레이드 정보 조인상 2010.05.12 7499
61 .net 과 오라클 연동에 대하여 조인상 2010.05.12 10320
60 [장애처리] 메모리 풀로 인한 OS hang-up 조인상 2010.05.12 9760
59 [설치장애기] 64비트 windows 2003에 오라클 10.2.0.1 32비트 설치시 ORA-12564에러 조인상 2010.05.12 16496
58 Redhat Linux 8.0 에 Oracle 9i install 조인상 2010.05.12 7600
57 레드햇리눅스9에 오라클9i설치중 hang 조인상 2010.05.12 8770
56 OS의 파일사이즈가 2GB로 제한될때 split으로 나누기 조인상 2010.05.12 6173
서버에 요청 중입니다. 잠시만 기다려 주십시오...