oracle 10g数据库下的 XDB组件的重新安装
emmmm,这是一个不做死就不会的过程!!!
今天在导出数据库时,遇到了报错信息,其实开发说这个报错没关系了,但作死如楼主,一定要把这个错给解决了,然后就有了下面的作死过程。
错误关键字是:package body"XDB.DBMS_XDBZ0" has error 。如下截图:

经历过一番百度后,查到了下面的sql语句,查询XDB组件的是否可用,即状态是 valid 还是invalid,sql和查询截图如下:
select owner, object_name, object_type, status
from dba_objects
where status = 'INVALID' and object_name = 'DBMS_XDBZ0';

网上百度了很多资料,操作如下:
执行了 @$ORACLE_HOME/rdbms/admin/utlrp.sql ,没有任何用,不过我查询数据库里的 invalid 状态的数据变少了很多,但是报错的这个组件没有变化!
alter package XDB.DBMS_XDBZ0 COMPILE BODY; 执行了这个,也没有用。
最后最后,询问了实施,给楼主提供了一种解决办法的思路,给了我一个链接:
http://blog.csdn.net/whb234174124/article/details/52980275
http://blog.csdn.net/sszxhzd/article/details/78626715
http://blog.csdn.net/fidelhl/article/details/2753384
其中一篇是英文,我找的谷歌翻译,其他两篇讲的都不够详细。
我安装了2次,第一次安装的时候没先创建XDB用户和表空间,安装的日志有报错,所以楼主又给卸载了,卸载的时候没先重启数据库,然后这个卸载又弄了很久,反正就是坑。
创建XDB组件首先要先卸载XDB组件(没有的就不用了)
卸载步骤:
1.我第一次卸载是没重启数据库的,也卸载成功了,但是第一次没安装成功后,再次卸载没重启,就卸载了n久,最后重启数据库后才卸载成功
shutdown immediate
sqlplus / as sysdba
startup
卸载XDB:
@$ORACLE_HOME/rdbms/admin/catnoqm.sql
drop trigger sys.xdb_installation_trigger;
drop trigger sys.dropped_xdb_instll_trigger;
drop table dropped_xdb_instll_tab;
至此就卸载成功了!
现在来安装XDB组件
首先创建 XDB 表空间 和XDB 用户名,并赋予权限
创建表空间 XDB
CREATE TABLESPACE XDB DATAFILE
'/data/app/oracle/oradata/hundsun/XDB.dbf' SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO;
ps :/data/app/oracle/oradata/hundsun/ 这段路径可以使用这段sql查询:select name from v$datafile;
创建 XDB 用户
create user XDB identified by XDB default tablespace XDB;
给XDB用户赋权限
GRANT SELECT ANY TABLE TO XDB;
执行XDB创建的脚本
@$ORACLE_HOME/rdbms/admin/catqm.sql XDB XDB XDB
ps:后面 三个XDB 分别指 XDB用户密码,XDB默认表空间,XDB临时表空间,一定一定要在执行脚本时就带上,我第一次就没填入,回车后让输入一些不知道怎么填入的值。
在这里执行脚本的时候可以添加执行日志,顺序如下:
set echo on
spool /home/oracle/xdb.log
@$ORACLE_HOME/rdbms/admin/catqm.sql XDB XDB XDB
spool off;
alter system set dispatchers="(PROTOCOL=TCP)(SERVICE=hund【填入数据库的SID】)";
最后就是检测是否安装成功了:
select count(*) from dba_objects
where owner='XDB' and status='INVALID';
select owner, object_name, object_type, status
from dba_objects
where status = 'INVALID'
and owner in ('sys' ,'XDB');
select comp_name, status, version
from DBA_REGISTRY
where comp_name= 'Oracle XML Database';

最后如果你查看这个组件下的package 还有一些状态是invalid,那就再执行一下下面这个脚本:
@$ORACLE_HOME/rdbms/admin/utlrp.sql
不过我执行了之后数据库还有一个PACKAGE BODY 是invalid的。
重新再尝试导出的时候已经不报原来的错了。不过剩下的这个invalid 我已经不打算再继续深究了,毕竟公司的测试库,搞砸了我可能就要滚蛋了。

