DATA 전문가로 가는 길

[ Oracle ] Oracle Database Installation Guide 9i (9.2) for RHEL3(x86) 본문

Data Architecture/DB Install

[ Oracle ] Oracle Database Installation Guide 9i (9.2) for RHEL3(x86)

EstenPark 2010. 12. 10. 20:57
작성자 : 박상수
작성일자 : 2010.12.10
작업환경 : VMware7 [ RHEL3 + Oracle Database 9i ]


1. 오라클을 설치를 위한 자동 환경 설정(LHEL3)

[설명] RHEL3 머신에 Oracle 9i를 설치 하겠습니다. 우선 준비과정으로 아래와 같은 파일을 모두 /home/install로 옮겨주시기 바랍니다. 참고로 디렉토리와 파일을 잘 파악 해주시기 바랍니다. 
그리고 쉘 스크립트를 수행하기 위해서 auto_config_oracle9i.sh 파일은 다운 받고 같은 디렉토리에 넣어 주시기 바랍니다.
만약 다른 디렉토리에 넣고 쉘을 실행시키면 에러가 발생 됩니다.
스크립트를 수행 전에 반드시 스냅샷을 세팅하시기를 권장합니다.(vmware 기준)
auto_config_oracle9i.sh

[설명]
환경설정 자동 쉘 프로그램의 시나리오입니다.
1. User, Group을 생성 후 Root 계정의 암호를 사용합니다.
2. RPM 패키지를 체크하는데 기본적인으로 체크하는 항목과 무조건 RPM 설치하는 항목이 있습니다. 여기에서 기본적인 체크를 해서 1개라도 없으면 스크립트가 종료 됩니다.
기본적인 RPM 패키지 : gcc make binutils openmotif setarch compat-db
무조건 설치하는 RPM 패키지 :
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
3. 커널 매게변수를 설정합니다. /etc/sysctl.conf 설정파일에 값을 추가 합니다.
4. 시스템에서 사용하는 리소스를 제한 합니다. /etc/security/limits.conf
5-1. Oracle 설치파일을 /home/oracle 이동 시키고  *.cpio 압축 파일을 풀어줍니다. 이후에 소유 권한과 소유 그룹을 하위디렉토리까지 모두 변경 합니다.(oracle.root)
5-2. 폰트를 패치하기 위해서는 반드시 5-1 항목이 정상적으로 수행 되어있어야 합니다. 이부분은 오라클 머신을 설치할때 한글이 깨지는 현상을 막기위해서 스크립트를 수행 합니다.
6. $ORACLE_HOME/.bash_profile 파일에 내용을 추가합니다. 앞서 위의 작업 보다 더 중요한 부분이라고 할 수 있습니다. 오라클 머신, 패치, DB 생성 할때 모두 해당 파일의 환경변수를 참조하기 때문입니다. 
특정 문자는 $(dollar sign)을 문자열 값으로 대입 하여 추가 하게 되며 이후에 문자열 변환(치환) 작업을 진행 합니다. 그래서 예를 들지면 _dollar_sign_ 문자열을 "$"로 변경하게 됩니다.
7. patch 작업입니다. 해당 쉘 스크립트를 수행합니다.(rhel3_pre_install.sh)
8. 모든 작업이 완료 되었다면 다시 /home/oracle 하위 디렉토리를 oracle.dba 로 소유자 및 소유 그룹을 변경합니다.

[2010-12-11 20:34:21]-[root@estenpark:/home/install]
# ls
auto_config_oracle9i.sh              // Oracle 9i 환경설정 자동 쉘 프로그램
[파일]
ship_9204_linux_disk1.cpio        // 버전 (9.2) 설치 파일
ship_9204_linux_disk3.cpio
ship_9204_linux_disk2.cpio
[디렉토리]
patch                                     // patch 파일
rpm                                        // 아래에서 구성할 rpm
font                                       // 설치시 한글을 사용하기 위한 폰트
patchset                                // 업그레이드 버전별

[2010-12-11 20:34:22]-[root@estenpark:/home/install]
#
[2010-12-11 20:34:22]-[root@estenpark:/home/install]
# ./auto_config_oracle9i.sh

1. Group, User check

