반응형
내용
* 소개* 오라클 데이터베이스 12c 업그레이드에 관한 새로운 기능* 오라클 데이터베이스 12c 업그레이드 준비* DBUA(Database Upgrade Assistance)를 통한 오라클 데이터베이스 12c로 업그레이드* 수동으로 오라클 데이터베이스 12c 업그레이드* 오라클 데이터 펌프를 이용한 오라클 데이터베이스 12c로 업그레이드* 업그레이드 롤백* 업그레이드 후에 주의해야 할 몇 가지 변경사항
* 소개
- 데이터베이스 업그레이드와 마이그레이션의 차이점
- 업그레이드 : 데이터 딕셔너리를 이후 버전으로 변경
- In-place : 기존 SW 경로에 새 SW 설치
- Out-of-place : 새 SW 경로에 새 SW 설치
- 마이그레이션 : 새로운 HW/OS 또는 다른 캐릭터셋으로 데이터베이스 이동
- 업그레이드 : 데이터 딕셔너리를 이후 버전으로 변경
- 업그레이드는 복잡하므로 신중하게 적용한다.
- HW, 버전, 데이터베이스 기능 및 보안 기술등에 따라 아주 복잡 해짐
- "Oracle Database Upgrade Guide 21c" 문서 숙지 필요
- https://docs.oracle.com/database/121/UPGRD/toc.htm
{tip:title=Changes in This Release for ...}
대부분 메뉴얼에 있는 "Changes in This Release for ..." 를 통해 데이터베이스의 변화와 새로운 기능에 대한 포괄적인 내용 파악 가능.
{tip}
- https://docs.oracle.com/database/121/UPGRD/toc.htm
- 업그레이드를 하는 이유와 문제점
- 보통 복잡성, 많은 절차등의 사유로 업그레이드를 미루는 경향이 있음
- 업그레이드를 미룰 수록 지원 비용 상승
- Premier / Waived Extended / Extended / Substaining
- 약 8년 후 버그 수정이 중단 됨
-
- 정기 보안 패치 필요
* 오라클 데이터베이스 12c 업그레이드에 관한 새로운 기능
- 사전 업그레이드 정보 툴 (Pre-Upgrade Information Tool)
- 수동 업그레이드 전/후 실행 스크립트 (DBUA 에 포함 됨)
- 업그레이드 시 발생 문제 사전 식별 및 수정 (fixup 스크립트)
- 데이터베이스 업그레이드를 위한 병렬 처리 (Parallel processing for database upgrades)
- catupgrd.sql 이 병렬 처리 가능한 catctl.pl 로 대체 됨
- 재시작 가능한 DBUA (Database Upgrade Assistant)
- 과거 DBUA 실패/에러는 원복을 의미
- 12c DBUA는 아카이브 로깅 과 보장된 Restore Point 생성으로 오류 복구 가능
- 사전 및 사후 업그레이드 요약 리포트 기능 개선
- DBUA 에서 HTML 기반 사전/사후 업그레이드 리포트 제공
- 업그레이드 중 오라클 XML 데이터베이스의 설치
- Oracle EM Express 에 필요한 XML DB 설치 필수
* 오라클 데이터베이스 12c 업그레이드 준비
"무엇보다 준비가 성공의 열쇠다"
읽고 또 읽기
- "Oracle Database Upgrade Guide 12c" 설명서 필독
- https://docs.oracle.com/database/121/UPGRD/toc.htm
테스트
- 업그레이드 계획 중 가장 중요, 업그레이드 실패의 75%는 부족한 테스트로 인함
- 테스트와 테스트 계획
- 데이터베이스, 애플리케이션, 데이터베이스 및 애플리케이션 연결, 성능 및 데이터 무결성, 백업과 복구, 모니터링 및 경고, 기타 인프라 항목의 12c 호환 확인
- 비상 상황에 대한 대비, 발생 문제에 대한 기록 및 공유
- 인프라스트럭처 테스트
- 테스트 환경의 부족(계획 안된 변경, 문서화 안된 변경, 잘 못 기록된 변경 등)으로 인한 업그레이드 실패 와 근본 원인
- 테스트 환경은 고가용성 유지를 위한 첫 번째 단계
- 시간과 비용으로 조용한 운영 오픈 보장, 무엇이 중요한가?
- 운영 환경과 다른 테스트 환경은 위험 요소
- 테스트 환경 구축 주의 사항 (자주 문제가 되는 부분)
- 하드웨어 구성 요소, OS 패치 레벨, 네트워크 환경 (HW 설정, 스위치, 케이블 등), 클러스터웨어, 노드 수, DB 버전, 파라미터
- 하드웨어(CPU, 메모리 등) 차이로 인한 파라미터 확인, 데이터 볼륨 (디스크 수, 물리적 연결 등)
- 단독 혹은 믹스된 트랜잭션 타입 재현 (동시성, 공간 포함) : 부하테스트
- 변화의 의미 추적을 위한 변경관리 프로세스
호환성 이슈 확인
- 인프라스트럭처와 애플리케이션 호환성
- 12c와 시스템 내 다른 구성요소와의 호환성 체크 필요
- 12c를 지원하거나 인증된 애플리케이션
- 12c를 지원하는 드라이버 (JDBC, ODBC...)
- HW 관련 버전 서포트, 네트워크/스토리지 호환
- 인프라스트럭처의 12c 지원
- 12c와 시스템 내 다른 구성요소와의 호환성 체크 필요
- 운영체제와 하드웨어 호환성
- OS, HW 와 12c 호환 확인 : 플랫폼 별 설치 가이드 확인 및 권장 패치와 구성요소 체크
- 데이터베이스 COMPATIBLE 파라미터
- COMPATIBLE 파라미터 목적 : 사용 기능 제어, 마이그레이션 후 롤백
- 마이그레이션이 성공적으로 끝날 때까지 COMPATIBLE 값을 소스 DB 버전으로 유지 권고, 몇주후 변경 (11.0.0.0 → 12.0.0.0)
- 업그레이드 후 문제는 문제 해결을 시도하고, 롤백은 최후의 순간에 고려
업그레이드하기 전에 Database Control의 삭제 여부 확인
- Database Control 은 Oracle EM Database Express 로 대체 됨
- 업그레이드 과정에서 Database Control 이 삭제 되나 미리 삭제 필요 (업그레이드 작업 시간 관리)
- $ORACLE_HOME/rdbms/admin/emremove.sql
소스 데이터베이스 백업
- RMAN을 사용한 물리적 백업 수행 (전체 온라인 백업, 아카이브 로그, 컨트롤 파일)
- DataPump 는 물리적 백업 아니며 사본을 익스포트 하는 것임
업그레이드나 마이그레이션 방법 결정
- 12c 로 업그레이드 방법
방법 | 설명 | 가능 소스 DB 버전 |
직접 | 수작업 혹은 DBUA로 동일한 플랫폼에서 업그레이드 | 10.2.0.5 이상, 11.1.0.7 이상, 12.2.0.2 이상 |
간접 | 직접 가능 버전으로 업그레이드 후 다시 업그레이드 |
- 12c 로 마이그레이션 방법
- DataPump (Export/Import)
- Transportable Tablespace (일부/전체)
- Goldengate
- CTAS
방법OS같음(DT30분내)OS같음(DT30분이상)OS다름
DBUA 업그레이드 | √ | ||
수작업 업그레이드 | √ | ||
Transportable Tablespace | √ | √ | |
Full Transportable Export/Import | √ | √ | |
Oracle Golden Gate | √ | √ | |
DataPump | √ | ||
CTAS | √ |
- DBUA(Oracle Database Upgrade Assistant)를 이용한 업그레이드
- 10.2.0.5, 11.1.0.7, 11.2.0.2 이후 버전 가능 (미만 버전은 한번더 업그레이드 필요)
- 수동 업그레이드 방법을 이용한 업그레이드
- 버전 조건은 DBUA 와 같음
- 업그레이드 스크립트 직접 수행
- DataPump
- 12c 로 직접 업그레이드 하고 싶지 않을 때 사용
- DataPump(Export/Import)로 메타/데이터 로드
- 느림 : 개선을 위해 기능(압축, 네트워크 직결, 병렬) 제공
- Transportable Tablespace
- DB가 다른 플랫폼에 존재 할 때 사용
- 특정 오브젝트나 스키마를 업그레이드 할 때 사용
- 12c 는 Transportable Tablespace + DataPump 조합으로 다른 바이트 정렬 순서 플랫폼간 데이터 이동 지원
- CTAS
- Database Link 환경 필요
- 단점 : 네트워크 대역폭 제한, 테이블별 CTAS 및 DDL 작업 필요
사전 업그레이드 정보 툴(Database Upgrade Assistant)에 대한 상세사항
- 업그레이드 전 데이터베이스를 체크하고 점검 결과를 리포트
- DBUA 와 사전 업그레이드 정보 툴 사용
- DBUA 는 업그레이드 정보 툴을 내부적으로 실행
- 경고/실패 항목 발생 하며 업그레이드 전 수정 필요
- 사전 업그레이드 정보 툴을 수동으로 구동
- 11g 환경에서 12c $ORACLE_HOME/rdbms/admin/preupgrd.sql 실행
- $ORACLE_BASE/cfgtoollogs/orcl/preupgrade 에 로그와 스크립트 생성 됨
- preupgrade.log
- 카탈로그 뷰, 패키지, 타입, JVM, 그 외 모든 구성요소 및 공간/설정 체크
- dbms_stats.gather_dictionary_stats 실행, Fixed Object 통계 수집, 기타 DB 관련 항목 수행 권고
- preupgrade_fixups.sql : 업그레이드 전 이 스크립트 실행 필요 (실행 결과에 나오는 수정사항은 별도 실행 필요)
- postupgrade_fixups.sql
- preupgrade.log
업그레이드나 마이그레이션 준비
- 소스 데이터베이스
- Recycle Bin 비우기
- DBA_INVALID_OBJECTS 내 SYS, SYSTEM 객체 제거
- SYS, SYSTEM 내 중복 객체 제거
- Deprecated 파라미터 제거
- DBA_REGISTRY 내 구성요소 VALID 상태 유지
- 사용하지 않는 구성요소 제거 (업그레이드 과정 단축)
- AWR 성능 통계 정보 보존(업그레이드 전 한달) - 30분 간격, 보관 주기 31일 이상, V$SYSAUX_OCCUPANTS
- 소스DB AWR 정보 Export ($ORACLE_HOME/rdbms/admin/awrextr.sql)
- 타겟DB AWR 정보 Import ($ORACLE_HOME/rdbms/admin/awrload.sql)
- 네트워크 확인 (대역폭, 안정성)
- 블록 손상 검증 (RMAN - backup check logical validate database)
- MOS 1565082.1 문서 (12.1.0.1 Base Release - Availability and Known Issues (문서 ID 1565082.1)) 참조
- 클라이언트 버전 결정 (sqlnet.ora:allowed_logon_version_server=8,9,10,11,12,12a)
- 타겟 데이터베이스
- 필수 인증 요구 사항 체크 (HW, OS, Firmware 등)
- 설치 요구 사항 확인 (HW 리소스 등)
- 설치 SW, Patch 준비 및 설치 (PSU, BP, Interim)
* DBUA(Database Upgrade Assistance)를 통한 오라클 데이터베이스 12c로 업그레이드
DBUA 시작DBUA Step 1DBUA Step 2DBUA Step 3-1DBUA Step 3-2DBUA Step 4-1DBUA Step 4-2DBUA Step 5DBUA Step 6DBUA Step 7DBUA Step 8DBUA Step 9DBUA Step 10DBUA Step 11
* Upgrade Oracle Database 선택 |
* 업그레이드 대상 Oracle Home 및 Instance 선택 |
* Pre-Upgrade 유틸리티, Database Upgrade Check 작업 수행 ** 현재 DB의 업그레이드 적합 여부 체크 ** 업그레이드 될 DB의 ORACLE_HOME 찾기 (/etc/oratab) ** ORACLE_HOME 의 OS 유저 OWNERSHIP 체크 ** ASM 호환성 체크 |
* Pre Upgrade Utility Checks, Database Upgrade Checks 결과 표시 * Fixable 이 Yes 인 경우 Action 선택 가능(Fix - Pre Upgrade, 무시, Revalidate) * Action 컬럼이 비워져 있는 경우 수동 해결 후 "Check Again" 수행 |
* 업그레이드 옵션 선택 (병렬도, Invalid Object Recompile, Upgrade Timezone Data, Gather Statistics, User Tablespace Read Only) |
* Custom SQL Script 수행 가능 (업그레이드 전 후 RMAN 백업 등) |
* EM Database Express 설정 * EM Cloud Control 설정 |
* DBF/FRA 이동 선택 |
* 마이그레이션 대상 DB 를 지원하는 리스너 선택/생성 가능 |
* 업그레이드 과정에서 백업 수행 방법 선택(새로운 기능) * Flashback Database 사용 가능(Guaranteed Restore Point) : 실패시 Restore Point 시점부터 재시작 가능 * Flashback Database 활성화로 인한 단점보다 DBUA 업그레이드 중 오류 발생시 얻을 수 있는 유연성이 더 큼 |
* 전체 작업의 개요 |
* DBUA 진행률 (진행 상황 표시) ** 사전 업그레이드 단계(Pre Upgrade Steps) ** 실제 데이터베이스 업그레이드(Database Upgrade Steps) ** 사후 업그레이드 단계(Post Upgrade Steps) * Activity Log 관찰 가능 * Stop 버튼 클릭 시 백업에서 업그레이드된 데이터베이스를 복원 |
* 업그레이드 시간은 메모리, CPU, I/O 속도에 의존적 * "Upgrade Results" 버튼 클릭 시 업그레이드 관련 오류/경고/세부 사항이 나오는 결과 페이지 표시 ** 사전 업그레이드 체크 결과 ** 업그레이드 작업 자체에 대한 상세 정보 ** 업그레이드 개별 단계 특정 정보 *** 백업 내용과 복원 방법 *** SPFILE 정보 *** EM Database Express 설정 정보 *** 초기화 파라미터 변경 정보 * "Restore Database" 버튼 클릭 시 복원 됨 * 업그레이드 완료 시 백업 후 어플리케이션 연결 |
* 수동으로 오라클 데이터베이스 12c 업그레이드
- DBUA 지원 버전은 수동 업그레이드 가능
- 저자는 12c 부터 오류 복구 기능이 보완된 DBUA 사용 권장
- 수동 업그레이드 사전 업그레이드 단계
- 대상 DB 백업
- 사전 업그레이드 정보 툴 수행($ORACLE_HOME/rdbms/admin/preupgrd.sql)
- 파라미터 파일을 새 ORACLE_HOME 으로 이동
수동 업그레이드 수행
-
- 기존 DB용 오라클 환경변수 설정 (. /usr/local/bin/oraenv)
[oracle@earth ~]$ . /usr/local/bin/oraenv
ORACLE_SID = [orcl11g] ?
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@earth ~]$ env | grep ORA
ORACLE_SID=orcl11g
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
-
- DB shutdown immediate
- OS 가 Windows 일 경우 수행
- Oracle 관련 서비스 종료
- oradim 유틸리티로 Oracle 관련 서비스 제거
- oradim 유틸리티로 Oracle 관련 서비스 등록
- /etc/oratab 수정 (대상 DB ORACLE_HOME 경로 수정)
[root@earth ~]# cat /etc/oratab | grep -v ^#
orcl12c:/u01/app/oracle/product/12.1.0/dbhome_1:N
orcl11g:/u01/app/oracle/product/11.2.0/dbhome_1:N
[root@earth ~]# vi /etc/oratab
[root@earth ~]# cat /etc/oratab | grep -v ^#
orcl12c:/u01/app/oracle/product/12.1.0/dbhome_1:N
orcl11g:/u01/app/oracle/product/11.1.0/dbhome_1:N
-
- 신규 DB용 오라클 환경 변수 설정 (. /usr/local/bin/oraenv)
[oracle@earth ~]$ . /usr/local/bin/oraenv
ORACLE_SID = [orcl12c] ? orcl11g
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@earth ~]$ env | grep ORA
ORACLE_SID=orcl11g
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1
-
- 기존 $ORACLE_HOME/dbs 에서 새 디렉터리로 pfile/spfile 복사
[oracle@earth dbs]$ pwd
/u01/app/oracle/product/12.1.0/dbhome_1/dbs
[oracle@earth dbs]$ ls *11g*
ls: cannot access *11g*: 그런 파일이나 디렉터리가 없습니다
[oracle@earth dbs]$ cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl11g.ora .
[oracle@earth dbs]$ ls *11g*
spfileorcl11g.ora
[oracle@earth dbs]$
-
- startup upgrade
[oracle@earth dbs]$ cd $ORACLE_HOME/rdbms/admin
[oracle@earth admin]$ sqlplus / as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Mon Nov 7 16:29:43 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup upgrade
ORACLE instance started.
Total System Global Area 796917760 bytes
Fixed Size 2929448 bytes
Variable Size 515902680 bytes
Database Buffers 272629760 bytes
Redo Buffers 5455872 bytes
Database mounted.
Database opened.
SQL>
-
- Desupport 파라미터 기록 (업그레이드 완료 후 제거)
- $ORACLE_HOME/perl/bin/perl catctl.pl catupgrd.sql
-- 병렬로 수행 됨 (기본값)
[oracle@earth admin]$ $ORACLE_HOME/perl/bin/perl catctl.pl catupgrd.sql
Argument list for [catctl.pl]
SQL Process Count n = 0
SQL PDB Process Count N = 0
Input Directory d = 0
Phase Logging Table t = 0
Log Dir l = 0
Script s = 0
Serial Run S = 0
Upgrade Mode active M = 0
Start Phase p = 0
End Phase P = 0
Log Id i = 0
Run in c = 0
Do not run in C = 0
Echo OFF e = 1
No Post Upgrade x = 0
Reverse Order r = 0
Open Mode Normal o = 0
Debug catcon.pm z = 0
Debug catctl.pl Z = 0
Display Phases y = 0
Child Process I = 0
catctl.pl version: 12.1.0.2.0
Oracle Base = /u01/app/oracle
Analyzing file catupgrd.sql
Log files in /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin
catcon: ALL catcon-related output will be written to catupgrd_catcon_13433.lst
catcon: See catupgrd*.log files for output generated by scripts
catcon: See catupgrd_*.lst files for spool files, if any
Number of Cpus = 2
SQL Process Count = 0
New SQL Process Count = 4
------------------------------------------------------
Phases [0-73]
Serial Phase #: 0 Files: 1
Phases [0-73]
Serial Phase #: 0 Files: 1 Time: 131s
Serial Phase #: 1 Files: 5 Time: 30s
Restart Phase #: 2 Files: 1 Time: 0s
Parallel Phase #: 3 Files: 18 Time: 8s
Restart Phase #: 4 Files: 1 Time: 0s
Serial Phase #: 5 Files: 5 Time: 14s
Serial Phase #: 6 Files: 1 Time: 8s
Serial Phase #: 7 Files: 4 Time: 6s
Restart Phase #: 8 Files: 1 Time: 0s
Parallel Phase #: 9 Files: 62 Time: 48s
Restart Phase #:10 Files: 1 Time: 0s
Serial Phase #:11 Files: 1 Time: 10s
Restart Phase #:12 Files: 1 Time: 0s
Parallel Phase #:13 Files: 91 Time: 6s
Restart Phase #:14 Files: 1 Time: 0s
Parallel Phase #:15 Files: 111 Time: 13s
Restart Phase #:16 Files: 1 Time: 1s
Serial Phase #:17 Files: 3 Time: 0s
Restart Phase #:18 Files: 1 Time: 0s
Parallel Phase #:19 Files: 32 Time: 18s
Restart Phase #:20 Files: 1 Time: 0s
Serial Phase #:21 Files: 3 Time: 5s
Restart Phase #:22 Files: 1 Time: 0s
Parallel Phase #:23 Files: 23 Time: 64s
Restart Phase #:24 Files: 1 Time: 0s
Parallel Phase #:25 Files: 11 Time: 31s
Restart Phase #:26 Files: 1 Time: 0s
Serial Phase #:27 Files: 1 Time: 0s
Restart Phase #:28 Files: 1 Time: 0s
Serial Phase #:30 Files: 1 Time: 0s
Serial Phase #:31 Files: 257 Time: 13s
Serial Phase #:32 Files: 1 Time: 0s
Restart Phase #:33 Files: 1 Time: 0s
Serial Phase #:34 Files: 1 Time: 3s
Restart Phase #:35 Files: 1 Time: 0s
Restart Phase #:36 Files: 1 Time: 0s
Serial Phase #:37 Files: 4 Time: 33s
Restart Phase #:38 Files: 1 Time: 0s
Parallel Phase #:39 Files: 13 Time: 39s
Restart Phase #:40 Files: 1 Time: 0s
Parallel Phase #:41 Files: 10 Time: 6s
Restart Phase #:42 Files: 1 Time: 0s
Serial Phase #:43 Files: 1 Time: 4s
Restart Phase #:44 Files: 1 Time: 0s
Serial Phase #:45 Files: 1 Time: 4s
Serial Phase #:46 Files: 1 Time: 0s
Restart Phase #:47 Files: 1 Time: 0s
Serial Phase #:48 Files: 1 Time: 75s
Restart Phase #:49 Files: 1 Time: 0s
Serial Phase #:50 Files: 1 Time: 29s
Restart Phase #:51 Files: 1 Time: 0s
Serial Phase #:52 Files: 1 Time: 13s
Restart Phase #:53 Files: 1 Time: 0s
Serial Phase #:54 Files: 1 Time: 252s
Restart Phase #:55 Files: 1 Time: 0s
Serial Phase #:56 Files: 1 Time: 55s
Restart Phase #:57 Files: 1 Time: 0s
Serial Phase #:58 Files: 1 Time: 100s
Restart Phase #:59 Files: 1 Time: 0s
Serial Phase #:60 Files: 1 Time: 388s
Restart Phase #:61 Files: 1 Time: 0s
Serial Phase #:62 Files: 1 Time: 988s
Restart Phase #:63 Files: 1 Time: 1s
Serial Phase #:64 Files: 1 Time: 1s
Serial Phase #:65 Files: 1 Calling sqlpatch with LD_LIBRARY_PATH=/u01/app/oracle/product/12.1.0/dbhome_1/lib; export LD_LIBRARY_PATH;/u01/app/oracle/product/12.1.0/dbhome_1/perl/bin/perl -I /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin -I /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/../../sqlpatch /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/../../sqlpatch/sqlpatch.pl -verbose -upgrade_mode_only > catupgrd_datapatch_upgrade.log 2> catupgrd_datapatch_upgrade.err
returned from sqlpatch
Time: 65s
Serial Phase #:66 Files: 1 Time: 61s
Serial Phase #:68 Files: 1 Time: 0s
Serial Phase #:69 Files: 1 Calling sqlpatch with LD_LIBRARY_PATH=/u01/app/oracle/product/12.1.0/dbhome_1/lib; export LD_LIBRARY_PATH;/u01/app/oracle/product/12.1.0/dbhome_1/perl/bin/perl -I /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin -I /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/../../sqlpatch /u01/app/oracle/product/12.1.0/dbhome_1/rdbms/admin/../../sqlpatch/sqlpatch.pl -verbose > catupgrd_datapatch_normal.log 2> catupgrd_datapatch_normal.err
returned from sqlpatch
Time: 37s
Serial Phase #:70 Files: 1 Time: 173s
Serial Phase #:71 Files: 1 Time: 0s
Serial Phase #:72 Files: 1 Time: 0s
Serial Phase #:73 Files: 1 Time: 20s
Grand Total Time: 2766s
LOG FILES: (catupgrd*.log)
Upgrade Summary Report Located in:
/u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/orcl11g/upgrade/upg_summary.log
Grand Total Upgrade Time: [0d:0h:46m:6s]
-
- startup
- $ORACLE_HOME/rdbms/admin/utlu121s.sql 실행 : 업그레이드 결과 Summary 생성 및 리뷰
SQL> @utlu121s.sql
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
CATCTL REPORT = /u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/orcl11g/upgrade/upg_summary.log
PL/SQL procedure successfully completed.
Oracle Database 12.1 Post-Upgrade Status Tool 11-07-2016 17:21:54
Component Current Version Elapsed Time
Name Status Number HH:MM:SS
Oracle Server UPGRADED 12.1.0.2.0 00:08:15
JServer JAVA Virtual Machine VALID 12.1.0.2.0 00:01:13
Oracle Workspace Manager VALID 12.1.0.2.0 00:00:44
OLAP Analytic Workspace VALID 12.1.0.2.0 00:00:12
OLAP Catalog OPTION OFF 11.2.0.3.0 00:00:00
Oracle OLAP API VALID 12.1.0.2.0 00:00:16
Oracle XDK VALID 12.1.0.2.0 00:00:29
Oracle Text VALID 12.1.0.2.0 00:00:32
Oracle XML Database VALID 12.1.0.2.0 00:03:39
Oracle Database Java Packages VALID 12.1.0.2.0 00:00:10
Oracle Multimedia VALID 12.1.0.2.0 00:01:40
Spatial UPGRADED 12.1.0.2.0 00:06:27
Oracle Application Express VALID 4.2.5.00.08 00:15:49
Final Actions 00:01:54
Post Upgrade 00:02:38
Total Upgrade Time: 00:44:28
PL/SQL procedure successfully completed.
SQL>
SQL> --
SQL> -- Update Summary Table with con_name and endtime.
SQL> --
SQL> UPDATE sys.registry$upg_summary SET reportname = :ReportName,
2 con_name = SYS_CONTEXT('USERENV','CON_NAME'),
3 endtime = SYSDATE
4 WHERE con_id = -1;
1 row updated.
SQL> commit;
Commit complete.
SQL>
수동 업그레이드 사후 업그레이드 단계
-
- utlrp.sql 수행 : Recompile Invalid Objects
- utluiobj.sql 수행 : 패키지/클래스 유효성 확인
- dbms_stats.gather_fixed_object_stats 수행 : Fixed 오브젝트 통계 정보 수집
- utluiobj.sql 또 수행
- 32K 확장 데이터 타입 사용시 선택 수행
- max_string_size 파라미터 값 설정 EXTENDED
- $ORACLE_HOME/rdbms/admin/utl32k.sql 수행
- 백업
고려해야 하는 기타 사후 업그레이드 단계
-
- 초기 테스트 완료 후 COMPATIBLE 파라미터 12.0.0.0 설정 (롤백 고려)
- 12c 는 COMPATIBLE 값 10.0.0.0 이상 설정 가능
- 확장 데이터 타입 활성화 (MAX_STRING_SIZE = EXTENDED)
- VARCHAR2, NVARCHAR2, RAW 데이터 타입을 32K 까지 정의 가능
- 하드웨어 기반으로 산출되는 PARALLEL_MIN_SERVERS 파라미터 값 확인
- RMAN 카탈로그 업그레이드
- DBUA 에서 업그레이드 후 Time Zone File 업그레이드 권고가 있었다면 수행
- 사용중인 제품(APEX, Database Vault 등)과 기능에 따라 추가 작업 발생 가능
- 초기 테스트 완료 후 COMPATIBLE 파라미터 12.0.0.0 설정 (롤백 고려)
* 오라클 데이터 펌프를 이용한 오라클 데이터베이스 12c로 업그레이드
- DBUA, 수동 업그레이드 사용 불가 시 대안으로 DataPump 적용
- DataPump 이점
- 서로 다른 엔디언 포멧을 가진 플랫폼 간 업그레이드 가능
SQL> SELECT * FROM V$TRANSPORTABLE_PLATFORM;
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- -------------------------------- --------------
1 Solaris[tm] OE (32-bit) Big
2 Solaris[tm] OE (64-bit) Big
7 Microsoft Windows IA (32-bit) Little
10 Linux IA (32-bit) Little
6 AIX-Based Systems (64-bit) Big
3 HP-UX (64-bit) Big
5 HP Tru64 UNIX Little
4 HP-UX IA (64-bit) Big
11 Linux IA (64-bit) Little
15 HP Open VMS Little
8 Microsoft Windows IA (64-bit) Little
9 IBM zSeries Based Linux Big
13 Linux 64-bit for AMD Little
16 Apple Mac OS Big
12 Microsoft Windows 64-bit for AMD Little
17 Solaris Operating System (x86) Little
16 rows selected.
-
- DBUA/수동 업그레이드 미지원 버전 업그레이드 가능
- GoldenGate, Streams 등과 결합해 다운타임 최소화 가능 (타겟 DB 구축에 활용, RMAN)
- 실제 전환 전 까지 영향도 파악, 검증 및 안정화 가능
- DataPump 사용
- RESUMABLE_TIMEOUT 설정 고려 (공간 문제로 실패 방지)
순번내용
1 | DBCA 로 새 DB 12c 생성 |
2 | DB로의 모든 연결에 대한 정합성 체크 |
3 | 타겟DB 운영계화(모니터링, 백업 등) 체크 |
4 | 마이그레이션, 테스트, 백아웃 절차 계획 완료 |
5 | 테스트 마이그레이션 반복 수행 |
6 | 타겟DB 테이블스페이스 확장 |
7 | 소스DB METADATA_EXP_DIR 생성 |
8 | 소스DB EXPORT 권한 유저 생성(DATAPUMP_EXP_FULL_DATABASE) |
9 | 소스DB META EXPORT 수행(INDEX 제외) |
10 | 타겟DB IMPORT 권한 유저 생성(DATAPUMP_IMP_FULL_DATABASE) |
11 | 롤백을 위해 GUARANTEED RESTORE POINT 생성 (IMPORT 롤백 필요시 FLASHBACK DATABASE 사용 고려) |
12 | 타겟DB META IMPORT 수행 |
13 | 타겟DB DB_LINK TO 소스DB 생성 |
14 | DB_LINK 점검 |
15 | NETWORK_LINK 옵션과 함께 IMPORT 수행(FOREIGN KEY 주의) |
16 | INDEX IMPORT 수행 |
17 | 오든 오브젝트 재컴파일(utlrp.sql) 수행 |
18 | 타겟DB 백업 |
19 | 데이터 검사 및 클라이언트 전환 |
* 롤링 업그레이드
- 다운타임 최소화 업그레이드 기능 제공
- Oracle Clusterware 와 RAC
- Data Guard 의 Standby DB
- GoldenGate
* 업그레이드 롤백
- 아래 버전으로 제한적인 롤백 가능
- 11g R2 11.2.0.2, 11.2.0.3, 11.2.0.4
- 패치셋 다운 그레이드는 11.2 지원 (11.2.0.1 제외)
- 11g R1 11.1.0.7
- 10g R2 10.2.0.5 (불가)
- 11g R2 11.2.0.2, 11.2.0.3, 11.2.0.4
- Compatible 파라미터
- 10.0.0.0 : 11.0.0.0 변경 후 롤백 가능
- 11.0.0.0, 11.1.0.0 : 롤백 가능
- 12.0.0.0 : 롤백 불가능 (DataPump 혹은 Restore Point 를 통해서 가능)
- Compatible 파라미터 12.0.0.0 설정 전 시스템의 원활한 가동 확인 필요
- 설정 후 롤백이 복잡해 짐
- 기타
- 롤백에 대비해 GoldenGate 적용 가능
- XE 는 다운그레이드 불가
- 11.1.0.7 이전 버전 다운그레이드 불가
* 업그레이드 후에 주의해야 할 몇 가지 변경사항
- ORACLE_HOME 소프트웨어 설치/제거에 Standalone Deinstallation 유틸리티 계속 지원
- SEC_CASE_SENSITIVE_LOGON 파라미터 폐지 - 표준 패스워드 해싱 알고리즘(SHA-1, SHA-512)이 대소문자 암호 매칭 미지원
- Audit Trail → Unified Audit
- 참조 문서
- Complete Checklist for Upgrading to Oracle Database 12c Release 1 using DBUA (문서 ID 1516557.1)
- Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (문서 ID 1503653.1)
- Master Note For Oracle Database 12c Release 1 (12.1) Database/Client Installation/Upgrade/Migration Standalone Environment (Non-RAC) (문서 ID 1520299.1)
- Oracle Database 12c Release 1 (12.1) Upgrade New Features (문서 ID 1515747.1)
Reference
http://www.gurubee.net/lecture/3315
반응형
'DATABASE > ORACLE' 카테고리의 다른 글
[oracle] 실행중인 쿼리 검색 (0) | 2022.12.26 |
---|---|
리터럴 sql - oracle (0) | 2022.12.26 |
Oracle에서 스키마란? (0) | 2022.09.05 |
Transaction(트랜잭션, Database,ORACLE), ACID (0) | 2021.08.06 |
Oracle Instance(오라클 인스턴스) (0) | 2021.05.20 |
댓글