본문 바로가기
oracle/[install] single

RHEL4 + ORACLE 9i (SILENT)

by #moonyz 2014. 9. 1.

* RHEL4 설치과정은 생략


* 오라클 설치과정: 계정생성 -> 환경설정 및 패치 -> 엔진설치 -> 엔진패치(9.2.0.7) -> DB생성 -> 엔진패치(9.2.0.8)


* 모든 작업은 root 로 한다



[ 설치 전 해야할 일 ]

1. oracle 계정 만들기

# groupadd -g 5000 dba

# useradd -g dba -s /bin/bash oracle

# passwd oracle



2. 설치에 필요한 파일들을 oracle 계정으로 복사하기

1. 오라클 9i    /home/oracle/install/ *.cpio

2. 필수 패키지: compat-libgcj-7.3-2.96.118.i386.rpm / compat-libgcj-devel-7.3-2.96.118.i386.rpm   /home/oracle/install/rpm

3. 리눅스 패치 파일: p3006854_9204_LINUX.zip   /home/oracle/install/patch

4. 오라클 패치 파일: p4163445_92070_LINUX.zip / p4547809_92080_LINUX.zip   /home/oracle/install/patchset


3. winSCP로 위 파일들을 /home/oracle 에 옮긴다.




환경설정 및 패치 ]

1. 공유 메모리 확인 : 여러개의 프로그램이 메모리를 동시에 사용하면 충돌이 일어나기 때문에 오라클이 사용할 메모리 지정

# echo '2147483648' > /proc/sys/kernel/shmmax --오라클이 사용할 공유메모리 최대 2G지정

# vi /etc/rc.d/rc.local --rc.local은 윈도우에서 시작프로그램같은 것. 내용을 추가해주면 부팅 때 마다 실행


echo '2147483648' > /proc/sys/kernel/shmmax 등록




2. 오라클 설치 파일 압축풀기

# cd /home/oracle/install

# cpio -idmv < ship_9204_linux_disk1.cpio \

&& cpio -idmv < ship_9204_linux_disk2.cpio \

&& cpio -idmv < ship_9204_linux_disk3.cpio



-> Disk1, Disk2, Disk3 디렉토리가 생김



3. 리눅스 패치

# cd /home/oracle/install/patch

# unzip p3006854_9204_LINUX.zip

# cd 3006854/ -- 압축푼 폴더

# sh rhel3_pre_install.sh --패치 실행해줘야지 runInstall 가능

Applying patch...

Ensuring permissions are correctly set...

Done.

Patch successfully applied --이렇게 뜨면 패치 성공



4. 필수 패키지 설치

# cd  /home/oracle/install/rpm

# rpm Uvh compat-libgcj-7.3-2.96.118.i386.rpm

# rpm Uvh compat-libgcj-devel-7.3-2.96.118.i386.rpm -- # rpm -Uvh compat-libgcj-* 한번에 설치

# rpm Uvh nss_db-compat-2.2-20.i386.rpm --설치시 에러나는 경우 무시할것



5. 오라클 환경변수 설정하기

# vi /home/oracle/.bash_profile  --아래 내용 추가해주기

Silent 로 설치를 하더라도 내부적으로는 X Window Connection이 필요하기 때문에 원격접속으로 오라클 설치시 추가 설정 필요.

- putty는 GUI 환경 지원이 안되기 때문에 .bash_profile에 DISPLAY=localhost로 설정해줘야 한다.

export DISPLAY=localhost:0.0 


export ORACLE_BASE=/home/oracle

export ORACLE_HOME=$ORACLE_BASE/product/9.2

export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export ORACLE_OWNER=oracle

export ORACLE_SID=testdb

export ORACLE_TERM=xterm

export LD_ASSUME_KERNEL=2.4.1

export THREADS_FLAG=native

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601

export LANG=C




6. oraInst.loc 파일 생성 oraInst.loc 파일은 log파일 저장위치를 지정해주는 파일이다.

