[silent mode] RHEL4 + Oracle 9i 9.2.0.4 -> patchset9.2.7.0 -> database create -> patchset9.2.8.0
Oracle


[silent mode] RHEL4 + Oracle 9i 9.2.0.4 -> 


9.2.8.0 -> database create-> patchset9.2.8.0



1. 사용자계정과 그룹생성

# groupadd -g 5000 dba

# useradd -g dba -d /home/oracle oracle

# passwd oracle

passwd:

repasswd: 


암호설정이후에 오라클 인스톨디렉토리 /home/oracle 로 카피




2. 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

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144


환경변수 저장을 위해서 sysctl -p 명령어를 치면 위와 같이 나옴




3. vi /etc/security/limmits.conf

oracle10g soft nproc 2047

oracle10g hard nproc 16384

oracle10g soft nofile 1024

oracle10g hard nofile 65536


리밋츠.컨프 열어서 위의 내용 추가






4. vi /etc/pam.d/login

 session        required         pam_limits.so


맨 아래에 추가 후 저장 종료





5. 아까 oracle home으로 옮겨놓았던 install 디렉토리 안에 3개의 cpio 압풀파일을 해제한다.

# cpio -idmv < ship_9204_linux_disk1.cpio \

> && cpio -idmv < ship_9204_linux_disk2.cpio \

> && cpio -idmv < ship_9204_linux_disk3.cpio 


귀찮으니까 연속으로 압축을 풀자.




6. 의존성패키치

아래 패키지들이 설치 되어있어야 한다

- compat-db-4.1.25-9

- compat-gcc-32-3.2.3-47.3

- compat-gcc-32-c++-3.2.3-47.3

- compat-libgcc-296-2.96-132.7.2

- compat-libstdc++-296-2.96-132.7.2

- compat-libstdc++-33-3.2.3-47.3

- gcc-3.4.3-9.EL4

- gcc-c++-3.4.3-9.EL4

- gnome-libs-1.4.1.2.90-44

- gnome-libs-devel-1.4.1.2.90-44

- libaio-devel-0.3.102-1

- libaio-0.3.102-1

- make-3.80-5

- openmotif21-2.1.30-11

- xorg-x11-deprecated-libs-devel-6.8.1-23.EL

- xorg-x11-deprecated-libs-6.8.1-23.EL

- compat-libcwait-2.0-2.i386.rpm

- compat-oracle-rhel4-1.0-5.i386.rpm


위에서는 3개정도가 없어서 찾아서 설치하였다


# umount /media/cdrecorder/

# mount /media/cdrecorder/

# cd /media/cdrecorder/RedHat/RPMS/  (3번CD)

# rpm -Uvh libaio-devel-0.3.105-2.i386.rpm

# cd /home/oracle/install/rpm/

# rpm -Uvh compat-libcwait-2.0-2.i386.rpm

# rpm -Uvh compat-oracle-rhel4-1.0.5.i386.rpm


7. vi /home/oracle/.bash_profile 수정

export ORACLE_BASE=/home/oracle

export ORACLE_HOME=$ORACLE_BASE/product/9i
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.KO16MSWIN949



8. 권한 넘겨주기

 chown -R oracle.dba /home/oracle


9. oraInvenroty 위치 및 그룹을 지정한다.

vi /etc/oraInst.loc

 inventory_loc=/home/oracle/oraInventory

inst_group=dba



10. 이제 enperprise.rsp를 수정해야합니다.

OUI로 설치시 입력해 주는 항목을 미리 지정해 줄수 있습니다.

 chown oracle.dba /etc/oraInst.loc  /권한설정


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


UNIX_GROUP_NAME="dba"       35번줄

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

ORACLE_HOME="/home/oracle/product/9i"        59번줄

ORACLE_HOME_NAME="OHOME"     65번줄

s_cfgtyperet="Software Only" 280번줄



11. 환경변수 설정은 전부 끝났고 재시작 후에 오라클 계정으로 

재시작 후 오라클 계정으로 로그인한 후 설치를 진행합니다.

- Oracle Universal Installer(OUI)는 silent mode로 설치를 수행하더라도 내부적으로는

 X Window Connection이 필요합니다. 따라서 원격에서 ssh 접속하여 오라클 설치 시 아래와 같은 추가 설정이 필요합니다.

 # reboot

# export DISPLAY=:0.0

# cd /home/oracle/install/Disk1

$ ./runInstaller -noconsole -silent -force -waitforcompletion \

-responseFile/home/oracle/install/Disk1/response/enterprise.rsp




$ ./runInstaller -noconsole -silent -force -waitforcompletion \

-responseFile/home/oracle/install/Disk1/response/enterprise.rsp

파일을 아래와 같이 실행하면 설치가 시작됩니다.

In....해서 설치가 길어진다면 행이 걸린것이므로 위에서 부터 오타나 공백등 다시 한번 살펴보길 권장한다.



summary에서 조금 오래걸린다. 인내심을 가지고 행걸린거 아니니까 기다려보면

위와같이 잘 만들어졌다고 뜬다. 위에 please check /home....이라는건 로그가서 확인해보면

스크립트를 실행하라고 나온다. root로 실행하면 된다. 아래로 내려가보자

root계정으로 푸티하나 열어서

/home/oracle/product/9i/root.sh

