Oracle® 19c Database는 시장과 기업에서 널리 채택된 자동화 데이터베이스의 최신 릴리스입니다. 안정성은 Oracle Database 12c(릴리스 12.2) 제품군의 Oracle Database 19c 구성 요소에서 중요한 요소입니다. 2부로 구성된 이 블로그 게시물 시리즈에서는 버전 19c의 설치 및 업그레이드에 대해 설명합니다.
소개
2부로 구성된 시리즈 중 이 부분은 Windows®에서 Oracle Database를 11.2.0.4에서 19c로 업그레이드하는 데 중점을 둡니다. 이 수동 방법은 DBUA(Database Upgrade Assistant)를 사용하지 않습니다.
설치 단계는 이 시리즈의 1부를 참조하십시오. 19c Oracle 홈 디렉토리에 바이너리를 설치했습니다.ORACLE_HOME=d:\app\product\19.0.0\dbhome_1 .
Oracle Database를 19c로 업그레이드하려면 다음 단계를 따르십시오.
참고 :업그레이드 과정에서 문제가 발생할 경우를 대비하여 업그레이드하기 전에 유효한 백업이 있어야 합니다.
1단계:설치 파일 준비
업그레이드를 진행할 수 있도록 19.3 RDBMS(관계형 데이터베이스 관리 시스템) 설치 파일을 준비합니다.
2단계:사전 업그레이드 단계
다음 단계를 실행하여 사전 업그레이드 프로세스를 완료하십시오.
2.0단계:준비
-
metalink note 884522.1을 사용하여 Oracle Database Pre-Upgrade Utility를 다운로드하십시오. 사전 업그레이드 도구를 실행하려면 다음 코드를 실행하십시오.
set ORACLE_HOME=d:\app\product\11.2.0.4\dbhome_1set ORACLE_BASE=d:\appset ORACLE_SID=ABCset PATH=%ORACLE_HOME%\bin;%PATH%%ORACLE_HOME%\jdk\bin\java -jar
\ preupgrade.jar 터미널 텍스트 -u sys -p -
d:\app\cfgtoollogs\ABC\preupgrade\preupgrade.txt에서 출력을 확인하십시오. , 사전 업그레이드 로그 파일을 검토하고 오류를 수정하십시오.
-
AUTOFIXUP을 사용하여 모든 부품에 대해 사전 업그레이드 수정 스크립트를 실행할 수 있습니다. 로그에서. 예를 들어, d:\app\cfgtoologs\ABC\preupgrade\preupgrade_fixups.sql을 실행하려면 , 다음 코드를 실행:
CD 디:
cd d:\app\cfgtoollogs\ABC\preupgradesqlplus sys/as sysdba @preupgrade_fixups.sql -
preupgrade_fixups.sql의 출력을 검토합니다. 나머지 수동 단계를 수행합니다.
2.1단계:pfile 백업
다음 명령을 실행하여 pfile을 백업합니다. :
SQL> create pfile='d:\app\init_ABC.ora' from spfile;
2.2단계:잘못된 개체 제거
utlrp.sql 실행 SQL Plus에서 스크립트를 사용하여 유효하지 않은 개체를 컴파일합니다. sys/system schema에 잘못된 개체가 남아 있지 않은지 확인 . 나중에 업그레이드 후 단계에서 일치하도록 다른 모든 잘못된 개체를 별도의 테이블에 저장합니다.
SQL>@?/rdbms/admin/utlrp.sql
SQL> create table system.invalids_before_upgrade as select * From dba_invalid_objects;
2.3단계:EM 저장소 제거
다음 단계를 사용하여 EM 저장소를 제거하십시오.
emremove.sql 복사 19c 홈에서 11 g 홈으로 스크립트:
copy d:\app\product\19.0.0\dbhome_1\rdbms\admin\emremove.sql d:\app\product\11.2.0.4\dbhome_1\rdbms\admin
cd d:\app\product\11.2.0.4\dbhome_1\rdbms\admin
sqlplus sys/<password> as sysdba
SET ECHO ON;
SET SERVEROUTPUT ON;
@emremove.sql
2.4단계:OLAP 카탈로그 제거
다음 단계를 사용하여 OLAP 카탈로그를 제거하십시오.
cd d:\app\product\11.2.0.4\dbhome_1\olap\admin\
sqlplus sys/<password> as sysdba @catnoamd.sql
2.5단계:APEX 제거
APEX(Application Express)를 사용하지 않는 경우 다음 명령을 실행하여 제거할 수 있습니다.
cd d:\app\product\11.2.0.4\dbhome_1\apex
sqlplus sys/<password> as sysdba @apxremov.sql
drop package htmldb_system;
drop public synonym htmldb_system;
2.6단계:RECYCLEBIN 제거
다음 명령을 사용하여 DBA RECYCLEBIN을 제거합니다.
PURGE DBA_RECYCLEBIN;
2.7단계:사전 통계 수집
다음 명령을 사용하여 사전 통계를 수집합니다.
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;
모든 것이 준비되었는지 확인하기 위해 사전 업그레이드 도구를 다시 실행하십시오.
3.0단계:업그레이드 단계
업그레이드를 수행하려면 다음 업그레이드 단계를 실행하십시오.
3.1단계:업그레이드 수행
업그레이드하려면 다음 단계를 실행하십시오.
-
Oracle 11g 데이터베이스를 종료합니다.
-
Oracle 데이터베이스를 종료한 후 관리자 옵션으로 CMD를 열고 명령 프롬프트에서 다음 단계를 실행하여 모든 Oracle 11g Windows 서비스를 제거합니다.
set ORACLE_HOME=d:\app\product\19.0.0\dbhome_1set PATH=%ORACLE_HOME%\bin;%PATH%set ORACLE_SID=ABCsc 삭제 OracleJobSchedulerABCsc 삭제 OracleMTSRecoveryServicesc 삭제 OracleServiceABCsc 삭제 OracleVssWriterABC
-
다음 명령을 실행하여 Oracle 19c Windows 서비스를 생성합니다.
d:\app\product\19.0.0\dbhome_1\bin\ORADIM -NEW -SID ABC -SYSPWD ********* -STARTMODE 자동 -PFILE D:\app\product\19.0.0\dbhome_1\ 데이터베이스\INITABC.ORA
-
프로세스가 Oracle 19c Windows 서비스를 생성한 후 서비스를 시작합니다.
3.2단계:Oracle 데이터베이스 시작
업그레이드 모드에서 19C 환경에서 Oracle Database를 시작합니다.
Oracle Database가 업그레이드 모드에서 시작된 후 다음 단계를 수행하십시오.
-
다음 명령을 실행하십시오.
CD d:\app\product\19.0.0\dbhome_1\bin
-
dbupgrade 실행 Windows 명령 프롬프트에서 유틸리티.
-
업그레이드가 완료되면 데이터베이스를 시작하고 다음 명령을 실행합니다.
SQL> @?\rdbms\admin\utlrp.sql
4.0단계:업그레이드 후 단계
업그레이드에 성공하면 업그레이드 후 수정 스크립트를 실행합니다.
d:\ cd d:\app\cfgtoollogs\ABC\preupgrade
sqlplus sys/<password> as sysdba @postupgrade_fixups.sql
4.1단계:시간대 업그레이드
업그레이드 후 수정 스크립트를 실행한 후 다음 명령을 실행하여 표준 시간대를 업그레이드하세요.
sqlplus / as sysdba <<EOF
-- Check current settings.
SELECT * FROM v$timezone_file;
SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;
-- Begin upgrade to the latest version.
SET SERVEROUTPUT ON
DECLARE
l_tz_version PLS_INTEGER;
BEGIN
l_tz_version := DBMS_DST.get_latest_timezone_version;
DBMS_OUTPUT.put_line('l_tz_version=' || l_tz_version);
DBMS_DST.begin_upgrade(l_tz_version);
END;
/
SHUTDOWN IMMEDIATE;
STARTUP;
-- Do the upgrade.
SET SERVEROUTPUT ON
DECLARE
l_failures
PLS_INTEGER;
BEGIN
DBMS_DST.upgrade_database(l_failures);
DBMS_OUTPUT.put_line('DBMS_DST.upgrade_database : l_failures=' || l_failures);
DBMS_DST.end_upgrade(l_failures);
DBMS_OUTPUT.put_line('DBMS_DST.end_upgrade : l_failures=' || l_failures);
END;
/
-- Validate time zone.
SELECT * FROM v$timezone_file;
COLUMN property_name FORMAT A30
COLUMN property_value FORMAT A20
SELECT property_name, property_value
FROM database_properties
WHERE property_name LIKE 'DST_%'
ORDER BY property_name;
exit;
SQL> select TZ_VERSION from registry$database;
TZ_VERSION 이전 버전을 표시하려면 다음 명령을 실행하십시오.
SQL>update registry$database set TZ_VERSION = (select version FROM v$timezone_file);
SQL>commit;
SQL>select TZ_VERSION from registry$database;
TZ_VERSION
----------
32
4.2단계:개체 통계 수집
다음 명령을 실행하여 고정 개체 통계를 수집합니다.
sqlplus / as sysdba <<EOF
EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
exit;
4.3단계 :사전 통계 수집
다음 명령문을 실행하여 업그레이드 후 사전 통계를 수집하십시오.
EXECUTE DBMS_STATS.GATHER_DICTIONARY_STATS;
4.4단계:수정된 문제 확인
utlusts.sql 실행 남아 있는 문제가 없는지 확인:
d:\app\product\19.0.0\dbhome_1\rdbms\admin\utlusts.sql TEXT
4.5단계:유효하지 않은 개체 비교
모든 유효하지 않은 개체를 2.2단계에서 저장한 목록과 일치시킵니다.
4.6단계:정리
업그레이드를 완료하려면 다음 단계를 수행하십시오.
-
listener.ora 복사 , tnsnames.ora 및 sqlnet.ora Oracle11g Oracle 홈 디렉토리에서 Oracle 19c Oracle 홈 디렉토리로 변경하고 oracle_home 그에 따라 매개변수를 지정합니다.
-
이 모든 파일을 d:\app\product\19.0.0\dbhome_1\network\admin에 배치합니다. .
참고 :compatible=11.2.0.4
유지 OracleDatabase를 11g로 다운그레이드해야 하는 경우를 대비하여
결론
이전 단계는 Windows 버전 11.2.0.4에서 Oracle Database를 19c로 쉽게 업그레이드하는 데 도움이 됩니다.
데이터베이스 서비스에 대해 자세히 알아보십시오.
피드백 탭을 사용하여 의견을 작성하거나 질문하십시오. 저희와 대화를 시작할 수도 있습니다.