oracle 10g数据库下的 XDB组件的重新安装的更多相关文章
- oracle 数据恢复,只有oradata文件夹里的文件,没有备份文件的数据库恢复,重装系统后,oracle 10g数据库恢复
格式化重装系统后,才想起来oracle 10g 数据库没有做备份,开始以为很麻烦,没想到数据库恢复的还挺顺利的 恢复方法: 1,把原来的数据库文件备份,(D:\oracle\product\10.2. ...
- Oracle 10g数据库概述
一.Oracle 10g简介 1.Oracle 10g数据库是首个为网咯计算而设计的数据库(甲骨文公司的一款关系数据库管理系统). 2.分为以下几个版本: a.Oracle 10g数据库标准版 1 b ...
- Oracle 10g数据库备份与恢复操作手册
Oracle 10g数据库备份与恢复操作手册 目录 Oracle 10g数据库备份与恢复操作手册... 前言... 文档目的... 文档范围... 目标读者... 其他说明... 冷备份... 热备份 ...
- oracle 10g 数据库与客户端冲突导致实例创建无监听问题
同事在oracle 10g上创建一个实例,快结束时弹出一个错误,提示监听失败之类.查看服务,并无生成监听服务.于是删除重来,一连试了好几次,都是如此. 这真是令人心烦意乱.提示里面有说到端口1521, ...
- Oracle 10g 数据库手动创建步骤
Oracle 数据库手动创建步骤 编写初始化参数文件 设置操作系统环境变量 创建实例 以管理员身份连接数据库 启动实例 create database 创建数据库 运行数据字典脚本 Oracle的网络 ...
- ORACLE 10g 数据库体系结构图
ORACLE 10g 的数据库体系结构图(ORACLE 10g(Release 2)ARCHITECTURE),非常的全面.系统.高屋建瓴的整体介绍了ORACLE 10g 的数据库体系结构.如果能全面 ...
- Oracle 10g 数据库的备份和还原
一.备份数据库 1.在图形工具中,如sqldeveloper,pl/sqldeveloper用以下这句查找空表 select 'alter table '||table_name||' allocat ...
- AIX 6.1 Oracle 10G 数据库GoldenGate实施
安装环境说明: 源端:AIX 6.1 10.190.1.215 目标端:Linux 10.191.1.10 1:源端创建goldengate 表空间. 表空间的要求:最小500m,大点3-5G,设置自 ...
- oracle 10g 数据库字符集更改
1.更改数据库字符集为GBK SHUTDOWN IMMEDIATE; STARTUP MOUNT EXCLUSIVE; ALTER SYSTEM ENABLE RESTRICTED SESSION;A ...
随机推荐
- UVA - 1220 Party at Hali-Bula 树的最大独立集
题意: 给定n个人,存在上下级关系,每个人只有一个上级,求最大独立集.并判断最大独立集是否唯一 思路:d[i][0]表示以i为根的子树中,不选择第i个节点的最大独立集,f[i][0]表示以i为根的子 ...
- HDU - 3567 IDA* + 曼哈顿距离 + 康托 [kuangbin带你飞]专题二
这题难度颇大啊,TLE一天了,测试数据组数太多了.双向广度优先搜索不能得到字典序最小的,一直WA. 思路:利用IDA*算法,当前状态到达目标状态的可能最小步数就是曼哈顿距离,用于搜索中的剪枝.下次搜索 ...
- SpringBoot+Mybatis+PageHelper简化分页实现
前言 经过一段时间的测试和修改PageHelper插件逐渐走到了让我觉得靠谱的时候,它功能的就是简化分页的实现,让分页不需要麻烦的多写很多重复的代码. 已经加入我的github模版中:https:// ...
- Android使用百度地图出现闪退及定位时显示蓝屏问题
目录 1.Android使用百度地图出现闪退 2.Android使用百度地图定位出现蓝屏问题 1.Android使用百度地图出现闪退 一般情况下出现闪退是在AndroidManifest.x ...
- app后端session共享问题
在分布式中,session如何共享,用户登陆要解决的问题如下图所示,通过nignx请求转发,到不同的应用模块中,需要判断用户有没有登陆验证通过,问题又来了,app的移动端不像浏览器,没有cookie, ...
- Ubuntu的shell之bash和dash
Ubuntu的 shell 默认安装的是 dash,而不是 bash. 运行以下命令查看 sh 的详细信息,确认 shell 对应的程序是哪个: $ls -al /bin/sh dash 比 bash ...
- freemarker基本数据类型
freemarker基本数据类型 1.基本数据类型 (1)字符串 (2)数字 (3)布尔值 (4)日期 2.展示示例 <html> <head> <meta http-e ...
- Android中的Socket
1. UDP (1)访问网络必须添加权限,访问网络必须添加权限,访问网络必须添加权限,重要的事情说三遍. (2)简述 UDP协议是面向报文的,简单地说,利用UDP访问网络的步骤就是"寄快递& ...
- NOIP2010题解
所有题目链接均来自洛谷 T1机器翻译 原题戳这里 自古T1是水题 因为每一个数字都小于1000,所以对于是否在队列中可以开数组查询 对于大小的限制,弄一个队列维护大小即可(水题呀...) 这题在Win ...
- emacs配置
原配置 (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd "C ...