[설명] 자동으로 유저와 그룹을 생성하고 암호는 root 계정의 암호를 사용 합니다.
---------------------------------------------------
Group Check     :  dba:x:5000:
User Check      :  oracle:x:500:5000::/home/oracle:/bin/bash
password Check  :  oracle:$1$JcMi90Qg$VqxRE.JpjEEaRYCdrj8KW/:14954:0:99999:7:::
---------------------------------------------------

[설명] 아래와 같이 rpm 파일이 rpm 디렉토리에 있어야 합니다. 참고로 경고는 무시하셔도 됩니다.
경고: rpm/compat-libgcj-7.3-2.96.118.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                  ########################################### [100%]
   1:compat-libgcj          ########################################### [100%
]
경고: rpm/compat-libgcj-devel-7.3-2.96.118.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                  ########################################### [100%]
   1:compat-libgcj-devel    ########################################### [100%]
경고: rpm/nss_db-compat-2.2-20.i386.rpm: V3 DSA signature: NOKEY, key ID 9b3c94f4
오류: Failed dependencies:
 libc.so.6(GLIBC_PRIVATE) is needed by nss_db-compat-2.2-20
 libnss_files.so.2(GLIBC_PRIVATE) is needed by nss_db-compat-2.2-20

2. RPM Package Check

---------------------------------------------------
 Success
---------------------------------------------------

 

3. /etc/sysctl.conf

---------------------------------------------------
# Oracle configure
kernel.shmmax=2147483648
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
---------------------------------------------------

 

4. shell limit

---------------------------------------------------
# Oracle configure
oracle10g soft nproc 2047
oracle10g hard nproc 16384
oracle10g soft nofile 1024
oracle10g hard nofile 65536
---------------------------------------------------

[설명] 이부분에서 시간이 다소 오래 걸릴 수 있습니다. cpio 압축을 풀고 있습니다.
1288238 blocks
1263504 blocks
585396 blocks

5. Oracle 9i Installfile moving and Korea Font Setting

---------------------------------------------------
Disk1  Disk2  Disk3  ship_9204_linux_disk1.cpio  ship_9204_linux_disk2.cpio  ship_9204_linux_disk3.cpio
---------------------------------------------------

 

6. /home/oracle/.bash_profile

---------------------------------------------------
PATH=$PATH:$HOME/bin

export PATH
unset USERNAME

[설명] oracle 계정의 환경설정이며 아래 내용은 full path 로 나옵니다. 실제로 스크립트를 돌리면 $ORACLE_HOME, $ORACLE_BASE 등등으로 설정됩니다.
# Oracle configure
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=/product/9.2
export PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/bin:/Apache/Apache/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
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=/lib:
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
export LANG=ko_KR.eucKR

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

 

7. /home/oracle/.bash_profile

---------------------------------------------------
Archive:  p3006854_9204_LINUX.zip
   creating: 3006854/
  inflating: 3006854/rhel3_pre_install.sh 
  inflating: 3006854/README.txt     
Applying patch...
Ensuring permissions are correctly set...
Done.
Patch successfully applied
---------------------------------------------------

[설명] 주항색으로 굵게 설정된 부분에서 에러가 발생한다면 롤백(vmware로 설치하셨다면 스냅샷을 이용해서 스크립트 전과 후를 구분 하시면 됩니다.) 후 다시 스크립트를 수행 해보시기 바랍니다.
모두 정상적으로 수행 되었다면 재부팅 하시길 권장합니다. 아니면 sysctl -p 명령어로 커널 매게변수가 제대로 세팅 되었는지 확인하고 /proc/sys/ 관련 파일이 제대로 세팅 되었는지 파악 하시기 바랍니다.




2. 오라클 설치 시작(Oracle 9.2.0.4)

[설명] 재부팅 후 oracle 계정으로 로그인 하시길 바랍니다.


[설명] /oracle/home/Disk1 디렉토리에서 runInstaller를 실행 시킵니다.


[설명] 인벤토리의 위치를 지정합니다.($HOME/.bash_profile 설정을 기준으로 됩니다.)


[설명] 그룹을 지정해주는데 쉘 스크립트를 수행 하셨다면 dba를 입력 해주시길 바랍니다.


