数据库备份出错,求助 本帖最后由 azhenw 于 2010-04-13 17:03:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1、系统中貌似没见过smp开头的包;2、导入时使用ignore=y试试; 导出时的log 日志里是怎么说的? 还有就是是之前imp 的时候成功没有, 一般imp 的时候都会有对象失效的问题, 直接compile 一下就正常了。 ------------------------------------------------------------------------------ Blog: http://blog.csdn.net/tianlesoftware 网上资源: http://tianlesoftware.download.csdn.net 相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx DBA1 群:62697716(满); DBA2 群:62697977 给个备份日志看看,导入DMP有没有错? 2楼说的重新编译我试了,不行,现在想来可能是由于之前删除了一些存储过程,导致了这些包和包体无法编译通过。现在我正准备把一些常用表备份一下,然后将这些非我族类的包和包体全部删掉。 像我在备注里说的,当时在以前的服务器上我使用“整个数据库模式”对数据进行了备份,之后恢复到了我现在用的机器上,可能就把系统的一些东西给带过来了。 前段时间,我尝试着把不是我自己创建的表、过程都删了,再使用exp进行备份就一直报错了。 以下是我尝试导出的命令行: exp userid=TEST/***@*** owner=TEST file=e:\3下面是导出结果:已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户.... 正在导出 pre-schema 过程对象和操作EXP-00008: 遇到 ORACLE 错误 4068ORA-04068: 已丢弃程序包 的当前状态ORA-04063: package body "SYS.DBMS_REFRESH_EXP_LWM" 有错误ORA-06508: PL/SQL: 无法在调用之前找到程序单元ORA-06512: 在line 1EXP-00083: 调用 SYS.DBMS_REFRESH_EXP_LWM.schema_info_exp 时出现前一个问题EXP-00008: 遇到 ORACLE 错误 4068ORA-04068: 已丢弃程序包 的当前状态ORA-04063: package body "SYS.DBMS_REPCAT_RGT_EXP" 有错误ORA-06508: PL/SQL: 无法在调用之前找到程序单元ORA-06512: 在line 1EXP-00083: 调用 SYS.DBMS_REPCAT_RGT_EXP.schema_info_exp 时出现前一个问题EXP-00008: 遇到 ORACLE 错误 4068ORA-04068: 已丢弃程序包 的当前状态ORA-04063: package body "SYS.DBMS_LOGREP_EXP" 有错误ORA-06508: PL/SQL: 无法在调用之前找到程序单元ORA-06512: 在line 1EXP-00083: 调用 SYS.DBMS_LOGREP_EXP.schema_info_exp 时出现前一个问题. 正在导出用户 TEST 的外部函数库名称. 导出 PUBLIC 类型同义词. 导出私有类型同义词. 正在导出用户 TEST 的对象类型定义即将导出 TEST 的对象 .... 正在导出数据库链接. 正在导出序号. 正在导出群集定义EXP-00056: 遇到 ORACLE 错误 19206ORA-19206: 用于查询或 REF CURSOR 参数的值无效ORA-06512: 在"SYS.DBMS_XMLGEN", line 83ORA-06512: 在"SYS.DBMS_METADATA", line 345ORA-06512: 在"SYS.DBMS_METADATA", line 410ORA-06512: 在"SYS.DBMS_METADATA", line 449ORA-06512: 在"SYS.DBMS_METADATA", line 1156ORA-06512: 在"SYS.DBMS_METADATA", line 1141ORA-06512: 在line 1EXP-00000: 导出终止失败 Microsoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrator>exp test/test@liglExport: Release 9.2.0.1.0 - Production on 星期六 11月 7 21:45:01 2009Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.1.0 - Production输入数组提取缓冲区大小: 4096 > 导出文件: EXPDAT.DMP> e:\test.dmp(1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U >导出权限 (yes/no): yes >导出表数据 (yes/no): yes >压缩区 (yes/no): yes >已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户...要导出的用户: (RETURN 以退出) > test要导出的用户: (RETURN 以退出) >. 正在导出 pre-schema 过程对象和操作. 正在导出用户 TEST 的外部函数库名称. 导出 PUBLIC 类型同义词. 导出私有类型同义词. 正在导出用户 TEST 的对象类型定义即将导出 TEST 的对象 .... 正在导出数据库链接. 正在导出序号. 正在导出群集定义. 即将导出 TEST 的表通过常规路径 .... . 正在导出表 TEST 2 行被导出. 正在导出同义词. 正在导出视图. 正在导出存储的过程. 正在导出运算符. 正在导出引用完整性约束条件. 正在导出触发器. 正在导出索引类型. 正在导出位图, 功能性索引和可扩展索引. 正在导出后期表活动. 正在导出实体化视图. 正在导出快照日志. 正在导出作业队列. 正在导出刷新组和子组. 正在导出维. 正在导出 post-schema 过程对象和操作. 正在导出统计在没有警告的情况下成功终止导出。C:\Documents and Settings\Administrator>照我的做法 你就可以陈功哦 !!!!!!!!!! 估计是DB版本和dmp文件不一致 今天再试的时候,感觉大概找到原因了——当时备份的时候使用dba账户备份了整个数据库,后来将数据恢复到了普通用户(后来发现恢复后也具有dba权限)。可能所有的根源都在于我拿了一份dba用户的备份数据尝试恢复到普通用户,后来发现回复后多了许多系统表、存储过程等,我就开始删,删到最后就乱了。 可能是这个原因,下一步就开始找对策了。实在不行就重新建库了。 新人请教 oracle 在insert into的时候报ORA-00928: missing SELECT keyword错 如何修改 v$resource_limit; 中的MAX_UTILIZATION 值? SQL查询速度问题 liunx系统下如何建立一个新的oracle用户 一个很简单的问题,大家帮个忙了 非常弱智的问题:我该如何建表操作? 请教数据库名称更改后的遗留问题。 *****ORACLE如何自动启动ORACLE数据库实例?*****在线等待! oracle千万级数据 分页查询 如何优化 MS SQL有联机丛书,Oracle有么? 怎么删用户自定义变量
2、导入时使用ignore=y试试;
还有就是是之前imp 的时候成功没有, 一般imp 的时候都会有对象失效的问题, 直接compile 一下就正常了。 ------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977
像我在备注里说的,当时在以前的服务器上我使用“整个数据库模式”对数据进行了备份,之后恢复到了我现在用的机器上,可能就把系统的一些东西给带过来了。
前段时间,我尝试着把不是我自己创建的表、过程都删了,再使用exp进行备份就一直报错了。
以下是我尝试导出的命令行:
exp userid=TEST/***@*** owner=TEST file=e:\3
下面是导出结果:
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户...
. 正在导出 pre-schema 过程对象和操作
EXP-00008: 遇到 ORACLE 错误 4068
ORA-04068: 已丢弃程序包 的当前状态
ORA-04063: package body "SYS.DBMS_REFRESH_EXP_LWM" 有错误
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 1
EXP-00083: 调用 SYS.DBMS_REFRESH_EXP_LWM.schema_info_exp 时出现前一个问题
EXP-00008: 遇到 ORACLE 错误 4068
ORA-04068: 已丢弃程序包 的当前状态
ORA-04063: package body "SYS.DBMS_REPCAT_RGT_EXP" 有错误
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 1
EXP-00083: 调用 SYS.DBMS_REPCAT_RGT_EXP.schema_info_exp 时出现前一个问题
EXP-00008: 遇到 ORACLE 错误 4068
ORA-04068: 已丢弃程序包 的当前状态
ORA-04063: package body "SYS.DBMS_LOGREP_EXP" 有错误
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 1
EXP-00083: 调用 SYS.DBMS_LOGREP_EXP.schema_info_exp 时出现前一个问题
. 正在导出用户 TEST 的外部函数库名称
. 导出 PUBLIC 类型同义词
. 导出私有类型同义词
. 正在导出用户 TEST 的对象类型定义
即将导出 TEST 的对象 ...
. 正在导出数据库链接
. 正在导出序号
. 正在导出群集定义
EXP-00056: 遇到 ORACLE 错误 19206
ORA-19206: 用于查询或 REF CURSOR 参数的值无效
ORA-06512: 在"SYS.DBMS_XMLGEN", line 83
ORA-06512: 在"SYS.DBMS_METADATA", line 345
ORA-06512: 在"SYS.DBMS_METADATA", line 410
ORA-06512: 在"SYS.DBMS_METADATA", line 449
ORA-06512: 在"SYS.DBMS_METADATA", line 1156
ORA-06512: 在"SYS.DBMS_METADATA", line 1141
ORA-06512: 在line 1
EXP-00000: 导出终止失败
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrator>exp test/test@liglExport: Release 9.2.0.1.0 - Production on 星期六 11月 7 21:45:01 2009Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
输入数组提取缓冲区大小: 4096 > 导出文件: EXPDAT.DMP> e:\test.dmp(1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U >导出权限 (yes/no): yes >导出表数据 (yes/no): yes >压缩区 (yes/no): yes >已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的用户...
要导出的用户: (RETURN 以退出) > test要导出的用户: (RETURN 以退出) >. 正在导出 pre-schema 过程对象和操作
. 正在导出用户 TEST 的外部函数库名称
. 导出 PUBLIC 类型同义词
. 导出私有类型同义词
. 正在导出用户 TEST 的对象类型定义
即将导出 TEST 的对象 ...
. 正在导出数据库链接
. 正在导出序号
. 正在导出群集定义
. 即将导出 TEST 的表通过常规路径 ...
. . 正在导出表 TEST 2 行被导出
. 正在导出同义词
. 正在导出视图
. 正在导出存储的过程
. 正在导出运算符
. 正在导出引用完整性约束条件
. 正在导出触发器
. 正在导出索引类型
. 正在导出位图, 功能性索引和可扩展索引
. 正在导出后期表活动
. 正在导出实体化视图
. 正在导出快照日志
. 正在导出作业队列
. 正在导出刷新组和子组
. 正在导出维
. 正在导出 post-schema 过程对象和操作
. 正在导出统计
在没有警告的情况下成功终止导出。C:\Documents and Settings\Administrator>
照我的做法 你就可以陈功哦 !!!!!!!!!!
可能是这个原因,下一步就开始找对策了。实在不行就重新建库了。