设为首页 加入收藏

TOP

Oracle元数据重构实验(二)
2015-11-10 12:16:15 来源: 作者: 【 】 浏览:1
Tags:Oracle 数据 重构 实验
d.


最后,重新编译compile所有的对象。


SQL> SET SERVEROUTPUT OFF


SQL> @?/rdbms/admin/utlrp.sql


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>#


SQL>?


SQL> DECLARE


? 2? ? threads pls_integer := &&1;


? 3? BEGIN


? 4? ? utl_recomp.recomp_parallel(threads);


? 5? END;


? 6? /


在三个脚本中,笔者认为第三个脚本最重要。如果有组件在重构之后还存在问题,就体现在这个环节中。因为这个过程会将所有的元数据对象依次并行进行编译,如果组件有问题,是会有编译故障的。我们从输出的结果,可以看出是否是成功的。


如果有问题,通常第三个脚本会有明确的错误列表。


SQL> EXECUTE dbms_registry_sys.validate_components;


FAILED CHECK FOR PACKAGE BODY CTX_ADM


Warning: XDB now invalid, invalid objects found:


object_name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? object_type


-------------------------------------------------------


DBMS_XDBZ0? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? PACKAGE BODY


DBMS_XDBZ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? PACKAGE BODY


DBMS_XDB? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? PACKAGE BODY


DBMS_XDBUTIL_INT? ? ? ? ? ? ? ? ? ? ? ? ? PACKAGE BODY


XDB$PATCHUPSCHEMA? ? ? ? ? ? ? ? ? ? ? ? ? ? PROCEDURE


XDB$ACL_PKG_INT? ? ? ? ? ? ? ? ? ? ? ? ? ? PACKAGE BODY


ORDIM INVALID OBJECTS: ORDIMAGE - INVALID - TYPE BODY


ORDIM INVALID OBJECTS: SI_STILLIMAGE - INVALID - TYPE BODY


ORDIM INVALID OBJECTS: ORDDICOM - INVALID - TYPE BODY


ORDIM INVALID OBJECTS: ORDPLSGWYUTIL - INVALID - PACKAGE BODY


ORDIM INVALID OBJECTS: ORDIMGSI_PKG - INVALID - PACKAGE BODY


ORDIM INVALID OBJECTS: ORD_DICOM_PKG - INVALID - PACKAGE BODY


ORDIM INVALID OBJECTS: ORD_DICOM_CT - INVALID - PACKAGE BODY


ORDIM INVALID OBJECTS: ORD_DICOM_ADMIN_PRV - INVALID - PACKAGE BODY


ORDIM INVALID OBJECTS: ORD_DICOM_ADMIN - INVALID - PACKAGE BODY


FAILED CHECK FOR FUNCTION APEX_APPLICATION_GET_PG_TNAME


PL/SQL procedure successfully completed.


完成了编译之后,就可以重新启动数据库。如果没有进一步的问题,就可以恢复使用。


[oracle@localhost backup]$ sqlplus /nolog


SQL*Plus: Release 11.2.0.4.0 Production on Sun Sep 27 11:42:52 2015


Copyright (c) 1982, 2013, Oracle.? All rights reserved.


SQL> conn / as sysdba


Connected.


SQL> shutdown immediate;


Database closed.


Database dismounted.


ORACLE instance shut down.


SQL> startup


ORACLE instance started.


Total System Global Area 5344731136 bytes


Fixed Size? ? ? ? ? ? ? ? ? 2262656 bytes


Variable Size? ? ? ? ? ? 1207961984 bytes


Database Buffers? ? ? ? 4127195136 bytes


Redo Buffers? ? ? ? ? ? ? ? 7311360 bytes


Database mounted.


Database opened.


3、结论


重构数据库元数据,是我们修复一些数据库故障的方法之一。但是,这种方法并不能完全解决所有元数据问题。一些由于Oracle Bug潜在引起的问题,是不能通过这种途径进行解决的。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇CentOS7下MariaDB和phpMyAdmin安.. 下一篇由Oracle Bug引起的AWR Snapshot..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: