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 ...
随机推荐
- iOS实现从服务器请求json数据并转化成NSDictionary
NSURL *url = [NSURL URLWithString:URL]; NSURLRequest *request = [NSURLRequest requestWithURL:url cac ...
- Qt Create or VS 2015 使用 Opencv330 相机静态库链接错误如何解决?
查看链接库,添加 vfw32.lib 即可.
- Java并发编程笔记1-竞争条件&初识原子类&可重入锁
我们知道,在多线程访问一个共享变量的时候会发生安全问题. 首先看下面例子: public class Counter { private int count; public void add(){ t ...
- 关于instrinsicContentSize, ContentHuggingPriority, ContentcompressionResistancePriority的理解
ios 关于intrinsic理解 最近由于项目的需要想给MBProgressHUD添加一个自定义的view, 结果花费了一两个小时也没添加上去,添加上去的view没有实际的大小,即使你给他设置了一个 ...
- python基础 数据类型 判断语句
python 类unix系统默认已经安装或使用源码包./confighuremakemake install python运行方法 通过交互式解释器 [root@room1pc01 ~]# pytho ...
- linux ftp及C/S服务架构
乱码转换工具使用convmv软件:windows中文字符编码为GB2312 linux中文字符编码为utf-8选项:-f:源文件中中文字符编码-t:转换成字符编码-r:代表递归--notest:不测试 ...
- Ubuntu 11.04安装arm-linux-gcc-4.4.3/arm-none-linux-gnueabi-gcc安装包
准备工具和系统 arm-linux-gcc-4.4.3.tar.gz arm-linux-gcc-4.4.3下载地址: 下载在Linux公社的1号FTP服务器里,下载地址: FTP地址:ftp://w ...
- SAS︱数据索引、数据集常用操作(set、where、merge、append)
代码部分大多来源于姚志勇老师的<SAS编程与数据挖掘商业案例>. 每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ ------------ ...
- 关于用wubi安装Ubuntu,总是提示“没有定义根文件系统”的问题
用diskgenius测试一下分区问题,就发现一些错误,所以怀疑可能就是因为这个分区参数错误导致WUBI安装不成功,费了大力气转移数据后,重新对硬盘分区,这里称赞一下diskgenius,的确不错,当 ...
- 【mysql】mysql基本操作
mysql基本操作 1.mysql表复制 mysql 表结构的复制 create table t2 like t2 mysql 表数据的复制 insert into t2 select * from ...