원문 : 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 오라클 cold 백업 스크립트(특정데이터파일만 추출) NT용 file 조인상 2010.05.12 9221
74 INCREMENTAL, CUMULATIVE, COMPLETE EXPORT & IMPORT 조인상 2010.05.12 7144
73 Linux 32bit ( EntePrise AS 3.0) - 오라클 9.2.0.4 설치 조인상 2010.05.12 7326
72 오라클 홈디렉토리 변경 ( /oracle_backup => /oracle ) 조인상 2010.05.12 11917
71 AIX 64bit - oracle 10.2.0.1 설치 file 조인상 2010.05.12 12745
70 오라클 삭제하는 방법 조인상 2010.05.12 14080
69 오라클 hotbackup 스크립트 조인상 2010.05.12 9582
68 오라클 인덱스 분리해서 임포트 하는 방법 조인상 2010.05.12 6643
67 Oracle Library Cache and Dictionary Cache 조인상 2010.05.12 8845
66 오라클 온라인백업스크립트 구성 예 조인상 2010.05.12 7442
65 제약조건 이름은 아는데 테이블을 모를경우 찾는 스크립트 조인상 2010.05.12 8448
64 AIO 문제때문에 오라클 실행안될때 조인상 2010.05.12 9664
63 NT기반 오라클환경에서 OS 다시 깔았을때 복구방법 조인상 2010.05.12 9138
62 v$datafile 의 status 에 recover로 표시되는 경우 조인상 2010.05.12 9941
61 캐릭터셋 확인하는 쿼리 조인상 2010.05.12 8121
60 OS의 파일사이즈가 2GB로 제한될때 split으로 나누기 조인상 2010.05.12 6189
59 레드햇리눅스9에 오라클9i설치중 hang 조인상 2010.05.12 8788
58 Redhat Linux 8.0 에 Oracle 9i install 조인상 2010.05.12 7616
57 [설치장애기] 64비트 windows 2003에 오라클 10.2.0.1 32비트 설치시 ORA-12564에러 조인상 2010.05.12 16517
56 [장애처리] 메모리 풀로 인한 OS hang-up 조인상 2010.05.12 9769
서버에 요청 중입니다. 잠시만 기다려 주십시오...