OPATCH(V9.2) 기능 및 사용가이드

2010.05.12 08:31

조인상 조회 수:6610

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

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

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

 

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

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


No. 22084

(V9.2) OPATCH 기능 및 사용가이드
================================

PURPOSE
-------

  이 문서는 9i의 새 기능인 Opatch에 대한 소개와 기능,
  사용 방법에 대한 내용을 소개한다.


Explanation
-----------

1. Opatch 소개

Oracle Server 9.2.0.2.0 부터는 interim patch(one-off patch, 즉
single patch)를 적용할 때 'opatch'라는 tool을 사용한다.

Metalink에서 항상 최신 Opatch tool 을 download받을 수 있도록
갱신된다.
Opatch는 <Bug:2617419> OPATCH ARU PLACEHOLDER. 에서 download받을 수 있다. 
2004년 11월 9일 현재, 10월 22일에 release된 최신 버젼 10.1.0.2.0을
받으면 된다.


2. Opatch 기능

Opatch는 interim patch를 적용하거나 다시 rollback할 때 사용하는
일종의 perl-based utility이다. Unix platform이나 Windows platform
에 Opatch를 사용할 수 있다.
Opatch는 기존에 오라클 데이타베이스에 적용되어 있는 patch list를
알게 해주고, 기 적용되어 있는 patch와 충돌 여부도 확인할 수 있는
기능이 있다.


3. Opatch 사용 환경

1) Opatch를 사용하기 위한 준비사항

Perl version은 최소한 5.005_03 이상을 요구하며 가급적 5.6 이상을
권장한다.
JRE는 $ORACLE_HOME에 설치된 JRE를 사용한다.


2) inventory

Inventory는 Oracle RDBMS 설치 시 두 개의 inventory가 생성된다.
하나는 oraInst.loc에서 지정된 inventory directory이고, 이것을
central inventory라고 한다.
다른 하나는 $ORACLE_HOME 아래에 생성되는 inventory directory이며
이것을 Local inventory라고 한다. Opatch 적용 시 반드시 이 두 개의
inventory가 정상적으로 유지되어야 한다.

3) RAC 환경인 경우 Oracle과 Cluster와의 인터페이스를 위하여
oracle library를 사용하는데 다음 경로가 library path에 포함되어
있어야 한다.
Sun solaris의 경우 LD_LIBRARY_PATH 이고, HP-UX의 경우 SHLIB_PATH이다. 


4. Opatch 설치

1) Metalink에서 최신 버젼 Opatch를 download받으면 p2617419_10102_GENERIC.zip
이라는 이름으로 화일이 존재한다.
이 화일을 OS에 COPY 후, 압축을 푼다.
사용자가 임의로 원하는 디렉토리를 만들어서 그 디렉토리에 화일을 푼다.

$ unzip p2617419_10102_GENERIC.zip

2) OS의 어느 디렉토리에서 사용하든지 상관없도록 하기 위해 환경변수
PATH에 Opatch가 설치되어 있는 디렉토리를 기술한다.

예) export PATH=$PATH:/oracle/opatch/Opatch
  setenv PATH $PATH:/oracle/opatch/Opatch


5. 주의 사항

Opatch 적용 시에는 반드시 기존의 inventory 즉, $ORACLE_HOME/inventory와
oraInst.loc에서 지시하는 central inventory를 backup받아 두어야 한다.
Windows의 경우 winzip, unix에서는 tar를 사용하면 된다.


<참고>
oraInst.loc 은 Unix마다 조금 다른데 다음 위치에 존재한다.

- AIX와 Linux : /etc directory
- 다른 Unix 기종 : /var/opt/oracle
- Windows : registry -> HKEY_LOCAL_MACHINE -> Software ->
        Oracle -> inst_loc 에서 지정된 위치.


Example
-------
1. opatch apply

  apply [ <ShipHome> ] [-force] [-oh <OracleHome>]
  opatch apply -invPrtLoc $ORACLE_HOME/oraInst.loc

  이 명령어는 oraInst.loc 화일의 위치가 default directory가 아닌
  경우 해당 위치를 지정하여 patch를 적용하는 명령이다.
  -local 옵션은 RAC 환경에서 patch를 다른 노드에 전파하지 않고
  Local 노드에만 적용할 때 사용한다. 이 경우 모든 노드에서 개별적으로
  patch가 진행되어야 한다.
  -force 옵션은 이전에 설치한 patch와 충돌이 있을 때 이를 무시하고
  진행하도록 한다.


2. opatch rollback

  rollback [ -id <patch id> ] [ -oh <OracleHome> ] [ -ph <patch dir> ]
  opatch rollback -id 3113008 -ph /opt/oracle/3113008

  이 명령어는 patch id 3113008을 depatch하며, 이 때 기존 patch file이
  있는 directory를 -ph argument를 이용하여 지시한다.
  기본적으로 사용하는 옵션은 -id 이다. -id는 depatch하려는 patch 번호이다.

  -local 옵션은 RAC 환경에서 depatch를 다른 노드에 전파하지 않고
  Local 노드에만 적용할 때 사용한다. 이 경우 모든 노드에서 개별적으로
  depatch가 진행되어야 한다.
 

