원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


64비트 Solaris에 오라클 9.2.0 설치 하기.

1.오라클 디렉토리 생성

# mkdir -p /oracle/app/oracle/product/9.2.0

# chown -R oracle:dba /oracle



2. 오라클 oratab 디렉토리 생성 (SID나 ORACLE_HOME을 기록)

# mkdir -p /var/opt/oracle

# chown oracle:dba /var/opt/oracle




3. 오라클 환경변수와  공유메모리를 위한 커널 파라미터지정


csh 을 사용한다면 오라클 홈디렉토리에 .cshrc 파일을 다음과 같이
만든다.



# @(#)cshrc 1.11 89/11/29 SMI
umask 022
set path=(/oracle/app/oracle/product/9.2.0/bin /bin /sbin /usr/bin /usr/sbin /usr/openwin/bin /usr/ccs/bin /usr/local/bin /usr/local/sbin /usr/ucb /etc .)
if ( $?prompt ) then
set history=32
endif

set filec
stty erase ^H

setenv EDITOR vi
setenv ORACLE_BASE /oracle/app/oracle
setenv ORACLE_HOME /oracle/app/oracle/product/9.2.0
setenv ORACLE_OWNER oracle
setenv ORACLE_SID ORCL
setenv ORA_NLS33 /oracle/app/oracle/product/9.2.0/ocommon/nls/admin/data
setenv NLS_LANG AMERICAN_AMERICA.KO16KSC5601
setenv LANG C
setenv TNS_ADMIN /oracle/app/oracle/product/9.2.0/network/admin

setenv LD_LIBRARY_PATH /oracle/app/oracle/product/9.2.0/lib32
setenv LD_LIBRARY_PATH_64 /oracle/app/oracle/product/9.2.0/lib

setenv DISPLAY oracle:0.0





/etc/system 파일 만들기

forceload:sys/shmsys             
forceload:sys/semsys
forceload:sys/msgsys

set shmsys:shminfo_shmmax=251658240
set shmsys:shminfo_shmmin=50
set shmsys:shminfo_shmmni=256
set shmsys:shminfo_shmseg=256

set semsys:seminfo_semume=128
set semsys:seminfo_semmap=128
set semsys:seminfo_semopm=64
set semsys:seminfo_semmni=2048
set semsys:seminfo_semmnu=2048
set semsys:seminfo_semmns=2048
set semsys:seminfo_semmsl=400

set msgsys:msginfo_msgmap=512
set msgsys:msginfo_msgmax=8192
set msgsys:msginfo_msgmnb=65536
set msgsys:msginfo_msgmni=256
set msgsys:msginfo_msgtql=512
set msgsys:msginfo_msgseg=8192

set maxusers=1000
set max_nprocs=10000
set rlim_fd_max=1500
set rlim_fd_cur=128


/etc/system은 다시 부팅해서 에러가 안뜨는지 확인하고,
.cshrc는 source .cshrc로 다시 한번 실행해서 시스템
설정을 적용 시킨다.




4. 자바설치 하기.

솔라리스 운영체제에 오라클 9i를 설치하기 위해서는

자바 SDK 1.3.1 버전 이상이 필요하나 솔라리스를 처음 설치하고

별도로 설치한 적이 없다면 1.2 버전으로 동작중일 것이다.



java.sun.com 의 사이트에서 jre1.3.1을 다운받는다.

이 파일을 다운받아 압축을 풀고

/usr/java 디렉토리에 압축을 푼 디렉토리를 가르키도록

심볼릭 링크 시켜주면 된다.


예) 자바를 압축 푼 곳이 다음과 같다면... 

    /usr/java1.3.1

다음과 같이 링크를 건다.

# ln -s /usr/java /usr/java1.3.1


6. 오라클 설치

해당 디렉토리의 runinstaller을 실행 시켜서

OUI를 불러온다.(Oracle Universal Installer)

이때 display broken이라는 메시지와 함께 runintaller가 실행되지 않으면

xhost 명령으로 display를 지정해주고 다시 시도해본다.


# xhost +



단, OUI를 실행시킬때는 반드시 oracle 유저로 해야 한다.





7. 오라클 설치중  다음과 같은 에러가 뜨는 경우

Err invorking target ioracle of makefile  /oracle/app/oracle/product/9.2.0/rdbms/lib/ ins_rdbms

먼저 이 명령어를 수행하여 어떠한 에러가 뜨는지 확인을 한다.

which ld  --> make  -f ins_rdbms.mk install