# vi /etc/oraInst.loc

아래 내용 추가하기

inventory_loc=/home/oracle/oraInventory

inst_group=dba

# chown -R oracle.dba /etc/oraInst.loc



7. enterprise.rsp 수정하기

# vi /home/oracle/install/Disk1/response/enterprise.rsp

UNIX_GROUP_NAME="dba"

FROM_LOCATION="/home/oracle/install/Disk1/stage/products.jar"

ORACLE_HOME="/home/oracle/product/9.2"

ORACLE_HOME_NAME="OraHome"

s_cfgtyperet="Software Only"






8. 디렉토리 소유권 oracle.dba로 변경 

# chown -R oracle.dba /home/oracle


 

[ 오라클 설치 (엔진설치) ]

1. 재부팅 후 oracle 계정으로 로그인 


2. runInstaller 실행전에 

# xhost + localhost(또는 ip)  -- 원격대상 터미널에서 xhost 접근을 허용해줘야함.


3. 원격접속 터미널에서 

$ export DISPLAY =localhost:0.0 (또는 [IP]:0.0) -- 로그인되지 않은 다른 사용자 계정으로 어플리케이션을 실행할 경우에 씀.


4. -silent 모드로 runInstaller 실행

$ cd /home/oracle/install/Disk1

$ ./runInstaller -silent -responseFile /home/oracle/install/Disk1/response/enterprise.rsp

--설치과정을 보고싶지 않으면 옵션에 -noconsole 추가 



5. 설치가 진행되고 있는지 log파일로 확인 할 수 있다.

새 터미널을 열고

$ cd /home/oracle/oraInventory/logs

$ tail -f ins~~ ( Tab키 눌러서 자동채우기 ) 설치가 잘 끝나면 tail화면에서 SHOW_EMD_SESSION_PAGE=false 출력



6. 설치확인

oracle 계정에서

$ sqlplus /nolog

아무 에러 없이 실행이 되면 설치 성공!




[ 엔진 패치 (9.2.0.7) ]

1. 패치파일 압축풀기

$ cd /home/oracle/install/patchset

$ ls

p3948480_9206_LINUX.zip  p4163445_92070_LINUX.zip  p4547809_92080_LINUX.zip --LINUX앞에 있는 숫자가 버전

$ unzip p4163445_92070_LINUX.zip

-> Disk1 디렉토리 생성


2. patchset.rsp 파일 내용 수정

$ vi /home/oracle/install/patchset/Disk1/response/patchset.rsp

FROM_LOCATION만 다르고 enterprise.rsp와 같음

UNIX_GROUP_NAME="dba" 

FROM_LOCATION="/home/oracle/install/patchset/Disk1/stage/products.xml" 

ORACLE_HOME="/home/oracle/product/9.2" 

ORACLE_HOME_NAME="OraHome"





3. patchset 실행

$ cd /home/oracle/install/patchset/Disk1/

$ ./runInstaller -silent -responseFile /home/oracle/install/patchset/Disk1/response/patchset.rsp

- 설치 과정을 보여줌. 설치과정을 보고싶지 않으면 옵션에서 -noconsole 추가하면 됨

- log 파일은 /home/oracle/oraInventory/logs 안에



4. root.sh 실행 

설치가 완료되면 root 계정으로 로그인 하여 root.sh 실행

$ su - root

$ /home/oracle/product/9.2/root.sh




5. 패치확인

oracle 계정에서

$ sqlplus /nolog

-> 선택한 패치버전이 나오면 성공





[ DB생성 ]

1. dbca.rsp 수정

$ cd  /home/oracle/install/Disk1/response

$ vi dbca.rsp

-> SID 와 NATIONALCAHRACTERSET 만 변경해줘도 됨.

GDBNAME = "testdb"

SID = "testdb"

CHARACTERSET = "KO16MSWIN949"

NATIONALCHARACTERSET= "UTF8"






2. DB생성 

$ cd /home/oracle/product/9.2/bin

