EXP-00062: invalid source statements for an object type

刚刚处理完一件小事,一个系统,今天凌晨的EXP导出是正常的,但现在导出的时候报错

About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user WDRMS
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions for user WDRMS
EXP-00062: invalid source statements for an object type
EXP-00000: Export terminated unsuccessfully

Cause: TYPE was not found in the statements in SOURCE$ for an Object Type.

Action: Contact Oracle Support Services.

难道非要找Oracle技术支持么?

先分析一下吧,不行再寻求技术支持

首先看看我们有什么,1份今天早上的备份,还有就是虽然导出不成功,但仍然生成的导出文件。

打开刚刚生成的导出文件,看看最后的部分在做什么

CREATE TYPE "T_RET_TABLE" TIMESTAMP '2012-09-15:15:35:15' OID 'C28FF015DFFF316DE040007F01006317'

创建一个TYPE,注意这个TYPE的创建时间,是今天下午,是否就是这个TYPE导致导出不成功?

再看看凌晨的备份,没有类似的TYPE,应该是可以定位问题了。

删除这个TYPE,成功导出

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19423/viewspace-1059443/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/19423/viewspace-1059443/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误通常是由于数据库触发器的类型不正确导致的。要解决这个问题,首先需要检查触发器的定义,确保它的类型正确无误。如果触发器的类型不正确,可以使用ALTER TRIGGER语句来重新定义触发器,以正确的类型定义它。 ### 回答2: ORA-04072: invalid trigger type 是Oracle数据库中的一个错误代码,它表示触发器类型无效。触发器类型指的是在触发器创建过程中指定的触发事件类型,例如BEFORE INSERT、BEFORE UPDATE等。这个错误通常发生在以下几种情况下: 1. 触发器类型错误:首先,确保在创建触发器时指定的触发器类型是有效的。检查触发器创建语句,确保指定的触发器类型是支持的,如果触发器类型无效,可以修改触发器创建语句中的类型。 2. 触发器类型不兼容:如果触发器引用了不兼容的对象或函数,也可能会导致出现ORA-04072错误。此时,需要检查触发器中引用的对象和函数是否存在且兼容。 3. 触发器类型与触发事件不匹配:检查触发器类型是否与触发事件相匹配。例如,如果触发器是在INSERT事件之前触发的,但是在触发器内部却尝试更新表,就会导致ORA-04072错误。这时需要修正触发器逻辑,确保触发器类型与触发事件相匹配。 4. 触发器依赖问题:有时候,引发ORA-04072错误的原因可能是由于触发器依赖关系不正确。如果触发器引用的对象不存在或无效,也会导致该错误。在这种情况下,可以通过查看相关对象的状态来解决此问题,并在必要时重新创建或修复对象。 总之,解决ORA-04072: invalid trigger type错误的关键是确保触发器类型在创建时正确指定,并与触发事件相匹配。此外,还要检查触发器中引用的对象和函数是否存在且兼容,并确保触发器的依赖关系正确。如果仍然无法解决问题,可以通过查询Oracle官方文档或向相关技术论坛寻求帮助来获取更详细的解决方法。 ### 回答3: ORA-04072: invalid trigger type错误是Oracle数据库中常见的错误之一,表示触发器类型无效。下面是解决这个错误的方法。 1. 检查触发器类型:检查触发器的类型是否符合数据库的要求。Oracle支持多种类型的触发器,例如BEFORE INSERT、AFTER INSERT等。确保触发器的类型是有效的。 2. 检查触发器代码:检查触发器的代码是否正确。可能触发器中存在语法错误或逻辑错误导致触发器类型无效。仔细检查触发器代码并进行必要的修改。 3. 检查触发器依赖项:确保触发器所依赖的对象存在且有效。触发器可能引用了无效的表或视图等对象,导致触发器类型无效。检查相关的对象并修复任何无效的依赖项。 4. 检查数据库版本:某些Oracle版本可能限制了触发器类型的使用。如果使用的是较旧的数据库版本,可以升级到支持所需触发器类型的最新版本。 5. 检查数据库权限:确保当前用户具有创建和操作触发器所需的适当权限。如果当前用户没有足够的权限来创建或修改触发器,可以联系数据库管理员获取相应的权限。 总之,解决ORA-04072错误需要仔细检查触发器的类型、代码、依赖项和数据库权限等方面。通过修复相关问题,可以解决这个错误并使触发器类型有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值