버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

업그레이드 작업

preupgrade_fixups 스크립트 수행

코드 블럭
titlepreupgrade_fixups 수행
linenumberstrue
SET ECHO ON;
SET SERVEROUTPUT ON;
@/u01/app/oracle/cfgtoollogs/racdb/preupgrade/preupgrade_fixups.sql



11g 데이터베이스 중지

코드 블럭
title모든 노드의 11g 인스턴스 중지 (11g 데이터베이스 중지)
linenumberstrue
shutdown immediate



재사용 파일 복제 및 신규 생성

코드 블럭
languagebash
title1번 노드 재사용 파일 복제 및 패스워드 파일 생성
linenumberstrue
export DB_HOME=$ORACLE_BASE/product/19.0.0/db_1
export ORACLE_HOME=$DB_HOME
cp $ORACLE_BASE/product/11.2.0/db_1/network/admin/*.ora $DB_HOME/network/admin/
cp $ORACLE_BASE/product/11.2.0/db_1/dbs/initracdb1.ora $DB_HOME/dbs/
orapwd file=$ORACLE_HOME/dbs/orapwracdb1 force=y format=12




코드 블럭
languagebash
title2번 노드 재사용 파일 복제 및 패스워드 파일 생성
linenumberstrue
export DB_HOME=$ORACLE_BASE/product/19.0.0/db_1
export ORACLE_HOME=$DB_HOME
cp $ORACLE_BASE/product/11.2.0/db_1/network/admin/*.ora $DB_HOME/network/admin/
cp $ORACLE_BASE/product/11.2.0/db_1/dbs/initracdb2.ora $DB_HOME/dbs/
orapwd file=$ORACLE_HOME/dbs/orapwracdb2 force=y format=12



싱글 DB로 전환 및 Upgrade 모드 기동

코드 블럭
title싱글 DB 전환 후 1번 노드 upgrade 모드로 기동
linenumberstrue
conn / as sysdba
startup nomount
alter system set cluster_database=false scope=spfile;
startup force upgrade



업그레이드 수행

코드 블럭
languagebash
titledbupgrade 스크립트 실행
linenumberstrue
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/db_1
$ORACLE_HOME/bin/dbupgrade



Time Zone 업그레이드 수행

코드 블럭
titleUpgrade 모드로 기동 후 Time Zone 버전 조회
linenumberstrue
startup upgrade;
select * from V$TIMEZONE_FILE;
select DBMS_DST.GET_LATEST_TIMEZONE_VERSION from dual;




코드 블럭
titleTime Zone 업그레이드 영향도 분석
linenumberstrue
SET SERVEROUTPUT ON;
exec DBMS_DST.BEGIN_PREPARE(DBMS_DST.GET_LATEST_TIMEZONE_VERSION);
exec DBMS_DST.FIND_AFFECTED_TABLES;
select * from SYS.DST$AFFECTED_TABLES;
select * from SYS.DST$ERROR_TABLE;
select * from SYS.DST$TRIGGER_TABLE;
exec DBMS_DST.END_PREPARE;




코드 블럭
titleTime Zone 업그레이드 윈도우 시작 및 재기동
linenumberstrue
exec DBMS_DST.BEGIN_UPGRADE(DBMS_DST.GET_LATEST_TIMEZONE_VERSION);
shutdown immediate
startup




코드 블럭
title데이터베이스 Time Zone 업그레이드
linenumberstrue
SET SERVEROUTPUT ON;
DECLARE
  failed_num PLS_INTEGER;
BEGIN
  DBMS_DST.UPGRADE_DATABASE(failed_num);
  DBMS_OUTPUT.PUT_LINE('DBMS_DST.UPGRADE_DATABASE : ' || failed_num);
END;
/




코드 블럭
titleTime Zone 업그레이드 윈도우 종료
linenumberstrue
SET SERVEROUTPUT ON;
DECLARE
  failed_num PLS_INTEGER;
BEGIN
  DBMS_DST.END_UPGRADE(failed_num);
  DBMS_OUTPUT.PUT_LINE('DBMS_DST.END_UPGRADE : ' || failed_num);
END;
/




코드 블럭
titleTime Zone 업그레이드 결과 확인
linenumberstrue
select PROPERTY_NAME, PROPERTY_VALUE
  from DATABASE_PROPERTIES
 where PROPERTY_NAME like 'DST_%'
 order by PROPERTY_NAME;



Fixed Objects 통계 수집

코드 블럭
titleFixed Objects 통계 수집
linenumberstrue
EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;



postupgrade_fixups 스크립트 수행

코드 블럭
languagebash
titlepostupgrade_fixups 스크립트 수행
linenumberstrue
SET ECHO ON;
SET SERVEROUTPUT ON;
@/u01/app/oracle/cfgtoollogs/racdb/preupgrade/postupgrade_fixups.sql



객체 재컴파일

코드 블럭
titleInvalid 객체 및 컴포넌트 재컴파일
linenumberstrue
@?/rdbms/admin/utlrp.sql



클러스터 DB로 전환

코드 블럭
title클러스터 DB로 전환 및 재기동을 위한 중지
linenumberstrue
alter system set cluster_database=true scope=spfile;
shutdown immediate




코드 블럭
languagebash
title데이터베이스 설정 업데이트 및 재기동
linenumberstrue
$DB_HOME/bin/srvctl upgrade database -d racdb -o $DB_HOME
srvctl start database -d racdb



APEX 설치 (옵션)

코드 블럭
title19c에 호환되는 APEX 설치
linenumberstrue
@?/apex/catapx.sql <APEX 관리자 암호> SYSAUX SYSAUX TEMP /i/ NONE