ORACLE/11G2014. 7. 2. 15:44
반응형
목적
해결책
참고

적용 대상:

Oracle Database - Enterprise Edition - 버전 11.2.0.1 to 11.2.0.4 [릴리즈 11.2]
이 문서의 내용은 모든 플랫폼에 적용됩니다.

목적

이 문서에는 11.2.0.1에서 11.2.0.2 또는 11.2.0.N  이후 버전으로 out-of-place 수동 데이터베이스 업그레이드를 수행하는 방법이 나와 있습니다.

문의하기, 도움 받기 및 이 문서로 경험 공유

다른 Oracle 고객, Oracle 직원 및 업계 전문가와 함께 이 주제에 대해서 자세히 살펴보고 싶습니까?

Click here to join the discussion where you can ask questions, get help from others, and share your experiences with this specific article.
여기를 눌러 기타 문서 및 도움이 될 만한 주제에 대한 토론을 찾아보고 데이터베이스 조정을 위한 기본 My Oracle Support Community 페이지에 액세스하십시오.

해결책

11.2.0.2 및 이후 패치셋은 전체 릴리스입니다. 11.2 패치셋 설치 프로그램은 기존 11.2 설치를 업데이트하지 않습니다. 
설치 프로세스는 out-of-place 업그레이드를 수행하든 in-place 업그레이드를 수행하든 새 설치를 수행합니다. 
(11.2 Upgrade Guide 3장 "Known Issue When Starting an In-Place Upgrade for Release 11.2.0.2" 참조)


11.2.0.2부터 패치셋을 두 가지 방법으로 적용할 수 있습니다:

  • Out-of-place 업그레이드 (권장)
  • In-place 업그레이드
  •  
    "In-Place" 업그레이드는 옵션이지만 권장되지 않습니다.
    이 업그레이드는 수행할 수 있지만 11.2.0.2 용 설치 프로그램을 실행하는 것만으로 11.2.0.1을 가리킬 수 없습니다. 

    "In-Place" 업그레이드 단계는 업그레이드 가이드(아래 참조)에 설명되어 있습니다.
    http://download.oracle.com/docs/cd/E11882_01/server.112/e17222.pdf
    섹션 3-39

자세한 내용은 다음 노트를 참조하십시오:

Note 1189783.1 Important Changes to Oracle Database Patch Sets Starting With 11.2.0.2
Note 1320966.1 Things to Consider before upgrading to 11.2.0.2.x regarding performance/wrong results


참조: 이 문서에서 참조가 11.2.0.1을 나타낼 때 현재 설치된 11.2(11.2.0.1-11.2.0.N) 버전을 나타내는 것일 수 있습니다. 참조가 11.2.0.2를 나타낼 때 11.2 패치셋(11.2.0.2-11.2.0.N)의 새 버전일 수 있습니다.


 1 단계
======

11.2.0.2 이상 RDBMS 소프트웨어를 다운로드합니다.
See NOTE:753736.1 - Quick Reference to Patchset Patch Numbers 를 참조하십시오.
여러 파일이 필요할 수 있으므로 패치셋 추가 정보에서 다운로드에 필요한 파일에 대한 전체 지침을 검토합니다. 각 패치셋에 대한 추가 정보에는 특정 지침이 나와 있습니다.

다음도 검토하십시오:

Note 549617.1 : How To Verify The Integrity Of A Patch/Software Download? [Video]
Note 169706.1 : Oracle Database Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2)


2 단계
======

최신 11.2 RDBMS 소프트웨어를 새로운ORACLE_HOME에 설치합니다..

11.2 설치부터 모든 기본 RDBMS 구성 요소가 설치됩니다. 유일한 옵션은 구성 요소가 링크 설정되거나 링크 해제(활성 상태이며 사용할 수 있는지)되었는지 여부입니다. 사용자 정의 설치는 사용할 수 없습니다.

데이터베이스가 Oracle 텍스트 테마를 사용 중이거나 Oracle Multimedia 데모 및 기타 데모를 설치하려는 경우 이 항목은 기본 설치에 포함되어 있지 않기 때문에 11.2.0.2 예제 CD(이전에는 Companion CD)를 설치해야 합니다.

"opatch lsinventory -detail" 을 이전 및 새로운 ORACLE_HOME 에 대해 실행하여 설치된 제품을 비교할 수 있습니다.

다음 사항도 참조하십시오.
/opt/oracle 을 ORACLE_BASE 로 사용 중인 경우 rootupgrade.sh 가 실패합니다. 자세한 내용은 다음을 참조하십시오:

Note: 1281913.1 Root Script Fails if ORACLE_BASE is set to /opt/oracle