- Linking Oracle
rm -f /oracle/ZTS/920_64/rdbms/lib/oracle
/usr/ccs/bin/ld -o /oracle/ZTS/920_64/rdbms/lib/oracle
-L/oracle/ZTS/920_64/rdbms/lib/ -L/oracle/ZTS/920_64/lib/ -dy
/oracle/ZTS/920_64/lib/WS6U2/lib/v9/crti.o
/oracle/ZTS/920_64/lib/WS6U2/lib/v9/crt1.o
/oracle/ZTS/920_64/rdbms/lib/opimai.o
/oracle/ZTS/920_64/rdbms/lib/ssoraed.o
/oracle/ZTS/920_64/rdbms/lib/ttcsoi.o /oracle/ZTS/920_64/lib/nautab.o
/oracle/ZTS/920_64/lib/naeet.o /oracle/ZTS/920_64/lib/naect.o
/oracle/ZTS/920_64/lib/naedhs.o /oracle/ZTS/920_64/rdbms/lib/config.o -lserver9
-lodm9 -lskgxp9 -lskgxn9 -lclient9 -lvsn9 -lwtcserver9
-lcommon9 -lgeneric9
/oracle/ZTS/920_64/rdbms/lib/defopt.o -lknlopt `if /usr/ccs/bin/ar tv /oracle/ZTS/920_64
/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap9" ; fi`
`if /usr/ccs/bin/ar tv /oracle/ZTS/920_64/rdbms/lib/libknlopt.a | grep dmwdm.o
> /dev/null 2>&1; then echo "-ldm9"; fi` -lslax9 -lpls9 -lplp9 -lserver9
-lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 -lknlopt -lslax9
-lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat
/oracle/ZTS/920_64/lib/sysliblist` -R
/opt/SUNWcluster/lib/sparcv9:/oracle/ZTS/920_64/lib -Y
P,:/opt/SUNWcluster/lib/sparcv9:/usr/ccs/lib/sparcv9:/usr/lib/sparcv9 -Qy
-lc -laio -lposix4 -lkstat -lm /oracle/ZTS/920_64/lib/WS6U2/lib/v9/crtn.o

Undefined first referenced
symbol in file
qmxseqGetData
/oracle/ZTS/920_64/lib//libserver9.a(qmts.o)
qmxPrintXobDocToStream
/oracle/ZTS/920_64/lib//libserver9.a(qmh.o)
qmxPrintXobToStream
/oracle/ZTS/920_64/lib//libserver9.a(qmhjs.o)
qmxseqIterNext
/oracle/ZTS/920_64/lib//libserver9.a(qmts.o)
qmxParsePackedStream
/oracle/ZTS/920_64/lib//libserver9.a(qmxtc.o)
qmx_getdatal
/oracle/ZTS/920_64/lib//libserver9.a(qmtk.o)
qksopIsConstant
/oracle/ZTS/920_64/lib//
Java_oracle_xdb_dom_XDBElement_getAttributeMapNative
/oracle/ZTS/920_64/lib//libserver9.a(jnistat.o)
qmxGetXobLocalName
/oracle/ZTS/920_64/lib//libserver9.a(qmhd.o)
qmxseqIterInit
/oracle/ZTS/920_64/lib//libserver9.a(jnistat.o)
/oracle/ZTS/920_64/lib//libserver9.a(qme.o)
qmxListBegin
/oracle/ZTS/920_64/lib//libserver9.a(qmpr.o)
Java_oracle_xdb_dom_XDBElement_replaceChildNative
/oracle/ZTS/920_64/lib//libserver9.a(jnistat.o)
ld: fatal: Symbol referencing errors. No output written to
/oracle/ZTS/920_64/rdbms/lib/oracle
*** Error code 1
make: Fatal error: Command failed for target
`/oracle/ZTS/920_64/rdbms/lib/oracle'




--------------------------------------------------------------------------------

(해결방법)

이 운영 체재가 32비트인지 64 비트 인지 확인한다.


64 Bit라면  LD_LIBRARY_PATH 변수를 다음과 같이 되어있는지 확인

Oracle 9.X.X (64Bit) on Solaris (64Bit) OS
- Set LD_LIBRARY_PATH=$ORACLE_HOME/lib32
- Set LD_LIBRARY_PATH_64=$ORACLE_HOME/lib

Oracle 9.X.X (32Bit) on Solaris (64Bit) OS
- Set LD_LIBRARY_PATH=$ORACLE_HOME/lib




RAC를 사용한다면

# cd $ORACLE_HOME/rdbms/lib

# make -f ins_rdbms.mk rac_on

# make -f ins_rdbms.mk ioracle

-----------------------------------------------------------------------------


위와 같이 해도 실행이 안된다면 swap 메모리 공간이 충분한지 확인한다.

오라클 9i의 권장메모리는 512MB.

스왑메모리는 최소 1GB는 넘어야 할 것이다.
서버에 요청 중입니다. 잠시만 기다려 주십시오...