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

2010.05.12 08:31

조인상 조회 수:6577

원문 : 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 오라클 캐릭터셋 변경 조인상 2010.07.30 13491
34 time-based recovery 조인상 2010.08.24 7417
33 오라클 exp 유틸리티를 이용한 백업 조인상 2010.09.15 16900
32 오라클 패치후 각 컴퍼넌트들 버전 확인 쿼리 조인상 2010.10.05 46338
31 imp 시의 속도향상을 위한 팁 조인상 2010.10.13 14038
30 롤백세그먼트 부족에 대한 관리법 (ORA-01555) 조인상 2010.10.13 12455
29 ORA-12705: Cannot access NLS data files or invalid environment specified 조인상 2011.01.01 16483
28 HP-UX 에 오라클 설치 조인상 2011.02.18 15746
27 오라클 10g 이상의 SGA영역 자동화(sga_target 파라미터) 조인상 2011.04.05 18430
26 오라클 11g - ADR/ADRCI : 새로운 alertlog 위치 조인상 2011.05.17 29718
25 Unix/Linux 에서 exp 동시에 gzip 으로 압축하기 조인상 2011.06.10 10198
24 10G: ORA-6512 AT SYS.OLAPIHISTORYRETENTION [ID 266728.1] 조인상 2011.06.23 12367
23 Oracle 7.3.4 for Windows file 조인상 2011.08.31 11885
22 성능분석을 위한 v$sysstat, v$sesstat, v$system_event 조회 조인상 2011.09.27 50449
21 Master Note for Diagnosing ORA-4030 (Oracle Metalink) 조인상 2011.10.31 12667
20 Diagnosing and Resolving ORA-4030 errors (Oracle Metalink) 조인상 2011.10.31 13205
19 AIO on HP-UX filesystem 조인상 2011.11.01 13222
18 ORA-04063: package body "EXFSYS.DBMS_EXPFIL_EXP" has errors 조인상 2012.01.04 20766
17 AIX 6.1에 오라클 9i 설치 조인상 2012.03.24 17337
16 Oracle 설치문서에서 보는 ASM file 조인상 2012.03.30 19747
서버에 요청 중입니다. 잠시만 기다려 주십시오...