3 단계
======

최신 11.2 RDBMS 소프트웨어를 설치한 후 실행 중인 이전 인스턴스에 대해 11.2.0.1 인스턴스를 이전 ORACLE_HOME 및 spool/run 11.2.0.2 $ORACLE_HOME/rdbms/admin/utlu112i.sql 스크립트를 사용하여 시작합니다.

사전 업그레이드 정보툴 실행은 DBUA 를 사용하여 업그레이드하거나 수동으로 업그레이드하는 경우 필수 항목입니다. 그렇지 않은 경우 오류가 발생할 수 있습니다:

SQL> SELECT TO_NUMBER('MUST_BE_SAME_TIMEZONE_FILE_VERSION')
2 FROM registry$database
3 WHERE tz_version != (SELECT version from v$timezone_file);
SELECT TO_NUMBER('MUST_BE_SAME_TIMEZONE_FILE_VERSION')
*
ERROR at line 1:
ORA-01722: invalid number

 

최신 11.2 릴리스로 업그레이드하기 전에 11.2 사전 업그레이드 스크립트 스풀 파일을 검토하고 문제를 수정해야 합니다.


알려진 문제
++++++++++++++++
11.2.0.2 는 시간대 버전 14 를 사용합니다. 11.2.0.1 은 시간대 버전 11 을 사용합니다. 이후 버전은 시간대 데이터 이후 버전에서도 사용될 수 있습니다.

최신 홈의 DBUA 는 "시간대 버전 및 TIMESTAMP WITH TIME ZONE 데이터 업그레이드" 상자체크박스가 선택된 경우 포함된 버전으로 시간대를 자동으로 업그레이드합니다.

수동으로 업그레이드하는 경우:
BMS_DST 패키지를 사용하여 최신 11.2 버전으로 업그레이드한 후 시간대 버전을 업그레이드하거나 11.2.0.1 시간대를 해당 시간대 버전으로 업그레이드합니다. 업그레이드하기 전에 11.2.0.1 시간대 버전을 다른 버전으로 업그레이드하려는 경우 utlu112i.sql 을 재실행해야 합니다.

다음을 참조하십시오:

 Note 1201253.1 Actions For DST Updates When Upgrading To Or Applying The 11.2.0.2 Patchset


4 단계
======

dba_registry 의 모든 구성 요소가 적합하며 부적합한 데이터 딕셔너리 객체가 dba_objects 에 없는지를 확인하려면 아래 My Oracle Support 에서 dbupgdiag.sql 스크립트를 실행합니다.

Note 556610.1 Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)


dbupgdiag.sql 스크립트에서 부적합한 객체를 보고하는 경우 $ORACLE_HOME/rdbms/admin/utlrp.sql 을 여러 번 실행하여 부적합한 객체 수에 변경이 없을 때까지 데이터베이스의 부적합한 객체를 검증합니다.

$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus "/ as sysdba"
SQL> @utlrp.sql


부적합한 객체를 검증한 후 데이터베이스에서 dbupgdiag.sql 을 다시 한 번 재실행하고 모두 정상인지 확인합니다.

5 단계
======

일괄 처리 및 cron 작업 모두를 사용 안함으로 설정한 다음 데이터베이스 전체 백업을 수행합니다.

예제
----------
데이터베이스의 전체 백업을 수행하려면 다음 단계를 완료합니다:

1. RMAN 으로 사인온:
rman "target / nocatalog"
2. 다음의 RMAN 명령어들을 수행하라:
RUN
{
ALLOCATE CHANNEL chan_name TYPE DISK;
BACKUP DATABASE FORMAT 'some_backup_directory%U' TAG before_upgrade;
BACKUP CURRENT CONTROLFILE FORMAT 'controlfile location and name';
}


참조: Oracle Database Backup and Recovery User's Guide

참고: 전체 콜드 백업의 경우 먼저 데이터베이스를 종료하십시오.

6 단계
=======

데이터베이스를 정상적으로 종료합니다.


7 단계 (윈도우즈 플랫폼만 해당)
========================


1) 환경 변수 ORACLE_HOME 이 11.2.0.1 설치를 가리키도록 설정합니다.

2) ORACLE_HOME 셋으로 11.2.0.1 Oracle Database 서비스를 정지하여 11.2.0.1 설치를 가리키도록 합니다.

  C:\> NET STOP OracleServiceORCL


3) %ORACLE_HOME%\bin\ ORADIM 이진을 사용하여 11.2.0.1 Oracle 서비스를 삭제합니다.

C:\> ORADIM -DELETE -SID ORCL


