DBA_ERRORS错误一例
来源:互联网 发布:乐乎公寓 编辑:程序博客网 时间:2024/06/06 18:11
数据库版本10.2.0.4
首先这个东西记录了PL/SQL的一些错误信息,具体含义大家自己网上查查吧
其实这个错误是接着上次expdp的时候出现的,上次执行的脚本:
$ORACLE_HOME/rdbms/admin/catmet2.sql
$ORACLE_HOME/rdbms/admin/utlrp.sql
首先看一下catmet2.sql 做了些什么
-- create the types
exec dbms_metadata_build.set_debug(false);
exec DBMS_METADATA_DPBUILD.create_table_export;
exec DBMS_METADATA_DPBUILD.create_schema_export;
exec DBMS_METADATA_DPBUILD.create_database_export;
exec DBMS_METADATA_DPBUILD.create_transportable_export;
-- load XSL stylesheets
exec SYS.DBMS_METADATA_UTIL.LOAD_STYLESHEETS; 也只能看到这么多了,这个包是加密的
导致很多type错误,看了看具体的dba_errors错误信息,错误信息基本都是XDB.XDB$RAW_LIST_T和DBMS_RLMGR_DR这两个玩意找不到引起的,XDB是oracle XML database组件里面的,DBMS_RLMGR_DR是oracle rule manager里面的,于是怀疑组件是不是失效了,查了DBA_REGISTRY,果然很多失效组件,而且不只这两个,就连Oracle Database Catalog Views和Oracle Database Packages and Types状态也是INVALID状态,于是先重建了数据字典,也就是catproc.sql和catalog.sql,然后重新编译一下,也就是用这个utlrp.sql。再次查看DBA_REGISTRY,Database Catalog Views,Oracle Database Packages and Types,oracle rule manager都正常了,但是DBA_ERRORS里面还是很多错误信息,关DBMS_RLMGR_DR
的已经木有了,就剩下了XDB.XDB$RAW_LIST_T,说是这个TYPE木有定义,查看DBA_REGISTRY,原来是XML没有安装,ID 1292089.1这篇文章里面很详细,如果有XML,不正常的话,那就重新装一下,装之前,那么要REMOVE一下:
SQL> spool xdb_removal.log
SQL> set echo on;
SQL> connect / as sysdba
SQL> shutdown immediate;
SQL> startup
SQL> @?/rdbms/admin/catnoqm.sql
SQL> @?/rdbms/admin/utlrp.sql
SQL> spool off;
然后再安装,没有的话,直接安装即可:
SQL> spool xdb_install.log
SQL> set echo on;
SQL> connect / as sysdba
SQL> shutdown immediate;
SQL> startup;
SQL> @?/rdbms/admin/catqm.sql <XDB pwd> <XDB default tbs> <XDB temporary tbs>
SQL> @?/rdbms/admin/utlrp.sql
SQL> spool off
这里举个例子:SQL> @?/rdbms/admin/catqm.sql XDB XDB TEMP 后面跟这些跟的是XDB的密码,使用表空间以及临时表空间。
这里XML安装好以后,验证一下状态:
select comp_name, version, status
from dba_registry
where comp_id = 'XDB';
这里我是正常了,但是dba_errors还是依旧错误,依旧还是XDB.XDB$RAW_LIST_T木有定义,这个时候就奇怪了,而且
DESC XDB.XDB$RAW_LIST_T是存在,因为XDB是依赖于oracle intermedia的,于是我再次怀疑是Oracle interMedia有问题,果然状态是INVALID,果断重建。
至于怎么重建,其实也简单,看下这个:
more $ORACLE_HOME/ord/im/admin/README.txt 里面很详细记录了怎么重建oracle intermedia
其实就是几个包
@$ORACLE_HOME/ord/admin/ordinst.sql SYSAUX SYSAUX
@$ORACLE_HOME/ord/im/admin/iminst.sql 如果没有安装,直接按这个安装即可
如果安装了状态不对,那么先干掉吧
@$ORACLE_HOME/ord/im/admin/imdinst.sql
@$ORACLE_HOME/ord/im/admin/imdtyp.sql
用这两个包干掉后,再重建一次,完了用@$ORACLE_HOME/ord/im/admin/imchk.sql验证一下,那么就OK了。
重建以后,问题终于解决了,dba_errors终于没有错误信息了。
我在另一台机器测试运行$ORACLE_HOME/rdbms/admin/catmet2.sql ,是没有问题的,而且那个库只装了数据字典的组件,看来这个包对于其他组件是木有依赖的,只是运行后导致了很多oracle组件失效才引起这么多错误
- DBA_ERRORS错误一例
- Git错误一例
- WCF错误一例
- 根据 dba_errors 制定 数据库报警邮件
- 根据 dba_errors 制定 数据库报警邮件
- 根据 dba_errors 制定 数据库报警邮件
- WCF(500)错误(分析器错误)一例.
- 解决ns2错误一例
- ERROR_INTERNET_CONNECTION_RESET错误分析一例
- 表单接收错误一例
- ORA-12571 错误一例.
- 错误0xC0000005一例
- fio编译错误一例
- ORA-00600错误一例
- Fortran编译错误一例
- Scripts:查看数据库中的报错dba_errors.sql
- 一例奇怪的编译错误(VC6)
- tr自动隐藏:错误一例
- Android SQLite加密
- C语言-time.h从头学
- php 换行符
- 向VS2010项目中添加类库文件(Class Library)
- MFC error C2665: “AfxBeginThread”
- DBA_ERRORS错误一例
- Apache Rewrite 详解RewriteCond
- java/scala远程调试
- 网络图片异步加载(用到多线程(线程池),java回调机制,图片缓存,图片的动画)
- sizeof计算赋值变量和形参的大小
- Timestamp和String的相互转换
- 当使用sql/plus遇到表被锁住情况,处理
- ubuntu安装Android开发环境配置
- 抛出std::bad_alloc,内存分配失败