를 실행하자.  중간에 [/usr/local/bin]: 은 엔터누르면 성공.



그리고 oracle로 다시 로그인해서 아래 프롬프트에

# sqlplus /nolog 치면

# sql*plus: release 9.2.0.4.0 버전이 정상적으로 설치 됐음을 알리는 글들이 출력된다.




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

patchset 9.2.0.7.0




1. 이제 상위 버전으로 패치해야 한다.

root계정이라면 oracle 계정으로 로그인한후에 patchset 디렉토리로 가서 92070 압축풀자.

 # cd /home/oracle/install/patchset/

# unzip p4163445_92070_Linux.zip



2.압축을 다 풀었으면 patchset.rsp를 수정해야합니다.

위  product 오타가 있다. 조심

product.xml -> products.xml




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

 UNIX_GROUP_NAME="dba"    /35번줄

FROM_LOCATION="/home/oracle/install/patchset/Disk1/stage/products.xml"    /43번
ORACLE_HOME="/home/oracle/product/9i"      /67번줄
ORACLE_HOME_NAME="OHOME"        /75번줄



3. 이제 해당 디렉토리에 가서 패치 명령어를 입력하면 된다.


# cd Disk1/

# export DISPLAY=:0.0

./runInstaller -noconsole -silent -force -waitforcompletion -responseFile /home/oracle/install/patchset/Disk1/response/patchset.rsp




4. 위의 패치 명령어를 쳐서 아래와 같이 나오면 성공.


5. 이제 푸티창 하나 더 켜서 root계정으로 스크립트를 실행해야 한다.

오라클 패치 완료되었다는 문구가 뜨면 새로운 putty창을 열어서 로그파일을 확인해야 한다.

로그 파일 내부에 있는 명령어를 루트 계정으로 실행하면 끝~~




위와 같이 실행해주자.

# cd /home/oracle/oraInventory/logs

# ls

# cat silentInstall2014-08-31_08-34-49PM.log

# /home/oracle/product/9i/root.sh


5. 이제 정상적으로 패치셋이 되었는지 확인만 하면 끝이다.


 # su - oracle

# sqlplus /nolog



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


database create

그럼 이제  database를 올리면 된다.




1.dbca.rsp 파일을 수정합니다. 응답의 형태로 db생성시 미리 항목을 지정하고 패치할 수 있게 하도록 하는것

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



GDBNAME = " testdb "                           /79번줄

SID = " testdb "                                     /89번줄

CHARACTERSET = " KO16MSWIN949 "       /121번줄

NATIONALCHARACTERSET = " UTF8 "       /131번줄



2. dbca 명령어를 이용해서 db를 생성합니다.

# cd ~

dbca -silent -templateName General_Purpose.dbc \

> -responseFile/home/oracle/install/Disk1/response/dbca.rsp



3. root계정으로 푸티창 하나 여어서 dbca 명령어를 치면 아래와 같이 실행되는데 한 5분안팎으로 걸리니

느긋하게 기다리면 db install이 끝날것입니다.



4. db설치가 끝나면 db가 잘 올라오는지 확인해봅시다.

 # sqlplus /nolog

sql > conn / as sysdba

sql > select status from v$instance;




수고하셨습니다.


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

patchset 9.2.0.8.0


앞에서 했던 patchset의 반복 과정이기때문에 그다지 어렵지 않게 하실 수 있습니다.


1.오라클 엔진패치 파일의 압푹을 해제해야합니다.

0.7버전의 Disk1은 꼭 삭제하시고 압축을 푸세요.

# cd ~

# cd /home/oracle/install/patchset/

# rm -fr Disk1 (7.0 디렉토리 삭제)

# unzip p4547807_92080_Linux.zip (압축해제 디렉토리명 Disk1)



2. 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"

ORACLE_HOME="/home/oracle/product/9i"

ORACLE_HOME_NAME="OHOME"




3. 오라클 계정으로 푸티열어서 patchset 명령어로 패치합니다.

#

#cd install/patchset/Disk1/

#

#export DISPLAY=:0.0

#

./runInstaller -noconsole -silent -force -waitforcompletion eFile /home/oracle/install/patchset/Disk1/response/patchset.rsp



여기까지 무사히 왔다면  99%오셨습니다.

위에서 oracle계정으로 패치명령으로 설치를 다 하셨고

log파일 확인후 스크립트 실행해 주시면 됩니다.



보통 스크립트는

/home/oracle/product/9i/root.sh

로그 확인은 안해봤지만 별 에러없이 설치됐기에 스크립트만 빨리 실행시키고 

버전 확인해보겠습니다.


???

9.2.0.7.0? 분명히 에러없이 잘 설치됐는데 버전이 그대로라 리스폰 파일도 건들어보고

결국 log파일 한번 확인해 봤는데


현제 oracle processes가 돌아가고 있어 설치가 안됬다고 나옵니다.

전에 패치 할때는 그냥 됐는데 갑자기 이러니까 당황스럽습니다만,

kill을 이용해서 죽이고 다시 설치 하겠습니다.

# pkill -9 oracle

.

.

.

(위 내용과 반복되어 넣지 않았습니다.)

.

.

.



다시 한번 접속해보니 완변하게 패치가 되었습니다.


수고하셨습니다.