4) 환경 변수 ORACLE_HOME 이 11.2.0.2 설치를 가리키도록 설정합니다.

5) 11.2.0.1%ORACLE_HOME%/database 에서 11.2.0.2 %ORACLE_HOME%/database 로 init.ora/spfile 및 비밀번호 파일(orapw<sid>.ora)을 복사합니다.

6) 11.2.0.1 %ORACLE_HOME%\network\admin(또는 $TNS_ADMIN) 위치에서 11.2.0.2 %ORACLE_HOME%\network\admin(또는 %TNS_ADMIN%) 위치로 구성 파일(listener.ora, sqlnet.ora, tnsnames.ora 등)을 복사합니다.

7) DB 콘솔/DB 콘트롤이 구성되어 있고 사용되는 경우 다음 디렉토리 두 개와 해당 콘텐츠를 11.2.0.1에서 11.2.0.2로 복사합니다. DB 콘솔/DB 콘트롤이 구성되지 않은 경우 이 디렉토리가 존재하지 않을 수 있습니다.
           ORACLE_HOME/<hostname_dbname>
           ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_<hostname_dbname>


8) 11.2.0.2 를 사용하여 명령 프롬프트에서 Oracle 11.2.0.2 서비스를 생성합니다.

%ORACLE_HOME%\bin\ ORADIM 
C:\> ORADIM -NEW -SID SID -SYSPWD PASSWORD -STARTMODE AUTO -PFILE %ORACLE_HOME%\DATABASE\INIT<SID>.ORA


예제:

C:\> ORADIM -NEW -SID ORCL -SYSPWD  pass_with_sysdba_priv  -STARTMODE AUTO -PFILE %ORACLE_HOME%\DATABASE\INIT<SID>.ORA

 

PASSWORD = 새 Oracle Database 11g 릴리스 2(11.2) 
데이터베이스 인스턴스에 대한 비밀번호입니다. 이는 
SYSDBA 권한에 접속한 사용자의 비밀번호입니다. -SYSPWD 옵션은 필수가 아닙니다. 
지정하지 않는 경우 운영 체제 인증이 사용되며 
비밀번호가 필요하지 않습니다.



8 단계 (Unix 및 Linux)
================
=
대상 11.2.0.2 ORACLE_HOME을 구성합니다.

1) 환경 변수 ORACLE_BASE, ORACLE_HOME, PATH, NLS_10 및 LIBRARY_PATH 가 11.2.0.2 설치를 가리키도록 설정되었는지 확인합니다.

ORACLE_SID 를 업그레이드 할 11.2.0.1 DB 이름으로 설정합니다.

etc/oratab 파일은 Oracle Database 11g 릴리스 2(11.2.0.2) Oracle 홈을 가리킵니다.

2) Database Vault 를 사용 안함으로 설정합니다.

Note 453903.1 - Enabling and Disabling Oracle Database Vault in UNIX


3) 11.2.0.1 $ORACLE_HOME/dbs 에서  11.2.0.2 $ORACLE_HOME/dbs 로 init.ora/spfile 및 비밀번호 파일(orapw<sid>.ora)을 복사합니다.

4) 11.2.0.1 $ORACLE_HOME/network/admin(또는 $TNS_ADMIN) 위치에서 11.2.0.2 $ORACLE_HOME/network/admin(또는 $TNS_ADMIN) 위치로 구성 파일(listener.ora, sqlnet.ora, tnsnames.ora 등)을 복사합니다.

5) DB 콘솔/DB 콘트롤이 구성되어 있고 사용되는 경우 다음 디렉토리 두 개와 해당 콘텐츠를 11.2.0.1 에서 11.2.0.2 로 복사합니다. DB 콘솔/DB 콘트롤이 구성되지 않은 경우 이 디렉토리가 존재하지 않을 수 있습니다.
           ORACLE_HOME/<hostname_dbname>
           ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_<hostname_dbname>

<hostname_dbname>의 실제 이름을 지정합니다.

6) Oracle Database 11g 릴리스 2(11.2)에 대해 COMPATIBLE 초기화 파라미터가 올바르게 설정되어 있는지 확인하십시오. COMPATIBLE 이 올바로 설정되어 있지 않을 경우 사전 업그레이드 정보 툴에서 데이터베이스 섹션에 경고가 표시됩니다.

7) 초기화 파라미터의 값을 사전 업그레이드 정보툴에서 가리키는 최소값 이상으로 조정합니다. JVM 을 설치한 고객의 경우 업그레이드하기 전에 java_pool_size 및 shared_pool_size 를 250MB 이상으로 설정해야 합니다. 그렇지 않으면 다음 오류와 함께 JVM 업그레이드가 실패할 수 있습니다:

