원문 : 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 AIO on HP-UX filesystem 조인상 2011.11.01 13222
74 Diagnosing and Resolving ORA-4030 errors (Oracle Metalink) 조인상 2011.10.31 13205
73 아카이브 모드로 변환하기 조인상 2010.05.12 12791
72 온라인 백업/리스토어 (imp/exp) 조인상 2010.05.09 12785
71 AIX 64bit - oracle 10.2.0.1 설치 file 조인상 2010.05.12 12745
70 Master Note for Diagnosing ORA-4030 (Oracle Metalink) 조인상 2011.10.31 12664
69 롤백세그먼트 부족에 대한 관리법 (ORA-01555) 조인상 2010.10.13 12455
68 10G: ORA-6512 AT SYS.OLAPIHISTORYRETENTION [ID 266728.1] 조인상 2011.06.23 12351
67 오라클 홈디렉토리 변경 ( /oracle_backup => /oracle ) 조인상 2010.05.12 11917
66 Oracle 7.3.4 for Windows file 조인상 2011.08.31 11885
65 control file 재생성하기 조인상 2010.05.12 11667
64 오라클 startup & shutdown 쉘 스크립트 짜는 법 조인상 2010.05.12 11620
63 오라클 유저 생성 및 변경/삭제 조인상 2010.05.12 11413
62 ORA-28002 : the password will expired within N days 조인상 2014.01.09 11274
61 오라클 패치 후 export가 안된다! [1] 조인상 2010.05.12 10848
60 아카이브 로그 강제로 생성하는 명령어 조인상 2010.05.12 10790
59 10g ORA-32004 : obsolete and/or deprecated parameter(s) specified 조인상 2010.05.12 10750
58 64비트 Solaris에 오라클 9.2.0 설치 하기 조인상 2010.05.12 10527
57 오라클 버전업 후 exp할때 ORA-00904에러 조인상 2010.05.12 10450
56 .net 과 오라클 연동에 대하여 조인상 2010.05.12 10334
서버에 요청 중입니다. 잠시만 기다려 주십시오...