[설명] 인벤토리의 파일을 /etc 디렉토리에 생성하고 소유그룹의 권한을 지정하기 위해서 root 계정으로 아래와 같은 스크립트를 수행 해주시길 바랍니다.


[설명] 아래와 같이 스크립트를 수행하면 변경한 내역이 출력 됩니다.


[설명] 위 스크립트가 정상적으로 수행 되었다면 계속을 누르세요.


[설명] jar파일과 oracle의 홈디렉토리를 선택하고 경로는 반드시 bash_profile 또는 기타 환경설정파일의 내용과 동일해야 오류가 나지 않습니다.($HOME/.bash_profile 설정을 기준으로 됩니다.)


[설명] 제품언어를 Korea(한국어)를 선택 해야 하므로 제품 언어를 눌러주시기 바랍니다.


[설명] 만약 자동 환경설정 스크립트를 수행하였다면 자동으로 한국어가 생성되어있습니다.


[설명] Oracle 9i Database 9.2.0.4.0을 선택 하여 다음을 눌러주시기 바랍니다.


[설명] 설치 유형 또한 Enterprise Edition을 선택 하여 다음을 눌러주시길 바랍니다.


[설명] 데이터베이스 환경에 대한 부분으로 만약 software only를 선택하지 않고 다른 항목을 선택하면 오류가 발생 됩니다. 아래와 같이 선택 후 다음을 눌러주시기 바랍니다.


[설명] 설치를 하기위해서 기본 세팅이 완료되면 아래와 같이 나옵니다.


[설명] 설치 중입니다.


[설명] 설치가 완료되고 링크가 성공하면 root 권한으로 쉘 스크립트를 수행해야 합니다.


[설명] 아래와 같이 /home/oracle/product/9.2/root.sh 스크립트를 수행 합니다. 중간에 /usr/local/bin 디렉토리를 기본으로 설정 할 것인지 물어보는데 엔터를 눌러주시기 바랍니다.


[설명] 정상적으로 root.sh 스크립트가 수행되면 아래와 같이 확인을 누르면 됩니다. 이후 창이 나오는데 종료를 누르시길 바랍니다.





3. 오라클 패치 설치(Oracle 9.2.0.7.0)

[설명] 미리 오라클 사이트에서 다운 받은 패치파일을 리눅스 머신에 파일을 옮겨주시기 바랍니다.
파일 명 : p4163445_92070_LINUX.zip
압축을 풀어야 되는데 가급적이면 root 계정으로 수행하시기 바랍니다.
[2010-12-12 00:55:56]-[root@estenpark:/home/install/patchset]
# ls
p3948480_9206_LINUX.zip  p4163445_92070_LINUX.zip  p4547809_92080_LINUX.zip
[2010-12-12 00:55:56]-[root@estenpark:/home/install/patchset]
# unzip p4163445_92070_LINUX.zip
[설명]
oracle 계정으로 수행해야 하므로 소유권, 소유그룹을 아래와 같이 수행하시기 바랍니다.
[2010-12-12 00:57:34]-[root@estenpark:/home/install/patchset]
# chown -R oracle.dba Disk1/

[설명] 패치를 시작 합니다.


[설명] 한글로 할 경우 Font  패치작업을 해줘야 합니다. 여기에서는 영문으로 설치 하도록 하겠습니다.


[설명] 만약 아래 상태로 Next를 누르게 되면 경고&오류 메시지가나오게 됩니다.


[설명] /home/oracle/product/9.2로 설정한 후 Next 를 눌러 주세요.


[설명] 패치할 항목을 선택합니다.


[설명] 패치관련하여 세팅은 완료 하였습니다. 설치를 시작 하시기 바랍니다.




[설명] 마지막으로 /home/oracle/procuct/9.2/root.sh 스크립트를 root 계정으로 실행 시켜주시기 바랍니다.


[설명] 중간에 덮어쓰기를 할 것인지 물어보는데 y로 입력 후 엔터 누르세요.


[설명] OK 눌러 주세요.


[설명] oracle patchset을 완료 하였습니다.





4. 오라클 패치 설치(Oracle 9.2.0.8.0)