ORA-07445: exception encountered: core dump [qmkmgetConfig()+52] [SIGSEGV] [ADDR:0x18] [PC:0x103FFEC34] [Address not mapped to object] []


9 단계
======

데이터베이스를 수동으로 업그레이드합니다.

1) sqlplus 를 시작하고 새롭게 설치된 (타겟) $ORACLE_HOME/rdbms/admin 의 catupgrd.sql 스크립트를 실행합니다.

sqlplus " / as sysdba "
SQL> spool /tmp/upgrade.log
SQL> startup upgrade
SQL> set echo on
SQL> @catupgrd.sql;
SQL> spool off
SQL> Shutdown immediate


2) catupgrd.sql 스풀 파일에 오류가 있는지 확인합니다.

3) 일반 모드에서 데이터베이스를 재시작합니다.

4) SQL> @$ORACLE_HOME/rdbms/admin/catuppst.sql;

5) SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql;

6) dbupgdiag.sql 스크립트를 실행(Note: 556610.1 참조)하고 dba_registry 의 모든 구성 요소가 적합하며 dba_objects 에 부적합한 객체가 없는지 확인합니다.



사후 업그레이드 단계
===================

1) 오라클 클러스터웨어 구성을 업그레이드 합니다.

당신이 오라클 클러스터웨어를 사용한다면, 데이터베이스에 대한 오라클 클러스터웨어 요소들을 업그레이드 해야만 합니다.

오라클 데이터베이스 11g 릴리즈 2 (11.2.0.2) 가 출시되면서, 업그레이드 명령은 실행되고 있는 소프트웨어의 버전을 업그레이드하여 구성합니다.

업그레이드 할 릴리즈에 대해서 srvctl 을 수행하십시오. 예를 들면,

srvctl upgrade database
srvctl upgrade 데이터베이스 명령어는 데이터베이스의 구성과 명령어가 수행된 데이터베이스 홈 버전에 대한 모든 서비스들을 업그레이드 합니다.


구문과 옵션
다음과 같이 srvctl upgrade database command 를 사용하십시오:

srvctl upgrade database -d db_unique_name -o Oracle_home
Table A-161 srvctl upgrade database Options

옵션에 대한 설명
-d db_unique_name
 데이터베이스에 대한 유일한 이름
 
-o Oracle_home
ORACLE_HOME 의 위치

2) DBMS_DST를 사용하여 시간대를 최신 버전으로 업그레이드 합니다.

Note 1201253.1
Title: Actions For DST Updates When Upgrading To Or Applying The 11.2.0.2 Patchset


3) 복구 카탈로그를 업그레이드합니다.
복구 카탈로그 업그레이드 및 UPGRADE
CATALOG 명령에 대한 전체 정보는 Oracle Database Backup and Recovery User's Guide 에서 
프로시저를 설명하는 항목을 참조하십시오.

4) DBMS_STATS 패키지에서 생성한 통계 자료 테이블 업그레이드

프로시저를 사용하여 통계 자료 테이블을 생성한 경우 다음 프로시저를 실행하여 이 테이블을 업그레이드합니다:

EXECUTE DBMS_STATS.UPGRADE_STAT_TABLE('scott', 'stat_table');


예제에서 SCOTT 은 통계 자료 테이블의 소유자이며 STAT_TABLE 은 
통계 자료 테이블 이름입니다. 각 통계 자료 테이블에 대해 이 프로시저를 수행합니다.

5) Oracle Database Vault 를 사용으로 설정하고 DV_PATCH_ADMIN 롤을 취소합니다.
Oracle Database Vault 를 사용하는 경우 데이터베이스를 업그레이드하기 전에 
사용 안함으로 설정하도록 지침이 제공됩니다. 이제:

Database Vault 를 사용으로 설정합니다.

Note 453903.1 - Enabling and Disabling Oracle Database Vault in UNIX


SYS 계정에 대한 Database Vault DV_PATCH_ADMIN 롤을 취소합니다.

참조
===========
Oracle Database
Upgrade Guide
11g Release 2 (11.2)
E17222-06                             <October 2010                         <
Chapter 3
       Upgrading to the New Release

http://download.oracle.com/docs/cd/E11882_01/server.112/e17222.pdf

5. Oracle Warehouse Builder (OWB) component in database will not be upgraded as part of database upgrade. There are few post upgrade steps to be carried to upgrade the component.

Details in Oracle® Warehouse Builder Release Notes 11g Release 2 (11.2)

반응형
Posted by [PineTree]