$ ./dbca -silent -responseFile /home/oracle/install/Disk1/response/dbca.rsp

- 시간이 오래걸림

- 완료되면 /home/oracle/admin/testdb/create/testdb.log 로그파일 확인해보라고 나옴



3. DB생성 확인

$ sqlplus /nolog

SQL> conn /as sysdba

Connected.

SQL> select status from v$instance;

STATUS

-------               -> 성공

OPEN 





[ 엔진패치 (9.2.0.8) ]

1. 현재 버전 9.2.0.7 에서 9.2.0.8 로 패치를 위해 DB를 shutdown 한다.

$ sqlplus / nolog

SQL > conn / as sysdba

SQL > shutdown


2. patchset 디렉토리에 9.2.0.7 패치를 위해 풀어놓았던 Disk1 디렉토리와 README.txt를 삭제한다.

$ cd /home/oracle/patchset

$ rm -rf Disk1

$ rm -rf README.html


3. 패치할 9.2.0.8 파일을 압축 해제 한다.

$ cd /home/oracle/install/patchset

$ unzip p4547809_92080_LINUX.zip

-> Disk1 디렉토리 생성


4. 패치 응답파일인 patchset.rsp 파일의 내용을 수정한다.

$ vi /home/oracle/install/patchset/Disk1/response/patchset.rsp

UNIX_GROUP_NAME="dba"

FROM_LOCATION="/home/oracle/install/patchset/Disk1/stage/products.xml"

ORACEL_HOME="/home/oracle/product/9.2"

ORACLE_HOME_NAME="OraHome"





5. 압축이 풀린 Disk1 디렉토리 안에 들어가서 runInstaller를 실행한다.

$ cd /home/oracle/patchset/Disk1

$ ./runInstaller -silent -responseFile /home/oracle/install/patchset/Disk1/response/patchset.rsp



* 설치도중 에러메시지가 나오면 해당 로그 파일을 열어 확인하고 오류를 수정한다.

로그파일 위치 $ cd /home/oracle/oraInventory/logs/


* 현재 Oracle 홈에서 실행 중인 프로세스가 있다는 메세지가 나오면 

- 해당 프로세스 종료 : $ pkill  -9 [process_name]

운영중인 oracle shutdown : $ sqlplus / as sysdba

 SQL > shutdown



6. 설치가 완료되면 스크립트 실행하라는 메세지 출력됨. 



7. PuTTy를 새로 열어 root계정으로 스크립트 실행

$ login as : root

$ sh /home/oracle/product/9.2/root.sh



7. 9.2.0.8 로 패치가 잘되었는지 확인

$ sqlplus / nolog

SQL > conn / as sysdba

SQL > startup  --DB mount / 비정상적으로 종료되었을 경우, 오라클의 인스턴스가 정상적으로 실행되지 않는경우

SQL > select status from v$instance;




[ Post Upgrade ]

1. 패치완료 후 패치적용을 하기위해 startup에 migrate 옵션을 준다.

$ sqlplus /nolog

SQL > conn / as sysdba

SQL > shutdown

SQL > startup migrate

SQL > @?/rdbms/admin/catpatch.sql  --20~30분 소요. 



2. 패치적용 완료화면



3. DB를 shutdown 한 후 다시 startup 해준다.

SQL > shutdown

SQL > startup

SQL > @?/rdbms/admin/utlrp.sql



4. 완료화면



5. 데이터베이스 상태확인

$ sqlplus / as sysdba

SQL > select status from v$instance;



'oracle > [install] single' 카테고리의 다른 글

RHEL4 + ORACLE 10g (SILENT)  (0) 2014.09.01
RHEL4 + ORACLE 10g (OUI)  (0) 2014.09.01
RHEL4 + ORACLE 9i (OUI)  (0) 2014.09.01
RHEL4 + ORACLE 8i (OUI)  (0) 2014.08.30
RHEL3 + ORACLE 9i (SILENT)  (0) 2014.08.29

댓글