Oracle/인스톨메뉴얼

2011.12.19 RHEL3에 oracle 9i설치(OUI)

에몽이ㅋ 2012. 1. 9. 22:20

Pre-Installation Tasks

1. dba 그룹, oracle유저 생성

[root@server15 root]# groupadd -g 5000 dba

[root@server15 root]# useradd -g 5000 oracle

[root@server15 root]# passwd oracle


2. 공유메모리 확인(설정)

# echo 2147483648 > /proc/sys/kernel/shmmax 
# vi /etc/rc.d/rc.local  에서 위 echo문 추가
(rc.local은 autoexec.bat랑 같은 파일)

3. 설치파일복사 후 압축풀기 및 한글폰트추가
# cpio idmv < ship_9204_disk1.cpio && cpio idmv < ship_9204_disk2.cpio && cpio idmv < ship_9204_disk3.cpio
# cd  /home/oracle/install/font/
# tar zxvf baekmuk-ttf-2.1.tar.gz
# cp *.ttf  ../Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/fonts/
# cp fonts.dir  ../Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/fonts/
# cp font.properties.ko ../Disk1/stage/Components/oracle.swd.jre/1.3.1.0.0/1/DataFiles/Expanded/jre/linux/lib/

4. rpm 설치
# 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 nss_db-compat-2.2-20.i386.rpm    <= 설치시 의존성 에러나는 경우 있음무시하고 패스

5. 소유권 설정
# chown -R oracle.dba /home/oracle

6. oracle의 .bash_profile 에 아래 내용 추가(/home/oracle/.bash_profile)

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

export LANG=ko_KR.eucKR


7. 오라클에서 제공한 패치 실행

# cd /home/oracle/install/patch

# unzip p3006854_9204_LINUX.zip

# cd 3006854

# sh  rhel3_pre_install.sh

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

Installation Procedure

로그아웃 후 oracle계정으로 로그인 한 뒤(X-window)
# cd install/Disk1
# ./runinstaller  (설치프로그램 실행)

설치과정 중 변경사항 및 설명
설치시 인벤토리 : 설치정보 담는 디렉토리(디폴트로 두고 pass)
-----------
UNIX 그룹이름 : dba (oracle USER의 그룹)
-----------

          위 해당 디렉토리가 안 뜨면 .bash_profile 에 오타
-----------
 선택
-----------
Software Only 선택하기(다 설치 후 dbca를 이용해서 만들기 위해서)
-----------
root.sh 실행 후 설정 전부 디폴트(엔터, 엔터~~)

설치 완료 후 다음 설치 말고 종료 선택

설치확인은?
$ sqlplus /nolog
-------------------------------------------------------
-------------------------------------------------------

Post Installation Tasks
설치 확인 후 오라클에서 제공한 패치 설치

$ cd ~/install/patchset/
$ unzip p4547809_92080_LINUX.zip
$ cd Disk1
$ export LANG=C (실행 시키지 않고 패치인스톨러 실행시키면 글자가 깨지기 떄문에 알아볼 수가 없다.)
                            (의미는 Language set을 영문으로 사용하겠다는 의미)
$ ./runInstaller
-----------

패치 설치 중 경로 변경(원래 오라클이 설치된 경로로 수정, name도 설치할떄와 같게)
-----------
이후 Oracle 9iR2 Patch Set 9.2.0.8.0 선택(Cluster 아님)
-----------
이후 나오는 root.sh 실행중 모든 파일 overwrite
-------------------------------------------------------
패치설치완료 후 DB생성
$ dbca  (DB생성)
문자셋 : KO16MSWIN949 선택, General이나 Transaction 선택,DB이름은 testdb, 비밀번호 지정은 각자 알아서
나머지는 다 디폴트
-----------
생성 후 확인
$ sqlplus /nolog
SQL> conn / as sysdba

SQL> select status from v$instance;
STATUS
-----------
OPEN
 위 메시지가 뜨면 성공!
-------------------------------------------------------

Known Errors
* 처음 dbca실행 시 java 에러가 뜨면서 실행이 되지 않는 경우는 reboot!

* dbca를 이용해서 DB생성시 46%에서 상당히 진행이 느리므로 참고 기다린다.

* 패치설치 중 Destination Name 에 OUIHome1이라고 디폴트로 적혀져 있는데 반드시 설치할떄의 Name인 OUIHome으로 바꿔서 설치해야 패치설치가 진행된다.(패치경로도 반드시 설치할떄의 경로로 지정해야 제대로 된 패치가 이루어진다.)
-------------------------------------------------------

용어설명
공유메모리(Shared Memory) : Oracle에서 OS에게 요청할 수있는 최대 메모리(Default : 2GB (2147483648 byte))
  공유메모리를 사용하는 이유는 Oracle이 해당 메모리에 액서스해서 한참 사용하고 있는데, 다른 프로그램들이 이 메모리공간을 사용해버리면 에러가 나므로(win98,xp에서는 블루스크린), Oracle만 쓸 수 있게 깃발(Semaphor)을 꽂아서 '여기는 Oracle만의 메모리이다.'라고 선언을 해야한다. 이러한 점때문에 공유메모리를 사용하는 것이다.
그렇기 때문에 echo 2147483648 > /proc/sys/kernel/shmmax 구문을 rc.local에 추가하는 것이다.

/etc/rc.d/rc.local : DOS시절의 autoexec.bat파일과 같은 파일이다, 시스템 부팅시 자동실행된다.

cpio -idmv < filename.cpio : 파일압축&백업p/g 중 하나로 자세한 옵션 설명은 http://dinggur.tistory.com/79 에서 
cpio부분 참조