I. 사전 준비
1. AutoUpgrade jar 파일 업데이트
문서 ID 2485457.1 에서 다운받은 jar 파일을 target 버전의 경로에 복사
cd $ORACLE_HOME/rdbms/admin mv autoupgrade.jar autoupgrade.jar_old cp ~oracle/autoupgrade.jar . ls -ltra | grep autoup
2. config 파일 샘플 생성
샘플 파일을 만들어 참조할 수 있음
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -create_sample_file config
3. config 파일 작성
vi ~oracle/config.txt
global.autoupg_log_dir=/home/oracle/upg_logs # # Database number 1 - Full DB/CDB upgrade # upg1.log_dir=/home/oracle/upg_logs/AUTOUPDB upg1.sid=AUTOUPDB upg1.source_home=/u01/app/oracle/product/11g/db_1 upg1.target_home=/u01/app/oracle/product/19c/db_1 upg1.start_time=NOW upg1.upgrade_node=autoup #upg1.run_utlrp=[yes|no] #upg1.timezone_upg=[yes|no] #upg1.target_version=[12.2|18|19|21]
II. 업그레이드 작업
1. 초기 분석
target 버전에서 실행
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.txt -mode analyze
[oracle@AUTOUPDB ~]$ $ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.txt -mode analyze AutoUpgrade 22.5.221011 launched with default internal options 구성 파일 처리 중... +--------------------------------+ | 자동 업그레이드 실행 시작 중 | +--------------------------------+ 1 Non-CDB(s) will be analyzed 콘솔 명령을 나열하려면 'help'을(를) 입력하십시오. upg> status Config User configuration file [/home/oracle/config.txt] General logs location [/home/oracle/upg_logs/cfgtoollogs/upgrade/auto] Mode [ANALYZE] Jobs Summary Total databases in configuration file [1] Total Non-CDB being processed [1] Total Containers being processed [0] Jobs finished successfully [0] Jobs finished/aborted [0] Jobs in progress [1] Progress +---+---------------------------------------------------------+ |Job| Progress| +---+---------------------------------------------------------+ |100|[||||||||||||||||| ] 33 %| +---+---------------------------------------------------------+ upg> Job 100 completed ------------------- Final Summary -------------------- Number of databases [ 1 ] Jobs finished [1] Jobs failed [0] Please check the summary report at: /home/oracle/upg_logs/cfgtoollogs/upgrade/auto/status/status.html /home/oracle/upg_logs/cfgtoollogs/upgrade/auto/status/status.log
[oracle@AUTOUPDB ~]$ cd upg_logs/AUTOUPDB/AUTOUPDB/100/ [oracle@AUTOUPDB 100]$ ls -ltra 합계 240 drwxr-xr-x. 4 oracle oinstall 29 11월 2 15:46 .. -rw-------. 1 oracle oinstall 0 11월 2 15:46 autoupgrade_err.log -rw-------. 1 oracle oinstall 403 11월 2 15:46 autoupgrade_20221102_user.log drwx------. 2 oracle oinstall 4096 11월 2 15:46 prechecks -rw-------. 1 oracle oinstall 230256 11월 2 15:46 autoupgrade_20221102.log drwx------. 3 oracle oinstall 4096 11월 2 15:46 . [oracle@AUTOUPDB 100]$ cat autoupgrade_20221102_user.log 2022-11-02 15:46:23.444 INFO build.hash:e9428661 build.version:22.5.221011 build.date:2022/10/11 14:23:59 -0400 build.max_target_version:21 build.supported_target_versions:12.2,18,19,21 build.type:production build.hash_date:2022/10/11 12:55:45 -0400 build.label:HEAD 2022-11-02 15:46:27.062 INFO AUTOUPDB을(를) 분석하는 중입니다. 113 검사가 8 스레드를 사용하여 실행됩니다.
2. 사전 작업
target 버전에서 실행
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.txt -mode fixups
[oracle@AUTOUPDB ~]$ $ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.txt -mode fixups AutoUpgrade 22.5.221011 launched with default internal options 구성 파일 처리 중... +--------------------------------+ | 자동 업그레이드 실행 시작 중 | +--------------------------------+ 1 Non-CDB(s) will be processed 콘솔 명령을 나열하려면 'help'을(를) 입력하십시오. upg> lsj -p +-----+--------+---------+---------+-------+----------+-------+----------------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+-------+----------------------------+ | 101|AUTOUPDB|PRECHECKS|EXECUTING|RUNNING| 15:48:31| 1s ago|Loading database information| +-----+--------+---------+---------+-------+----------+-------+----------------------------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+-------+-------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED|MESSAGE| +-----+--------+---------+---------+-------+----------+-------+-------+ | 101|AUTOUPDB|PREFIXUPS|EXECUTING|RUNNING| 15:48:31|11s ago| | +-----+--------+---------+---------+-------+----------+-------+-------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+-------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+-------+------------------+ | 101|AUTOUPDB|PREFIXUPS|EXECUTING|RUNNING| 15:48:31| 0s ago|Refreshing DB info| +-----+--------+---------+---------+-------+----------+-------+------------------+ 총 작업 1 upg> Job 101 completed ------------------- Final Summary -------------------- Number of databases [ 1 ] Jobs finished [1] Jobs failed [0] Please check the summary report at: /home/oracle/upg_logs/cfgtoollogs/upgrade/auto/status/status.html /home/oracle/upg_logs/cfgtoollogs/upgrade/auto/status/status.log
[oracle@AUTOUPDB ~]$ cd upg_logs/AUTOUPDB/AUTOUPDB/101/prefixups [oracle@AUTOUPDB prefixups]$ ls -ltra 합계 360 -rw-------. 1 oracle oinstall 60067 11월 2 15:49 prefixups_autoupdb.log -rw-------. 1 oracle oinstall 1201 11월 2 15:49 prefixups.xml -rw-------. 1 oracle oinstall 287811 11월 2 15:49 prechecks_autoupdb.log -rw-------. 1 oracle oinstall 1470 11월 2 15:49 prechecks.xml drwx------. 2 oracle oinstall 4096 11월 2 15:49 . drwx------. 4 oracle oinstall 4096 11월 2 15:49 .. [oracle@AUTOUPDB prefixups]$ cat prefixups_autoupdb.log 2022-11-02 15:48:36.338 INFO Starting log for AUTOUPDB - Utilities.createLogger 2022-11-02 15:48:36.415 INFO [54D376] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:36.414 INFO [079C38] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:36.415 INFO [28FF70] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:36.417 INFO [28FF70] [DECLARE dictionary_stats_retention NUMBER := 0; dictionary_stats_recent NUMBER := 0; dictionary_stats_recent_alt NUMBER := 0; doc_name VARCHAR2(80) := ''; -- holds the name of the doc that -- points to the section on -- managing optimizer statistics BEGIN select dbms_stats.get_stats_history_retention into dictionary_stats_retention from sys.dual; select COUNT(operation) into dictionary_stats_recent from SYS.DBA_OPTSTAT_OPERATIONS doo1 where ((operation = 'gather_dictionary_stats') OR ((operation = 'gather_schema_stats' AND (TARGET = 'SYS' OR TARGET = 'SYSTEM')))) AND not exists(select 1 from SYS.DBA_OPTSTAT_OPERATIONS doo2 where doo2.operation = replace(doo1.operation, 'gather', 'delete') AND nvl(doo2.target, 'D') = nvl(doo1.target, 'D') AND doo2.start_time > doo1.start_time) AND start_time > systimestamp - INTERVAL '8' DAY; select count(1) INTO dictionary_stats_recent_alt from sys.DBA_TAB_STATISTICS where owner = 'SYS' and table_name = 'SEQ$' and last_analyzed > sysdate - 8; -- If recent enough we are good IF (dictionary_stats_recent != 0 or (dictionary_stats_retention between 0 and 7 and dictionary_stats_recent_alt = 1) ) then DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE doc_name := '11.2.0.4'; IF ('11.2' = '11.2') THEN doc_name := doc_name || ' Oracle Database Performance Tuning Guide'; ELSIF ('11.2' = '12.1' OR '11.2.0.4' = '12.2.0.1') THEN doc_name := doc_name || ' Oracle Database SQL Tuning Guide'; ELSE doc_name := doc_name || ' Oracle Database Upgrade Guide'; END IF; DBMS_OUTPUT.PUT_LINE(doc_name); END IF; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:48:36.417 INFO [28FF70] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.417 INFO [28FF70] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.416 INFO [B4B443] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:36.418 INFO [B4B443] [DECLARE rows number; BEGIN SELECT count(1) into rows FROM sys.registry$ WHERE cid='EM' AND status NOT IN (99,8); IF rows = 0 THEN -- EM not here. DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE('19#11.2.0.4.0'); END IF; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:48:36.417 INFO [079C38] [DECLARE aq_tables NUMBER := 0; BEGIN SELECT count(*) into aq_tables FROM dba_tables WHERE owner = 'SYS' AND table_name LIKE 'KUPC$DATAPUMP_QUETAB%'; IF (aq_tables > 0) THEN DBMS_OUTPUT.PUT_LINE('FAILURE'); ELSE DBMS_OUTPUT.PUT_LINE('SUCCESS'); END IF; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:48:36.417 INFO [54D376] [DECLARE n_status NUMBER := -1; BEGIN -- -- Is AMD around? -- BEGIN EXECUTE IMMEDIATE 'SELECT status FROM sys.registry$ WHERE cid=''AMD'' AND namespace=''SERVER''' INTO n_status; EXCEPTION WHEN OTHERS THEN NULL; -- AMD not in registry END; IF (n_status = -1) THEN -- AMD not in registry -- or output is XML, return success DBMS_OUTPUT.PUT_LINE('SUCCESS'); END IF; -- -- This is a manual only check -- DBMS_OUTPUT.PUT_LINE('11.2.0.4.0'); END; / ] - ExecuteSql.quickSQL 2022-11-02 15:48:36.419 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:36.419 INFO [28FF70] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.419 INFO [28FF70] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.419 INFO [28FF70] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.419 INFO [28FF70] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.419 INFO [28FF70] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.420 INFO [28FF70] Executing SQL [/* 28FF70 */DECLARE dictionary_stats_retention NUMBER := 0; dictionary_stats_recent NUMBER := 0; dictionary_stats_recent_alt NUMBER := 0; doc_name VARCHAR2(80) := ''; -- holds the name of the doc that -- points to the section on -- managing optimizer statistics BEGIN select dbms_stats.get_stats_history_retention into dictionary_stats_retention from sys.dual; select COUNT(operation) into dictionary_stats_recent from SYS.DBA_OPTSTAT_OPERATIONS doo1 where ((operation = 'gather_dictionary_stats') OR ((operation = 'gather_schema_stats' AND (TARGET = 'SYS' OR TARGET = 'SYSTEM')))) AND not exists(select 1 from SYS.DBA_OPTSTAT_OPERATIONS doo2 where doo2.operation = replace(doo1.operation, 'gather', 'delete') AND nvl(doo2.target, 'D') = nvl(doo1.target, 'D') AND doo2.start_time > doo1.start_time) AND start_time > systimestamp - INTERVAL '8' DAY; select count(1) INTO dictionary_stats_recent_alt from sys.DBA_TAB_STATISTICS where owner = 'SYS' and table_name = 'SEQ$' and last_analyzed > sysdate - 8; -- If recent enough we are good IF (dictionary_stats_recent != 0 or (dictionary_stats_retention between 0 and 7 and dictionary_stats_recent_alt = 1) ) then DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE doc_name := '11.2.0.4'; IF ('11.2' = '11.2') THEN doc_name := doc_name || ' Oracle Database Performance Tuning Guide'; ELSIF ('11.2' = '12.1' OR '11.2.0.4' = '12.2.0.1') THEN doc_name := doc_name || ' Oracle Database SQL Tuning Guide'; ELSE doc_name := doc_name || ' Oracle Database Upgrade Guide'; END IF; DBMS_OUTPUT.PUT_LINE(doc_name); END IF; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:36.424 INFO [54D376] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.425 INFO [54D376] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.425 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:36.425 INFO [54D376] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.425 INFO [54D376] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.425 INFO [54D376] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.425 INFO [54D376] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.426 INFO [54D376] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.426 INFO [54D376] Executing SQL [/* 54D376 */DECLARE n_status NUMBER := -1; BEGIN -- -- Is AMD around? -- BEGIN EXECUTE IMMEDIATE 'SELECT status FROM sys.registry$ WHERE cid=''AMD'' AND namespace=''SERVER''' INTO n_status; EXCEPTION WHEN OTHERS THEN NULL; -- AMD not in registry END; IF (n_status = -1) THEN -- AMD not in registry -- or output is XML, return success DBMS_OUTPUT.PUT_LINE('SUCCESS'); END IF; -- -- This is a manual only check -- DBMS_OUTPUT.PUT_LINE('11.2.0.4.0'); END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:36.431 INFO [B4B443] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.432 INFO [B4B443] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.432 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:36.432 INFO [B4B443] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.432 INFO [B4B443] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.432 INFO [B4B443] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.432 INFO [B4B443] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.435 INFO [079C38] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.435 INFO [079C38] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.435 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:36.435 INFO [079C38] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.435 INFO [079C38] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.435 INFO [079C38] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.435 INFO [079C38] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.440 INFO [B4B443] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.440 INFO [B4B443] Executing SQL [/* B4B443 */DECLARE rows number; BEGIN SELECT count(1) into rows FROM sys.registry$ WHERE cid='EM' AND status NOT IN (99,8); IF rows = 0 THEN -- EM not here. DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE('19#11.2.0.4.0'); END IF; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:36.440 INFO [079C38] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.441 INFO [079C38] Executing SQL [/* 079C38 */DECLARE aq_tables NUMBER := 0; BEGIN SELECT count(*) into aq_tables FROM dba_tables WHERE owner = 'SYS' AND table_name LIKE 'KUPC$DATAPUMP_QUETAB%'; IF (aq_tables > 0) THEN DBMS_OUTPUT.PUT_LINE('FAILURE'); ELSE DBMS_OUTPUT.PUT_LINE('SUCCESS'); END IF; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:36.451 INFO [54D376] End - ExecuteSql.quickSQL 2022-11-02 15:48:36.452 INFO [28FF70] End - ExecuteSql.quickSQL 2022-11-02 15:48:36.454 INFO Running fixup [AMD_EXISTS][AUTOUPDB][JAVA][Java based fixup] - FixUpTrigger.executeFixUp 2022-11-02 15:48:36.454 INFO [BC9E1D] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:36.455 INFO [BC9E1D] [select dbms_stats.get_stats_history_retention from sys.dual;] - ExecuteSql.quickSQL 2022-11-02 15:48:36.456 INFO [870676] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:36.456 INFO [870676] [@@/u01/app/oracle/product/19c/db_1/olap/admin/catnoamd.sql] - ExecuteSql.quickSQL 2022-11-02 15:48:36.457 INFO [BC9E1D] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.457 INFO [BC9E1D] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.457 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:36.457 INFO [BC9E1D] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.457 INFO [BC9E1D] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.457 INFO [BC9E1D] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.457 INFO [BC9E1D] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.460 INFO [870676] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.460 INFO [870676] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.460 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:36.460 INFO [870676] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.460 INFO [870676] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:36.460 INFO [870676] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.460 INFO [870676] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.462 INFO [870676] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.462 INFO [870676] Executing SQL [@@/u01/app/oracle/product/19c/db_1/olap/admin/catnoamd.sql] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:36.468 INFO [BC9E1D] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:36.468 INFO [BC9E1D] Executing SQL [/* BC9E1D */select dbms_stats.get_stats_history_retention from sys.dual;] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:36.478 INFO [B4B443] End - ExecuteSql.quickSQL 2022-11-02 15:48:36.482 INFO [079C38] End - ExecuteSql.quickSQL 2022-11-02 15:48:36.504 INFO [BC9E1D] End - ExecuteSql.quickSQL 2022-11-02 15:48:40.053 INFO [870676] End - ExecuteSql.quickSQL 2022-11-02 15:48:40.054 INFO Finished fixup [AMD_EXISTS][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:48:40.056 INFO Running fixup [EM_PRESENT][AUTOUPDB][JAVA][Java based fixup] - FixUpTrigger.executeFixUp 2022-11-02 15:48:40.056 INFO [F80F8A] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:40.056 INFO [F80F8A] [@@/u01/app/oracle/product/19c/db_1/rdbms/admin/emremove.sql] - ExecuteSql.quickSQL 2022-11-02 15:48:40.056 INFO [F80F8A] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.056 INFO [F80F8A] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.057 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:40.057 INFO [F80F8A] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:40.057 INFO [81A489] Starting - ExecuteSql.quickSQL 2022-11-02 15:48:40.057 INFO [F80F8A] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:40.057 INFO [81A489] [DECLARE n_count NUMBER := -1; BEGIN -- -- See if EXF and/or RUL components exist, they will be -- removed during the upgrade so let them know they can remove them -- before the upgrade. -- BEGIN EXECUTE IMMEDIATE 'SELECT count(*) FROM sys.registry$ WHERE (cid=''RUL'' OR cid=''EXF'') AND namespace=''SERVER''' INTO n_count; EXCEPTION WHEN OTHERS THEN -- error executing the sql statement RAISE_APPLICATION_ERROR(-20000, 'INTERNAL_ERROR: SQL error during exf_rul_exists_check'); END; IF (n_count = 0) THEN -- -- does not exist -- DBMS_OUTPUT.PUT_LINE('SUCCESS'); END IF; DBMS_OUTPUT.PUT_LINE('FAILURE'); END; / ] - ExecuteSql.quickSQL 2022-11-02 15:48:40.057 INFO [F80F8A] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.057 INFO [F80F8A] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.058 INFO [F80F8A] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.058 INFO [F80F8A] Executing SQL [@@/u01/app/oracle/product/19c/db_1/rdbms/admin/emremove.sql] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:40.059 INFO [81A489] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.059 INFO [81A489] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.059 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:48:40.059 INFO [81A489] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:40.059 INFO [81A489] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:48:40.059 INFO [81A489] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.060 INFO [81A489] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.064 INFO [81A489] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:48:40.064 INFO [81A489] Executing SQL [/* 81A489 */DECLARE n_count NUMBER := -1; BEGIN -- -- See if EXF and/or RUL components exist, they will be -- removed during the upgrade so let them know they can remove them -- before the upgrade. -- BEGIN EXECUTE IMMEDIATE 'SELECT count(*) FROM sys.registry$ WHERE (cid=''RUL'' OR cid=''EXF'') AND namespace=''SERVER''' INTO n_count; EXCEPTION WHEN OTHERS THEN -- error executing the sql statement RAISE_APPLICATION_ERROR(-20000, 'INTERNAL_ERROR: SQL error during exf_rul_exists_check'); END; IF (n_count = 0) THEN -- -- does not exist -- DBMS_OUTPUT.PUT_LINE('SUCCESS'); END IF; DBMS_OUTPUT.PUT_LINE('FAILURE'); END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:48:40.096 INFO [81A489] End - ExecuteSql.quickSQL 2022-11-02 15:49:03.716 INFO [F80F8A] End - ExecuteSql.quickSQL 2022-11-02 15:49:03.722 INFO Finished fixup [EM_PRESENT][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:49:03.726 INFO Running fixup [EXISTENCE_OF_DATAPUMP_AQ_TABLES][AUTOUPDB][PLSQL][declare v_drop_cnt NUMBER := 0; v_error_cnt NUMBER := 0; v_sqlerrm VARCHAR2(200); v_qtname VARCHAR2(128); CURSOR c1 IS SELECT table_name FROM dba_tables WHERE owner = 'SYS' AND table_name LIKE 'KUPC$DATAPUMP_QUETAB%'; BEGIN BEGIN execute immediate 'alter session set "_ORACLE_SCRIPT" = true'; EXCEPTION WHEN OTHERS THEN null; END; OPEN c1; LOOP FETCH c1 INTO v_qtname; EXIT WHEN c1%NOTFOUND; -- Exit when no more queue table names -- -- For every Data Pump AQ table found, try to drop it. -- BEGIN dbms_aqadm.drop_queue_table(queue_table => 'SYS.' || v_qtname, force => TRUE); v_drop_cnt := v_drop_cnt + 1; -- Success EXCEPTION WHEN OTHERS THEN IF SQLCODE != -24002 THEN -- Ignore QUERY_TABLE <name> does not exist v_error_cnt := v_error_cnt + 1; -- Failure -- Remember the last unexpected error. Make sure it fits in variable. v_sqlerrm := SUBSTR(SQLERRM, 1, 200); END IF; END; END LOOP; CLOSE c1; BEGIN execute immediate 'alter session set "_ORACLE_SCRIPT" = false'; EXCEPTION WHEN OTHERS THEN null; END; END; / ] - FixUpTrigger.executeFixUp 2022-11-02 15:49:03.727 INFO [193D03] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:03.727 INFO [193D03] [declare v_drop_cnt NUMBER := 0; v_error_cnt NUMBER := 0; v_sqlerrm VARCHAR2(200); v_qtname VARCHAR2(128); CURSOR c1 IS SELECT table_name FROM dba_tables WHERE owner = 'SYS' AND table_name LIKE 'KUPC$DATAPUMP_QUETAB%'; BEGIN BEGIN execute immediate 'alter session set "_ORACLE_SCRIPT" = true'; EXCEPTION WHEN OTHERS THEN null; END; OPEN c1; LOOP FETCH c1 INTO v_qtname; EXIT WHEN c1%NOTFOUND; -- Exit when no more queue table names -- -- For every Data Pump AQ table found, try to drop it. -- BEGIN dbms_aqadm.drop_queue_table(queue_table => 'SYS.' || v_qtname, force => TRUE); v_drop_cnt := v_drop_cnt + 1; -- Success EXCEPTION WHEN OTHERS THEN IF SQLCODE != -24002 THEN -- Ignore QUERY_TABLE <name> does not exist v_error_cnt := v_error_cnt + 1; -- Failure -- Remember the last unexpected error. Make sure it fits in variable. v_sqlerrm := SUBSTR(SQLERRM, 1, 200); END IF; END; END LOOP; CLOSE c1; BEGIN execute immediate 'alter session set "_ORACLE_SCRIPT" = false'; EXCEPTION WHEN OTHERS THEN null; END; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:49:03.727 INFO [D79110] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:03.728 INFO [D79110] [DECLARE TRG_EXISTS NUMBER := 0; TRGADM_QUERY VARCHAR2(300) :=''; BEGIN TRGADM_QUERY:= 'SELECT COUNT(OWNER) TRG_EXISTS FROM SYS.DBA_TRIGGERS WHERE RTRIM(BASE_OBJECT_TYPE)=''DATABASE'' AND OWNER NOT IN (SELECT GRANTEE FROM SYS.DBA_SYS_PRIVS WHERE PRIVILEGE=''ADMINISTER DATABASE TRIGGER'')'; EXECUTE IMMEDIATE TRGADM_QUERY INTO TRG_EXISTS; IF TRG_EXISTS = 0 THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE('FAILURE'); END IF; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:49:03.728 INFO [193D03] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.728 INFO [193D03] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.728 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:03.728 INFO [193D03] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:03.728 INFO [D79110] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.728 INFO [193D03] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:03.728 INFO [D79110] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.728 INFO [193D03] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.728 INFO [193D03] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.729 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:03.729 INFO [D79110] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:03.729 INFO [D79110] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:03.729 INFO [D79110] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.729 INFO [D79110] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.729 INFO [D79110] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.729 INFO [D79110] Executing SQL [/* D79110 */DECLARE TRG_EXISTS NUMBER := 0; TRGADM_QUERY VARCHAR2(300) :=''; BEGIN TRGADM_QUERY:= 'SELECT COUNT(OWNER) TRG_EXISTS FROM SYS.DBA_TRIGGERS WHERE RTRIM(BASE_OBJECT_TYPE)=''DATABASE'' AND OWNER NOT IN (SELECT GRANTEE FROM SYS.DBA_SYS_PRIVS WHERE PRIVILEGE=''ADMINISTER DATABASE TRIGGER'')'; EXECUTE IMMEDIATE TRGADM_QUERY INTO TRG_EXISTS; IF TRG_EXISTS = 0 THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE('FAILURE'); END IF; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:03.731 INFO [193D03] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.731 INFO [193D03] Executing SQL [/* 193D03 */declare v_drop_cnt NUMBER := 0; v_error_cnt NUMBER := 0; v_sqlerrm VARCHAR2(200); v_qtname VARCHAR2(128); CURSOR c1 IS SELECT table_name FROM dba_tables WHERE owner = 'SYS' AND table_name LIKE 'KUPC$DATAPUMP_QUETAB%'; BEGIN BEGIN execute immediate 'alter session set "_ORACLE_SCRIPT" = true'; EXCEPTION WHEN OTHERS THEN null; END; OPEN c1; LOOP FETCH c1 INTO v_qtname; EXIT WHEN c1%NOTFOUND; -- Exit when no more queue table names -- -- For every Data Pump AQ table found, try to drop it. -- BEGIN dbms_aqadm.drop_queue_table(queue_table => 'SYS.' || v_qtname, force => TRUE); v_drop_cnt := v_drop_cnt + 1; -- Success EXCEPTION WHEN OTHERS THEN IF SQLCODE != -24002 THEN -- Ignore QUERY_TABLE <name> does not exist v_error_cnt := v_error_cnt + 1; -- Failure -- Remember the last unexpected error. Make sure it fits in variable. v_sqlerrm := SUBSTR(SQLERRM, 1, 200); END IF; END; END LOOP; CLOSE c1; BEGIN execute immediate 'alter session set "_ORACLE_SCRIPT" = false'; EXCEPTION WHEN OTHERS THEN null; END; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:03.816 INFO [D79110] End - ExecuteSql.quickSQL 2022-11-02 15:49:03.817 INFO [26D6D3] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:03.817 INFO [26D6D3] [DECLARE fixed_objects_stats_recent NUMBER := 0; has_stats_cnt number := 0; -- # of fixed object tables that have stats doc_name VARCHAR2(80) := ''; BEGIN select COUNT(operation) into fixed_objects_stats_recent from SYS.DBA_OPTSTAT_OPERATIONS where operation ='gather_fixed_objects_stats' and start_time > systimestamp - INTERVAL '8' DAY; -- If recent enough we are good IF (fixed_objects_stats_recent != 0) THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); RETURN; END IF; -- find # of fixed object tables that have had stats collected execute immediate 'select count(*) from sys.dba_tab_statistics where owner = ''SYS'' and table_name like ''X$%'' and last_analyzed is not null' into has_stats_cnt; -- if none of the fixed obj tables have had stats collected -- then gather fixed objects stats -- else do nothing if has_stats_cnt > 0 then DBMS_OUTPUT.PUT_LINE('SUCCESS'); else doc_name := '11.2.0.4'; IF ('11.2' = '11.2') THEN doc_name := doc_name || ' Oracle Database Performance Tuning Guide'; ELSIF ('11.2' = '12.1' OR '11.2.0.4' = '12.2.0.1') THEN doc_name := doc_name || ' Oracle Database SQL Tuning Guide'; ELSE doc_name := doc_name || ' Oracle Database Upgrade Guide'; END IF; DBMS_OUTPUT.PUT_LINE(doc_name); end if; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:49:03.817 INFO [26D6D3] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.817 INFO [26D6D3] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.818 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:03.818 INFO [26D6D3] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:03.818 INFO [26D6D3] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:03.818 INFO [26D6D3] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.818 INFO [26D6D3] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.819 INFO [26D6D3] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:03.819 INFO [26D6D3] Executing SQL [/* 26D6D3 */DECLARE fixed_objects_stats_recent NUMBER := 0; has_stats_cnt number := 0; -- # of fixed object tables that have stats doc_name VARCHAR2(80) := ''; BEGIN select COUNT(operation) into fixed_objects_stats_recent from SYS.DBA_OPTSTAT_OPERATIONS where operation ='gather_fixed_objects_stats' and start_time > systimestamp - INTERVAL '8' DAY; -- If recent enough we are good IF (fixed_objects_stats_recent != 0) THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); RETURN; END IF; -- find # of fixed object tables that have had stats collected execute immediate 'select count(*) from sys.dba_tab_statistics where owner = ''SYS'' and table_name like ''X$%'' and last_analyzed is not null' into has_stats_cnt; -- if none of the fixed obj tables have had stats collected -- then gather fixed objects stats -- else do nothing if has_stats_cnt > 0 then DBMS_OUTPUT.PUT_LINE('SUCCESS'); else doc_name := '11.2.0.4'; IF ('11.2' = '11.2') THEN doc_name := doc_name || ' Oracle Database Performance Tuning Guide'; ELSIF ('11.2' = '12.1' OR '11.2.0.4' = '12.2.0.1') THEN doc_name := doc_name || ' Oracle Database SQL Tuning Guide'; ELSE doc_name := doc_name || ' Oracle Database Upgrade Guide'; END IF; DBMS_OUTPUT.PUT_LINE(doc_name); end if; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:03.874 INFO [26D6D3] End - ExecuteSql.quickSQL 2022-11-02 15:49:04.388 INFO [193D03] End - ExecuteSql.quickSQL 2022-11-02 15:49:04.388 INFO # EXISTENCE_OF_DATAPUMP_AQ_TABLES - Check.runFix 2022-11-02 15:49:04.388 INFO Finished fixup [EXISTENCE_OF_DATAPUMP_AQ_TABLES][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:49:04.389 INFO [DBC2E3] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:04.389 INFO [DBC2E3] [select dbms_stats.get_stats_history_retention from sys.dual;] - ExecuteSql.quickSQL 2022-11-02 15:49:04.390 INFO [DBC2E3] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.390 INFO [DBC2E3] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.390 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:04.390 INFO [DBC2E3] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:04.390 INFO [DBC2E3] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:04.390 INFO [DBC2E3] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.390 INFO [DBC2E3] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.391 INFO [DBC2E3] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.391 INFO [DBC2E3] Executing SQL [/* DBC2E3 */select dbms_stats.get_stats_history_retention from sys.dual;] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:04.431 INFO [DBC2E3] End - ExecuteSql.quickSQL 2022-11-02 15:49:04.432 INFO Running fixup [DICTIONARY_STATS][AUTOUPDB][PLSQL][DECLARE BEGIN SYS.DBMS_STATS.GATHER_INDEX_STATS('SYS', 'I_OBJ#'); SYS.DBMS_STATS.GATHER_SCHEMA_STATS('SYS'); SYS.DBMS_STATS.GATHER_SCHEMA_STATS('SYSTEM'); END; / ] - FixUpTrigger.executeFixUp 2022-11-02 15:49:04.432 INFO [9C0536] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:04.432 INFO [9C0536] [select dbms_stats.get_stats_history_retention from sys.dual;] - ExecuteSql.quickSQL 2022-11-02 15:49:04.432 INFO [9C0536] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.432 INFO [9C0536] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.438 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:04.438 INFO [9C0536] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:04.438 INFO [9C0536] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:04.438 INFO [9C0536] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.438 INFO [9C0536] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.444 INFO [9C0536] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.444 INFO [9C0536] Executing SQL [/* 9C0536 */select dbms_stats.get_stats_history_retention from sys.dual;] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:04.466 INFO [9C0536] End - ExecuteSql.quickSQL 2022-11-02 15:49:04.467 INFO [A69D4A] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:04.467 INFO [A69D4A] [DECLARE BEGIN SYS.DBMS_STATS.GATHER_INDEX_STATS('SYS', 'I_OBJ#'); SYS.DBMS_STATS.GATHER_SCHEMA_STATS('SYS'); SYS.DBMS_STATS.GATHER_SCHEMA_STATS('SYSTEM'); END; / ] - ExecuteSql.quickSQL 2022-11-02 15:49:04.467 INFO [A69D4A] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.467 INFO [A69D4A] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.467 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:04.467 INFO [A69D4A] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:04.467 INFO [A69D4A] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:04.467 INFO [A69D4A] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.467 INFO [A69D4A] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.467 INFO [A69D4A] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:04.467 INFO [A69D4A] Executing SQL [/* A69D4A */DECLARE BEGIN SYS.DBMS_STATS.GATHER_INDEX_STATS('SYS', 'I_OBJ#'); SYS.DBMS_STATS.GATHER_SCHEMA_STATS('SYS'); SYS.DBMS_STATS.GATHER_SCHEMA_STATS('SYSTEM'); END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:17.483 INFO [A69D4A] End - ExecuteSql.quickSQL 2022-11-02 15:49:17.483 INFO # DICTIONARY_STATS - Check.runFix 2022-11-02 15:49:17.483 INFO Finished fixup [DICTIONARY_STATS][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:49:17.484 INFO Running fixup [EXF_RUL_EXISTS][AUTOUPDB][JAVA][Java based fixup] - FixUpTrigger.executeFixUp 2022-11-02 15:49:17.484 INFO [DF078C] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:17.484 INFO [DF078C] [@@/u01/app/oracle/product/19c/db_1/rdbms/admin/catnorul.sql @@/u01/app/oracle/product/19c/db_1/rdbms/admin/catnoexf.sql] - ExecuteSql.quickSQL 2022-11-02 15:49:17.484 INFO [DF078C] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:17.484 INFO [DF078C] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:17.485 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:17.485 INFO [DF078C] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:17.485 INFO [DF078C] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:17.485 INFO [DF078C] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:17.485 INFO [DF078C] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:17.485 INFO [DF078C] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:17.485 INFO [DF078C] Executing SQL [@@/u01/app/oracle/product/19c/db_1/rdbms/admin/catnorul.sql @@/u01/app/oracle/product/19c/db_1/rdbms/admin/catnoexf.sql] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:21.445 INFO [DF078C] End - ExecuteSql.quickSQL 2022-11-02 15:49:21.445 INFO Finished fixup [EXF_RUL_EXISTS][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:49:21.446 INFO Running fixup [PRE_FIXED_OBJECTS][AUTOUPDB][PLSQL][DECLARE BEGIN SYS.DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; END; / ] - FixUpTrigger.executeFixUp 2022-11-02 15:49:21.446 INFO [5887D2] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:21.446 INFO [5887D2] [DECLARE BEGIN SYS.DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:49:21.446 INFO [5887D2] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:21.446 INFO [5887D2] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:21.446 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:21.446 INFO [5887D2] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:21.446 INFO [5887D2] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:21.446 INFO [5887D2] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:21.446 INFO [5887D2] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:21.447 INFO [5887D2] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:21.447 INFO [5887D2] Executing SQL [/* 5887D2 */DECLARE BEGIN SYS.DBMS_STATS.GATHER_FIXED_OBJECTS_STATS; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:37.892 INFO [5887D2] End - ExecuteSql.quickSQL 2022-11-02 15:49:37.892 INFO # PRE_FIXED_OBJECTS - Check.runFix 2022-11-02 15:49:37.895 INFO Finished fixup [PRE_FIXED_OBJECTS][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:49:37.901 INFO Running fixup [PARAMETER_MIN_VAL][AUTOUPDB][JAVA][Java based fixup] - FixUpTrigger.executeFixUp 2022-11-02 15:49:37.906 INFO Finished fixup [PARAMETER_MIN_VAL][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:49:37.909 INFO Running fixup [MANDATORY_UPGRADE_CHANGES][AUTOUPDB][JAVA][Java based fixup] - FixUpTrigger.executeFixUp 2022-11-02 15:49:37.914 INFO Finished fixup [MANDATORY_UPGRADE_CHANGES][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp 2022-11-02 15:49:37.917 INFO [6A99CE] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:37.917 INFO [6A99CE] [DECLARE t_null CHAR(1); invalid_objs BOOLEAN := FALSE; t_invalid_objs NUMBER; BEGIN -- -- Check for INVALID objects -- For 'inplace' upgrades check for invalid objects that can be excluded -- as they may have changed between releases and don't need to be reported. -- -- For all other types of upgrades, use the simple query below to -- eliminate running the intricate queries except when they are needed. -- BEGIN IF NOT FALSE THEN EXECUTE IMMEDIATE 'SELECT NULL FROM sys.dba_objects WHERE status = ''INVALID'' AND object_name NOT LIKE ''BIN$%'' AND rownum <=1' INTO t_null; -- For patch release - update the objects in the query below ELSE -- V_$ROLLNAME special cased because of references to x$ tables EXECUTE IMMEDIATE 'SELECT NULL FROM SYS.DBA_OBJECTS WHERE status = ''INVALID'' AND object_name NOT LIKE ''BIN$%'' AND rownum <=1 AND object_name NOT IN (SELECT name FROM SYS.dba_dependencies START WITH referenced_name IN ( ''V$LOGMNR_SESSION'', ''V$ACTIVE_SESSION_HISTORY'', ''V$BUFFERED_SUBSCRIBERS'', ''GV$FLASH_RECOVERY_AREA_USAGE'', ''GV$ACTIVE_SESSION_HISTORY'', ''GV$BUFFERED_SUBSCRIBERS'', ''V$RSRC_PLAN'', ''V$SUBSCR_REGISTRATION_STATS'', ''GV$STREAMS_APPLY_READER'',''GV$ARCHIVE_DEST'', ''GV$LOCK'',''DBMS_STATS_INTERNAL'',''V$STREAMS_MESSAGE_TRACKING'', ''GV$SQL_SHARED_CURSOR'',''V$RMAN_COMPRESSION_ALGORITHM'', ''V$RSRC_CONS_GROUP_HISTORY'',''V$PERSISTENT_SUBSCRIBERS'',''V$RMAN_STATUS'', ''GV$RSRC_CONSUMER_GROUP'',''V$ARCHIVE_DEST'',''GV$RSRCMGRMETRIC'', ''GV$RSRCMGRMETRIC_HISTORY'',''V$PERSISTENT_QUEUES'',''GV$CPOOL_CONN_INFO'', ''GV$RMAN_COMPRESSION_ALGORITHM'',''DBA_BLOCKERS'',''V$STREAMS_TRANSACTION'', ''V$STREAMS_APPLY_READER'',''GV$SGA_DYNAMIC_FREE_MEMORY'',''GV$BUFFERED_QUEUES'', ''GV$RSRC_PLAN_HISTORY'',''GV$ENCRYPTED_TABLESPACES'',''V$ENCRYPTED_TABLESPACES'', ''GV$RSRC_CONS_GROUP_HISTORY'',''GV$RSRC_PLAN'', ''GV$RSRC_SESSION_INFO'',''V$RSRCMGRMETRIC'',''V$STREAMS_CAPTURE'', ''V$RSRCMGRMETRIC_HISTORY'',''GV$STREAMS_TRANSACTION'',''DBMS_LOGREP_UTIL'', ''V$RSRC_SESSION_INFO'',''GV$STREAMS_CAPTURE'',''V$RSRC_PLAN_HISTORY'', ''GV$FLASHBACK_DATABASE_LOGFILE'',''V$BUFFERED_QUEUES'', ''GV$PERSISTENT_SUBSCRIBERS'',''GV$FILESTAT'',''GV$STREAMS_MESSAGE_TRACKING'', ''V$RSRC_CONSUMER_GROUP'',''V$CPOOL_CONN_INFO'',''DBA_DML_LOCKS'', ''V$FLASHBACK_DATABASE_LOGFILE'',''GV$HM_RECOMMENDATION'', ''V$SQL_SHARED_CURSOR'',''GV$PERSISTENT_QUEUES'',''GV$FILE_HISTOGRAM'', ''DBA_WAITERS'',''GV$SUBSCR_REGISTRATION_STATS'') AND referenced_type in (''VIEW'',''PACKAGE'') OR name = ''V_$ROLLNAME'' CONNECT BY PRIOR name = referenced_name and PRIOR type = referenced_type)' INTO t_null; END IF; invalid_objs := TRUE; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; -- look for invalid objects EXECUTE IMMEDIATE 'SELECT count(*) FROM sys.dba_objects WHERE status !=''VALID'' ' INTO t_invalid_objs; -- -- Now get back to reporting the issue if we need to. -- IF invalid_objs = FALSE THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE('11.2.0.4.0#'||t_invalid_objs); END IF; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:49:37.917 INFO [6A99CE] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.917 INFO [6A99CE] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.918 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:37.918 INFO [6A99CE] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:37.918 INFO [6A99CE] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:37.918 INFO [6A99CE] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.918 INFO [6A99CE] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.919 INFO [6A99CE] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.919 INFO [6A99CE] Executing SQL [/* 6A99CE */DECLARE t_null CHAR(1); invalid_objs BOOLEAN := FALSE; t_invalid_objs NUMBER; BEGIN -- -- Check for INVALID objects -- For 'inplace' upgrades check for invalid objects that can be excluded -- as they may have changed between releases and don't need to be reported. -- -- For all other types of upgrades, use the simple query below to -- eliminate running the intricate queries except when they are needed. -- BEGIN IF NOT FALSE THEN EXECUTE IMMEDIATE 'SELECT NULL FROM sys.dba_objects WHERE status = ''INVALID'' AND object_name NOT LIKE ''BIN$%'' AND rownum <=1' INTO t_null; -- For patch release - update the objects in the query below ELSE -- V_$ROLLNAME special cased because of references to x$ tables EXECUTE IMMEDIATE 'SELECT NULL FROM SYS.DBA_OBJECTS WHERE status = ''INVALID'' AND object_name NOT LIKE ''BIN$%'' AND rownum <=1 AND object_name NOT IN (SELECT name FROM SYS.dba_dependencies START WITH referenced_name IN ( ''V$LOGMNR_SESSION'', ''V$ACTIVE_SESSION_HISTORY'', ''V$BUFFERED_SUBSCRIBERS'', ''GV$FLASH_RECOVERY_AREA_USAGE'', ''GV$ACTIVE_SESSION_HISTORY'', ''GV$BUFFERED_SUBSCRIBERS'', ''V$RSRC_PLAN'', ''V$SUBSCR_REGISTRATION_STATS'', ''GV$STREAMS_APPLY_READER'',''GV$ARCHIVE_DEST'', ''GV$LOCK'',''DBMS_STATS_INTERNAL'',''V$STREAMS_MESSAGE_TRACKING'', ''GV$SQL_SHARED_CURSOR'',''V$RMAN_COMPRESSION_ALGORITHM'', ''V$RSRC_CONS_GROUP_HISTORY'',''V$PERSISTENT_SUBSCRIBERS'',''V$RMAN_STATUS'', ''GV$RSRC_CONSUMER_GROUP'',''V$ARCHIVE_DEST'',''GV$RSRCMGRMETRIC'', ''GV$RSRCMGRMETRIC_HISTORY'',''V$PERSISTENT_QUEUES'',''GV$CPOOL_CONN_INFO'', ''GV$RMAN_COMPRESSION_ALGORITHM'',''DBA_BLOCKERS'',''V$STREAMS_TRANSACTION'', ''V$STREAMS_APPLY_READER'',''GV$SGA_DYNAMIC_FREE_MEMORY'',''GV$BUFFERED_QUEUES'', ''GV$RSRC_PLAN_HISTORY'',''GV$ENCRYPTED_TABLESPACES'',''V$ENCRYPTED_TABLESPACES'', ''GV$RSRC_CONS_GROUP_HISTORY'',''GV$RSRC_PLAN'', ''GV$RSRC_SESSION_INFO'',''V$RSRCMGRMETRIC'',''V$STREAMS_CAPTURE'', ''V$RSRCMGRMETRIC_HISTORY'',''GV$STREAMS_TRANSACTION'',''DBMS_LOGREP_UTIL'', ''V$RSRC_SESSION_INFO'',''GV$STREAMS_CAPTURE'',''V$RSRC_PLAN_HISTORY'', ''GV$FLASHBACK_DATABASE_LOGFILE'',''V$BUFFERED_QUEUES'', ''GV$PERSISTENT_SUBSCRIBERS'',''GV$FILESTAT'',''GV$STREAMS_MESSAGE_TRACKING'', ''V$RSRC_CONSUMER_GROUP'',''V$CPOOL_CONN_INFO'',''DBA_DML_LOCKS'', ''V$FLASHBACK_DATABASE_LOGFILE'',''GV$HM_RECOMMENDATION'', ''V$SQL_SHARED_CURSOR'',''GV$PERSISTENT_QUEUES'',''GV$FILE_HISTOGRAM'', ''DBA_WAITERS'',''GV$SUBSCR_REGISTRATION_STATS'') AND referenced_type in (''VIEW'',''PACKAGE'') OR name = ''V_$ROLLNAME'' CONNECT BY PRIOR name = referenced_name and PRIOR type = referenced_type)' INTO t_null; END IF; invalid_objs := TRUE; EXCEPTION WHEN NO_DATA_FOUND THEN NULL; END; -- look for invalid objects EXECUTE IMMEDIATE 'SELECT count(*) FROM sys.dba_objects WHERE status !=''VALID'' ' INTO t_invalid_objs; -- -- Now get back to reporting the issue if we need to. -- IF invalid_objs = FALSE THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE('11.2.0.4.0#'||t_invalid_objs); END IF; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:37.979 INFO [6A99CE] End - ExecuteSql.quickSQL 2022-11-02 15:49:37.980 INFO [4BFAE0] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:37.981 INFO [4BFAE0] [SELECT LOG_MODE from sys.v$database;] - ExecuteSql.quickSQL 2022-11-02 15:49:37.981 INFO [4BFAE0] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.981 INFO [4BFAE0] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.981 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:37.981 INFO [4BFAE0] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:37.981 INFO [4BFAE0] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:37.981 INFO [4BFAE0] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.981 INFO [4BFAE0] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.982 INFO [4BFAE0] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:37.982 INFO [4BFAE0] Executing SQL [/* 4BFAE0 */SELECT LOG_MODE from sys.v$database;] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:38.011 INFO [4BFAE0] End - ExecuteSql.quickSQL 2022-11-02 15:49:38.011 INFO [D9A7E7] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:38.012 INFO [D9A7E7] [SELECT count(*) FROM sys.v$database WHERE flashback_on = 'NO';] - ExecuteSql.quickSQL 2022-11-02 15:49:38.014 INFO [D9A7E7] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.014 INFO [D9A7E7] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.014 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:38.014 INFO [D9A7E7] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:38.014 INFO [D9A7E7] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:38.014 INFO [D9A7E7] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.014 INFO [D9A7E7] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.014 INFO [D9A7E7] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.014 INFO [D9A7E7] Executing SQL [/* D9A7E7 */SELECT count(*) FROM sys.v$database WHERE flashback_on = 'NO';] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:38.037 INFO [D9A7E7] End - ExecuteSql.quickSQL 2022-11-02 15:49:38.039 INFO [975E6F] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:38.039 INFO [975E6F] [DECLARE obj_count NUMBER; BEGIN EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM sys.recyclebin$' INTO obj_count; IF (obj_count = 0) THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE(obj_count); END IF; END; / ] - ExecuteSql.quickSQL 2022-11-02 15:49:38.039 INFO [975E6F] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.039 INFO [975E6F] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.040 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:38.040 INFO [975E6F] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:38.040 INFO [975E6F] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:38.040 INFO [975E6F] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.040 INFO [975E6F] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.040 INFO [975E6F] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.040 INFO [975E6F] Executing SQL [/* 975E6F */DECLARE obj_count NUMBER; BEGIN EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM sys.recyclebin$' INTO obj_count; IF (obj_count = 0) THEN DBMS_OUTPUT.PUT_LINE('SUCCESS'); ELSE DBMS_OUTPUT.PUT_LINE(obj_count); END IF; END; / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:38.065 INFO [975E6F] End - ExecuteSql.quickSQL 2022-11-02 15:49:38.066 INFO Running fixup [PURGE_RECYCLEBIN][AUTOUPDB][PLSQL][PURGE DBA_RECYCLEBIN / ] - FixUpTrigger.executeFixUp 2022-11-02 15:49:38.066 INFO [711EF4] Starting - ExecuteSql.quickSQL 2022-11-02 15:49:38.066 INFO [711EF4] [PURGE DBA_RECYCLEBIN / ] - ExecuteSql.quickSQL 2022-11-02 15:49:38.066 INFO [711EF4] Begin [/u01/app/oracle/product/11g/db_1/bin/sqlplus, -silent, /nolog] - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.066 INFO [711EF4] Begin Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.066 INFO [(SQLPATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_SID=AUTOUPDB) (ORACLE_UNQNAME=AUTOUPDB) (ORACLE_PATH=/home/oracle/upg_logs/AUTOUPDB/AUTOUPDB:/home/oracle/upg_logs/cfgtoollogs/upgrade/auto/sql) (ORACLE_BASE=/u01/app/oracle) (TWO_TASK=) (ORACLE_HOME=/u01/app/oracle/product/11g/db_1) (TNS_ADMIN=/u01/app/oracle/product/11g/db_1/network/admin) (LANG=en_US.UTF-8) (LDAP_ADMIN=) (PERL5LIB=)] - ExecutionEnv.addEnvToProcess 2022-11-02 15:49:38.066 INFO [711EF4] Starting - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:38.066 INFO [711EF4] Finished - ExecuteProcess.setLibsForSqlplus 2022-11-02 15:49:38.066 INFO [711EF4] End Setting Oracle Environment - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.066 INFO [711EF4] Begin Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.067 INFO [711EF4] End Creating process - ExecuteProcess.startSqlPlusProcess 2022-11-02 15:49:38.067 INFO [711EF4] Executing SQL [/* 711EF4 */PURGE DBA_RECYCLEBIN / ] in [AUTOUPDB, container:null] - SQLClient.run 2022-11-02 15:49:38.964 INFO [711EF4] End - ExecuteSql.quickSQL 2022-11-02 15:49:38.964 INFO # PURGE_RECYCLEBIN - Check.runFix 2022-11-02 15:49:38.964 INFO Finished fixup [PURGE_RECYCLEBIN][AUTOUPDB][SUCCESSFUL] - FixUpTrigger.executeFixUp
3. 업그레이드
target 버전에서 실행
$ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.txt -mode deploy
[oracle@AUTOUPDB ~]$ $ORACLE_HOME/jdk/bin/java -jar $ORACLE_HOME/rdbms/admin/autoupgrade.jar -config config.txt -mode deploy AutoUpgrade 22.5.221011 launched with default internal options 구성 파일 처리 중... +--------------------------------+ | 자동 업그레이드 실행 시작 중 | +--------------------------------+ 1 Non-CDB(s) will be processed 콘솔 명령을 나열하려면 'help'을(를) 입력하십시오. upg> lsj -p +-----+--------+-----+---------+-------+----------+-------+-------+ |작업 번호| DB_NAME|STAGE|OPERATION| STATUS|START_TIME|UPDATED|MESSAGE| +-----+--------+-----+---------+-------+----------+-------+-------+ | 102|AUTOUPDB| GRP|EXECUTING|RUNNING| 15:52:54| 1s ago| | +-----+--------+-----+---------+-------+----------+-------+-------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+-------+----------------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+-------+----------------------------+ | 102|AUTOUPDB|PRECHECKS|EXECUTING|RUNNING| 15:52:54| 1s ago|Loading database information| +-----+--------+---------+---------+-------+----------+-------+----------------------------+ 총 작업 1 upg> / +-----+--------+-----+---------+-------+----------+-------+---------+ |작업 번호| DB_NAME|STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+-----+---------+-------+----------+-------+---------+ | 102|AUTOUPDB|DRAIN|EXECUTING|RUNNING| 15:52:54| 5s ago|데이터베이스 종료| +-----+--------+-----+---------+-------+----------+-------+---------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+-------+-------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED|MESSAGE| +-----+--------+---------+---------+-------+----------+-------+-------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54| 7s ago|Running| +-----+--------+---------+---------+-------+----------+-------+-------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+--------+-----------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME| UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+--------+-----------------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54|119s ago|0%을(를) 업그레이드했습니다.| +-----+--------+---------+---------+-------+----------+--------+-----------------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+--------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME| UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+--------+------------------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54|118s ago|14%을(를) 업그레이드했습니다.| +-----+--------+---------+---------+-------+----------+--------+------------------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+--------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME| UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+--------+------------------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54|115s ago|23%을(를) 업그레이드했습니다.| +-----+--------+---------+---------+-------+----------+--------+------------------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+--------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME| UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+--------+------------------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54|118s ago|49%을(를) 업그레이드했습니다.| +-----+--------+---------+---------+-------+----------+--------+------------------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+--------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME| UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+--------+------------------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54|118s ago|65%을(를) 업그레이드했습니다.| +-----+--------+---------+---------+-------+----------+--------+------------------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+--------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME| UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+--------+------------------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54|119s ago|91%을(를) 업그레이드했습니다.| +-----+--------+---------+---------+-------+----------+--------+------------------+ 총 작업 1 upg> / +-----+--------+---------+---------+-------+----------+-------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+---------+---------+-------+----------+-------+------------------+ | 102|AUTOUPDB|DBUPGRADE|EXECUTING|RUNNING| 15:52:54| 1s ago|97%을(를) 업그레이드했습니다.| +-----+--------+---------+---------+-------+----------+-------+------------------+ 총 작업 1 upg> / +-----+--------+--------+---------+-------+----------+-------+-------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+--------+---------+-------+----------+-------+-------------------+ | 102|AUTOUPDB|DISPATCH|EXECUTING|RUNNING| 15:52:54|12s ago|Restarting Database| +-----+--------+--------+---------+-------+----------+-------+-------------------+ 총 작업 1 upg> / +-----+--------+----------+---------+-------+----------+--------+-------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME| UPDATED|MESSAGE| +-----+--------+----------+---------+-------+----------+--------+-------+ | 102|AUTOUPDB|POSTFIXUPS|EXECUTING|RUNNING| 15:52:54|118s ago| | +-----+--------+----------+---------+-------+----------+--------+-------+ 총 작업 1 upg> / +-----+--------+----------+---------+-------+----------+-------+------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+----------+---------+-------+----------+-------+------------------+ | 102|AUTOUPDB|POSTFIXUPS|EXECUTING|RUNNING| 15:52:54| 0s ago|Refreshing DB info| +-----+--------+----------+---------+-------+----------+-------+------------------+ 총 작업 1 upg> / +-----+--------+-----------+---------+-------+----------+-------+---------------------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+-----------+---------+-------+----------+-------+---------------------+ | 102|AUTOUPDB|POSTUPGRADE|EXECUTING|RUNNING| 15:52:54|52s ago|Creating final SPFILE| +-----+--------+-----------+---------+-------+----------+-------+---------------------+ 총 작업 1 upg> / +-----+--------+-----------+---------+-------+----------+-------+----------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED| MESSAGE| +-----+--------+-----------+---------+-------+----------+-------+----------+ | 102|AUTOUPDB|POSTUPGRADE|EXECUTING|RUNNING| 15:52:54| 9s ago|Restarting| +-----+--------+-----------+---------+-------+----------+-------+----------+ 총 작업 1 upg> / +-----+--------+---------+---------+--------+----------+-------+-------+ |작업 번호| DB_NAME| STAGE|OPERATION| STATUS|START_TIME|UPDATED|MESSAGE| +-----+--------+---------+---------+--------+----------+-------+-------+ | 102|AUTOUPDB|COMPLETED| STOPPED|FINISHED| 15:52:54| | | +-----+--------+---------+---------+--------+----------+-------+-------+ 총 작업 1 upg> Job 102 completed ------------------- Final Summary -------------------- Number of databases [ 1 ] Jobs finished [1] Jobs failed [0] Jobs restored [0] Jobs pending [0] ---- 더 이상 필요하지 않다고 생각되면 편리하게 GRP를 삭제하십시오. ---- AUTOUPDB에서 GRP 삭제: 복원 지점 AUTOUPGRADE_9212_AUTOUPDB112040 삭제 Please check the summary report at: /home/oracle/upg_logs/cfgtoollogs/upgrade/auto/status/status.html /home/oracle/upg_logs/cfgtoollogs/upgrade/auto/status/status.log
[oracle@AUTOUPDB ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Wed Nov 2 16:16:36 2022 Version 19.17.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.17.0.0.0 SQL> col instance_name form a20 SQL> col version form a20 SQL> col status form a10 SQL> select instance_name, version, status from v$instance; INSTANCE_NAME VERSION STATUS -------------------- -------------------- ---------- AUTOUPDB 19.0.0.0.0 OPEN SQL> set lines 200 SQL> set pages 100 SQL> col comp_id form a10 SQL> col comp_name form a50 SQL> col version_full form a20 SQL> col status form a20 SQL> select COMP_ID, COMP_NAME, VERSION_FULL, STATUS from DBA_REGISTRY; COMP_ID COMP_NAME VERSION_FULL STATUS ---------- -------------------------------------------------- -------------------- -------------------- CATALOG Oracle Database Catalog Views 19.17.0.0.0 VALID CATPROC Oracle Database Packages and Types 19.17.0.0.0 INVALID JAVAVM JServer JAVA Virtual Machine 19.17.0.0.0 VALID XML Oracle XDK 19.17.0.0.0 VALID CATJAVA Oracle Database Java Packages 19.17.0.0.0 VALID RAC Oracle Real Application Clusters 19.17.0.0.0 OPTION OFF APS OLAP Analytic Workspace 19.17.0.0.0 VALID OWM Oracle Workspace Manager 19.17.0.0.0 VALID CONTEXT Oracle Text 19.17.0.0.0 VALID XDB Oracle XML Database 19.17.0.0.0 VALID ORDIM Oracle Multimedia 19.17.0.0.0 VALID SDO Spatial 19.17.0.0.0 INVALID XOQ Oracle OLAP API 19.17.0.0.0 VALID APEX Oracle Application Express VALID 14 rows selected. SQL> @?/rdbms/admin/utlrp Session altered. TIMESTAMP -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- COMP_TIMESTAMP UTLRP_BGN 2022-11-02 16:20:32 DOC> The following PL/SQL block invokes UTL_RECOMP to recompile invalid DOC> objects in the database. Recompilation time is proportional to the DOC> number of invalid objects in the database, so this command may take DOC> a long time to execute on a database with a large number of invalid DOC> objects. DOC> DOC> Use the following queries to track recompilation progress: DOC> DOC> 1. Query returning the number of invalid objects remaining. This DOC> number should decrease with time. DOC> SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6); DOC> DOC> 2. Query returning the number of objects compiled so far. This number DOC> should increase with time. DOC> SELECT COUNT(*) FROM UTL_RECOMP_COMPILED; DOC> DOC> This script automatically chooses serial or parallel recompilation DOC> based on the number of CPUs available (parameter cpu_count) multiplied DOC> by the number of threads per CPU (parameter parallel_threads_per_cpu). DOC> On RAC, this number is added across all RAC nodes. DOC> DOC> UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel DOC> recompilation. Jobs are created without instance affinity so that they DOC> can migrate across RAC nodes. Use the following queries to verify DOC> whether UTL_RECOMP jobs are being created and run correctly: DOC> DOC> 1. Query showing jobs created by UTL_RECOMP DOC> SELECT job_name FROM dba_scheduler_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC> DOC> 2. Query showing UTL_RECOMP jobs that are running DOC> SELECT job_name FROM dba_scheduler_running_jobs DOC> WHERE job_name like 'UTL_RECOMP_SLAVE_%'; DOC># PL/SQL procedure successfully completed. TIMESTAMP -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- COMP_TIMESTAMP UTLRP_END 2022-11-02 16:20:48 DOC> The following query reports the number of invalid objects. DOC> DOC> If the number is higher than expected, please examine the error DOC> messages reported with each object (using SHOW ERRORS) to see if they DOC> point to system misconfiguration or resource constraints that must be DOC> fixed before attempting to recompile these objects. DOC># OBJECTS WITH ERRORS ------------------- 0 DOC> The following query reports the number of exceptions caught during DOC> recompilation. If this number is non-zero, please query the error DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors DOC> are due to misconfiguration or resource constraints that must be DOC> fixed before objects can compile successfully. DOC> Note: Typical compilation errors (due to coding errors) are not DOC> logged into this table: they go into DBA_ERRORS instead. DOC># ERRORS DURING RECOMPILATION --------------------------- 0 Function created. PL/SQL procedure successfully completed. Function dropped. PL/SQL procedure successfully completed. SQL> select COMP_ID, COMP_NAME, VERSION_FULL, STATUS from DBA_REGISTRY; COMP_ID COMP_NAME VERSION_FULL STATUS ---------- -------------------------------------------------- -------------------- -------------------- CATALOG Oracle Database Catalog Views 19.17.0.0.0 VALID CATPROC Oracle Database Packages and Types 19.17.0.0.0 VALID JAVAVM JServer JAVA Virtual Machine 19.17.0.0.0 VALID XML Oracle XDK 19.17.0.0.0 VALID CATJAVA Oracle Database Java Packages 19.17.0.0.0 VALID RAC Oracle Real Application Clusters 19.17.0.0.0 OPTION OFF APS OLAP Analytic Workspace 19.17.0.0.0 VALID OWM Oracle Workspace Manager 19.17.0.0.0 VALID CONTEXT Oracle Text 19.17.0.0.0 VALID XDB Oracle XML Database 19.17.0.0.0 VALID ORDIM Oracle Multimedia 19.17.0.0.0 VALID SDO Spatial 19.17.0.0.0 VALID XOQ Oracle OLAP API 19.17.0.0.0 VALID APEX Oracle Application Express VALID 14 rows selected. SQL> select DBMS_DST.GET_LATEST_TIMEZONE_VERSION from dual; GET_LATEST_TIMEZONE_VERSION --------------------------- 32 SQL> col filename form a20 SQL> col version form 999 SQL> select FILENAME, VERSION from V$TIMEZONE_FILE; FILENAME VERSION -------------------- ------- timezlrg_32.dat 32
{}