暂无图片
数据泵导入的时候如何导入触发器
我来答
分享
Edward
2021-07-27
数据泵导入的时候如何导入触发器

1、在生产数据库中创建了触发器,还有存储过程;
2、使用数据泵导入的时候由于更换了用户名,导致触发器无法导入。
使用的导入方法如下:
MEIWEI/******** directory=BAK dumpfile=meiweieasdb-20210726.dmp REMAP_SCHEMA=EAS1:MEIWEI REMAP_TABLESPACE=EAS_D_EAS1_STANDARD:EAS_D_MEIWEI_STANDARD REMAP_TABLESPACE=EAS_D_EAS1_INDEX:EAS_D_MEIWEI_INDEX REMAP_TABLESPACE=EAS_D_EAS1_TEMP2:EAS_D_MEIWEI_TEMP2 table_exists_action=replace parallel=30 logfile=20210726.log
3、在导入过程中,系统提示如下:
ORA-39083: Object type TRIGGER failed to create with error:
ORA-00942: table or view does not exist
Failing sql is:
CREATE TRIGGER TR_IM_OtherInWarehsBill_del
after DELETE ON eas1.T_IM_OtherInWarehsBill
FOR EACH ROW
declare v_isExists number ;
BEGIN
select COUNT(1) into v_isExists from eas1.t_bot_relation
where FSrcEntityID= ‘E07F432C’ and FDestEntityID=‘A4D04D23’ and FDestObjectID = :old.FID;
if v_isExists > 0 then
delete eas1.t_bot_relation where FSrcEntityID= ‘E07F432C’ and F
还有提示存储过程需要重新编译
ORA-39082: Object type ALTER_PROCEDURE:“MEIWEI”.“BATCH_REBUILD_INDEX” created with compilation warnings

如果能够实现自动导入,不用导入完成后手工修改。
出现这种情况的原因是什么?
因为审计人员不懂数据库,她们看到这个就认为系统有问题,不知道应该怎么去解释

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Murkey

这个问题主要是导入的触发器定义引入的表的问题,因此源schema都导入到目标用户,因而报错。
利用DDL抽取到所有的触发器,批量修改用户即可。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
单实例数据库时安装Grid Infrastructure的意义?
回答 6
已采纳
在单实例数据库的基础上,利用clusterware软件对其进行更高级的管理。部署过程:先装GI,再装DB,然后将DB注册到GI上,使得GI可以管理DB。注册可以在DBCA过程中自动进行,在特别情况下也
组合索引问题
回答 6
已采纳
严格来说没有放到最后的说法. 有几种情况:1.如果经过where条件过滤后返回的结果集比较小, 索引不包含order by字段,做个排序也没关系; 2.如果过滤
Oracle安装补丁,新版本的opatch没法生成ocm响应文件?
回答 1
已采纳
按照README操作就可以了,安装补丁的方式不是固有的,还是参照标准步骤最靠谱呀!
业务程序偶尔找不到package,必须重启数据库才能好,这是为什么?打开10046事件截图如下
回答 2
可能是对象失效了,检查一下。
审计对数据库系统(openGauss、Oracle)性能的影响,如何平衡性能和审计?
回答 1
目前openGauss及Oracle都发布了统一审计的能力,统一审计的优势就是可以只针对自己所希望审计的行为进行监控,从而降低整体的审计的日志量,在性能和审计之间寻找平衡,提高审计效率。 
MySQL数据同步到oracle 数据库,一般采用什么方案?
回答 2
oceanbase数据库的oma工具
oracle truncate 分区表恢复
回答 4
对于使用工具fyrecoverdata进行数据恢复,需要确保:①truncate之后,需要保证没有新的数据进入表中,否则无法还原;②存放该表的数据文件块不能被覆盖,否则无法完整还原数据。在发生故障后,
如何以毫秒为单位计算 Oracle 中两个时间戳之间的差异
回答 1
已采纳
Oracle中关于毫秒:Oracle毫秒的存储必须字段类型为timestamp(6)–数字表示存储的毫秒位数–当前毫秒级时间selecttochar(currenttimestamp,‘yyyymmd
在Or在Oracle中,以下哪些是存储过程和函数的主要区别?
回答 2
已采纳
E存储过程可以返回多个值,函数只能返回一个值D存储过程可以被视图为一个表,函数不能
Oracle导出张表(纯数据)到mysql,有什么工具推荐?
回答 3
已采纳
直接通过PLSQL将表数据导出为csv格式,然后mysql中用load导入:LOADDATAINFILE'XX.csv'INTOTABLEXXFIELDSTERMINATEDBY...