원문 : 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
번호 제목 글쓴이 날짜 조회 수
35 오라클 삭제하는 방법 조인상 2010.05.12 14087
34 Unix 에서 Raw Device 사용법 조인상 2010.05.12 14117
33 테이블 컬럼의 데이터타입 변경 조인상 2010.05.12 14397
32 ASM 정리자료 조인상 2012.04.26 14511
31 SQL study - 특정열 앞에 순차적인 값 붙여 나열하기 조인상 2012.11.23 14835
30 LOCK 문제 확인과 해결 방법 조인상 2010.05.12 15156
29 REDO 로그 그룹의 용량을 늘리기 [1] 조인상 2013.05.22 15180
28 HP-UX 에 오라클 설치 조인상 2011.02.18 15746
27 ORA-12705: Cannot access NLS data files or invalid environment specified 조인상 2011.01.01 16483
26 [설치장애기] 64비트 windows 2003에 오라클 10.2.0.1 32비트 설치시 ORA-12564에러 조인상 2010.05.12 16520
25 오라클 복구 시나리오 조인상 2010.05.12 16668
24 오라클 exp 유틸리티를 이용한 백업 조인상 2010.09.15 16900
23 AIX 6.1에 오라클 9i 설치 조인상 2012.03.24 17338
22 오라클 10g 이상의 SGA영역 자동화(sga_target 파라미터) 조인상 2011.04.05 18430
21 Oracle Database 2 Day DBA - 부록 A. ASM file 조인상 2012.04.05 18678
20 ORA-01555 : snapshot too old: rollback segment number %s with name \"%s\" too small ischo 2012.04.10 19266
19 ORA-01089 : 오라클 프로세스를 kill 한 후 로그인 못 할때 조인상 2010.06.20 19438
18 online backup(archive log mode) 조인상 2010.05.12 19439
17 Oracle 설치문서에서 보는 ASM file 조인상 2012.03.30 19750
16 SQL developer 실행시 jvm.dll 오류 발생 조치 방법 조인상 2013.01.23 19766
서버에 요청 중입니다. 잠시만 기다려 주십시오...