[설명] 3번 오라클 패치 설치와 동일 합니다. 그래서 별도의 설명을 하지 않겠습니다.
[2010-12-12 01:27:40]-[root@estenpark:/home/install/patchset]
# ls
p3948480_9206_LINUX.zip  p4163445_92070_LINUX.zip  p4547809_92080_LINUX.zip
[2010-12-12 01:27:41]-[root@estenpark:/home/install/patchset]
# export LANG=C
[2010-12-12 01:27:52]-[root@estenpark:/home/install/patchset]
# unzip p4547809_92080_LINUX.zip
[2010-12-12 01:30:15]-[root@estenpark:/home/install/patchset]
# ls
Disk1       README.html   p3948480_9206_LINUX.zip   p4547809_92080_LINUX.zip
README.htm  Translations  p4163445_92070_LINUX.zip
[2010-12-12 01:30:20]-[root@estenpark:/home/install/patchset]
# chown -R oracle.dba Disk1 Translations

[설명]
 3. 오라클 패치 설치를 참고하시기 바랍니다. 











[설명] 여기까지 정상적으로 수행 하였다면 모두 정상적으로 패치를 완료 하셨습니다.








5. 오라클 데이터베이스 생성(자동 dbca)

[설명] dbca를 이용하여 데이터베이스를 생성하도록 하겠습니다. 우선 언어를 한국어로 세팅할 수 있게 변경 하겠습니다.(원래 이렇게 까지 할 필요 없으나 오라클 머신 설치시 폰트패치를 다시 사용하기 위함 입니다.)
[2010-12-12 01:54:45]-[oracle@estenpark:~]
$ export LANG=ko_KR.eucKR
[2010-12-12 01:54:53]-[oracle@estenpark:~]
$ dbca


[설명] 데이터베이스를 생성하기위해서 Database Configuration Assistant를 이용합니다.

 
[설명] 데이터베이스 생성 체크 후 다음을 눌러주세요.


[설명] 범용(General Purpose)을 선택 한 후 다음을 눌러주세요.


[설명] 이부분은 /home/oracle/.bash_profile의 내용의 일부분을 스크랩하였습니다. 이유는 바로 SID값을 미리 세팅 하였기 때문에 데이터베이스를 모두 생성하고 난 후에 SID는 기본적으로 testdb를 가지고 있습니다.
만약 SID를 변경 하고자 한다면 해당 파일을 vi로 열어서 변경 하시면 됩니다.
다음을 눌러 주세요.


[설명] 전용 서버 모드(Dispatcher Server)란 유저프로세스와 서버프로세스를 1:1 관계로 성립하게 됩니다.
반대로 오라클 공유 서버 모드(MTS)는 n:1 관계로 여러개의 유저 프로세스와 하나의 서버 프로세스가 사용하는 방식을 의미 합니다.
여기에서는 전용 서버 모드를 선택 후 다음을 눌러주세요.


[설명] 역시 기본으로 세팅 되는 이유는 환경변수가 정의 되어있기 때문입니다. $ORACLE_HOME/.bash_profile안에 문자관련 환경변수를 찾아보시면 (export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601) 설정 되어있습니다. 아래 문자 집합을 탭을 누르면 문자 집합 목록에서 선택을 K016KSC5601을 선택하고 다음을 눌러주세요.


[설명] 다음을 눌러주세요. 


[설명] 완료


[설명] 지금까지 설정한 내역을 요약해서 보여줍니다.


[설명] 데이터베이스 생성 시작


[설명] 암호를 적어주시기 바랍니다. 만약 HR유저와 SCOTT 유저를 사용하고 싶다면 암호 관리에서 설정하시면 됩니다. 만약 여기에서 설정하지 못하고 종료가 되었다면 유저 권한을 이용하여 사용할 수 있습니다.


[설명] 이렇게 HR 사용자를 계정을 풀어주고 암호를 설정 합니다.






6. 오라클 데이터베이스 생성 확인 및 테스트 

[설명] 데이터베이스를 모두 생성하였다면 기본적으로 startup을 진행하게 됩니다.

1. 패치 버전을 확인 합니다.
2. sysdba로 접속 합니다.
3. SGA(System Global Area) 메모리 영역을 확인 합니다.
4. Oracle Instance를 확인하여 메모리와 백그라운드가 제대로 Open되었는지 확인 합니다.




Comments