Коллеги,
После апгрейда Oracle 11 до Oracle 12 вылезли invalid objects в количестве 58 штук из них 28 SYS.
С многими решил не заморачиваться, а вот объекты SYS решил пересобрать.
Как я понял объекты SYS нужно пересобирать только скриптом utlrp.sql
Запускаю скрипт:
sqlplus sys as sysdba
password
SQL> @/oracle/KPR/121/rdbms/admin/utlrp.sql
Code:
TIMESTAMP
--------------------------------------------------------------------------------
COMP_TIMESTAMP UTLRP_BGN 2016-03-13 20:05:50
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 2016-03-13 20:06:20
DOC> The following query reports the number of objects that have compiled
DOC> with errors.
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
-------------------
1
DOC> The following query reports the number of errors 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>#
ERRORS DURING RECOMPILATION
---------------------------
1
Function created.
PL/SQL procedure successfully completed.
Function dropped.
PL/SQL procedure successfully completed.
В момент запуска скрипта в алерт логе такая тишина:
Code:
SERVER COMPONENT id=UTLRP_BGN: timestamp=2016-03-13 20:05:50
Sun Mar 13 20:06:20 2016
SERVER COMPONENT id=UTLRP_END: timestamp=2016-03-13 20:06:20
Sun Mar 13 20:06:39 2016
XDB installed.
XDB initialized.
XDB=VALID
CATALOG=VALID
CATPROC=VALID
SQL> ALTER VIEW SYS.S$DNFS_CHANNELS COMPILE;
Warning: View altered with compilation errors.
Надо ли обращать внимание на недействительные объекты?
У кого какой опыт?
Согласно ноте
648203 - Database objects with status INVALID SAP говорит не обращайте, но присмотритесь к SYS.
Вот список:
Code:
SYS S$DNFS_CHANNELS VIEW
SYS S$DRM_HISTORY VIEW
SYS S$DRM_HISTORY_STATS VIEW
SYS S$KCLDELTAST VIEW
SYS S$KESWXMON VIEW
SYS S$KESWXMON_PLAN VIEW
SYS S$KEWMRMGMV VIEW
SYS S$KGSKCFT VIEW
SYS S$KGSKSCS VIEW
SYS S$KJBL VIEW
SYS S$KJDRMAFNSTATS VIEW
SYS S$KJDRMHVSTATS VIEW
SYS S$KJDRMREQ VIEW
SYS S$KMMDP VIEW
SYS S$KMPCMON VIEW
SYS S$KMPCSO VIEW
SYS S$KMPSRV VIEW
SYS S$KRASGA VIEW
SYS S$KRCFH VIEW
SYS S$KRSTDEST VIEW
SYS S$KRVXDTA VIEW
SYS S$KSFDSTBLK VIEW
SYS S$KSQEQ VIEW
SYS S$KSUPR VIEW
SYS S$KTSSO VIEW
SYS S$KTSTSSD VIEW
SYS S$RFAHIST VIEW
SYS S$RFMP VIEW