3. opatch lsinventory

  lsinventory [-all] [-oh <OracleHome>]
  opatch lsinventory -all -oh /opt/oracle

  이 명령어는 현재 db 서버에 적용되어 있는 patch list를 보여준다.
  -all 옵션은 Central inventory에 등록된 모든 $ORACLE_HOME의 이름과
  경로를 보여준다.
  -oh 옵션은 기존의 $ORACLE_HOME 을 무시하고 새로운 $ORACLE_HOME을
  지정할 때 사용한다.
  -detail 옵션을 사용하면 install된 oracle product list를 version과
  함께 보여준다. 
 

  예) $ opatch lsinventory -all

    PRODUCT NAME                  VERSION
    ============                  =======
    Advanced Queueing (AQ) API          9.2.0.1.0
    Advanced Replication              9.2.0.1.0
    Agent Required Support Files        9.2.0.1.0
    .
    .
    .
    XML Transx                    9.2.0.1.0
    XSQL Servlet                  9.2.0.1.0
   
    Installed Patch List:

    1) Patch 3574853 applied on Sun Apr 25 03:27:43 JST 2004
      [ Base Bug(s): 3111457  ]
    2) Patch 3400911 applied on Sun Apr  25 03:24:40 JST 2004
      [ Base Bug(s): 3304290  ]
    3) Patch 3508417 applied on Sun Apr 04 22:53:59 JST 2004
      [ Base Bug(s): 3046394  ]
    4) Patch 3213774 applied on Sun Apr 04 09:12:08 JST 2004
      [ Base Bug(s): 3186503 3210293  ]
    5) Patch 3226815 applied on Sun Apr 04 09:09:22 JST 2004
      [ Base Bug(s): 3157063  ]
    6) Patch 3118677 applied on Sun Apr 04 09:06:28 JST 2004
      [ Base Bug(s): 3118677  ]
    7) Patch 3113003 applied on Sun Apr 04 09:04:45 JST 2004
      [ Base Bug(s): 2968709  ]


4. opatch query 

  이 명령어는 interim patch에 대한 정보를 조회한다.
  -get_base_bug 옵션은 해당 interim patch에 의해 fix된 base bug를 조회한다.
  -get_component 옵션은 해당 interim patch를 적용 시 요구되는
  oracle component 를 나타낸다.
  -get_date 옵션은 interim patch를 생성한 날짜를 보여준다.
  -get_os 옵션은 해당 interim patch가 지원하는 platform을 보여준다.
  -is_rolling 옵션은 rolling patch를 지원하는지에 대한 여부를 알려준다.
  -all option은 위의 모든 정보들을 알려준다.


5. opatch version

  이 명령어는 사용하는 opatch 유틸리티의 version을 보여준다.


6. 모든 opatch 명령어는 각 명령어에 대한 상세한 usage를 보여주는
  -help 옵션을 가진다.

  opatch.pl [ -h[elp] { [ apply | lsinventory | rollback | version ] }
 

Reference Documents
-------------------
<Note:189489.1>
<Note:242993.1>
번호 제목 글쓴이 날짜 조회 수
35 online backup(archive log mode) 조인상 2010.05.12 19463
34 패치 중 OS 문제로 runInstaller가 끊길때 조인상 2010.05.12 6456
» OPATCH(V9.2) 기능 및 사용가이드 조인상 2010.05.12 6610
32 Opatch : 다재다능한 패치 관리 유틸리티 file 조인상 2010.05.12 10345
31 datafile 위치 변경하는 방법 조인상 2010.05.12 10119
30 오라클 startup & shutdown 쉘 스크립트 짜는 법 조인상 2010.05.12 11657
29 [oerr] ORA-19206: Invalid value for query or REF CURSOR parameter 조인상 2010.05.12 7502
28 SGA 크기를 결정하는 방법 조인상 2010.05.12 8993
27 오라클 튜닝 - 옵티마이저 조인상 2010.05.12 7367
26 AIX5.2 + 9.2.0.1.0 install + 9.2.0.5.0 patch 조인상 2010.05.12 7317
25 Aix 5L에서 오라클9i 설치법 조인상 2010.05.12 9743
24 LOCK 문제 확인과 해결 방법 조인상 2010.05.12 15192
23 오라클 유저 생성 및 변경/삭제 조인상 2010.05.12 11442
22 [사이트 소개]오라클 사용자 그룹 조인상 2010.05.12 5752
21 테이블스페이스 사용현황 확인하는 스크립트 조인상 2010.05.12 7589
20 [기타] 디비튜닝에 대한 질문과답변내용... 조인상 2010.05.12 5751
19 캐릭터셋 변경방법 조인상 2010.05.12 7389
18 오라클 8.1.7 -> 7.3.4 로 DB data 이전 조인상 2010.05.12 6952
17 인텔 펜티엄4 기반 Windows에 설치시 오류에 대해서 조인상 2010.05.12 5831
16 오라클에 접속하는 최대 인스턴스개수(세션개수)를 늘리는 방법 조인상 2010.05.12 7177
서버에 요청 중입니다. 잠시만 기다려 주십시오...