oracle impdp将导出用户的所有对象导入至另一个用户下,生成的触发器语句问题处理
2018-01-23 10:04
771 查看
问题产生的操作步骤及详细说明:
1)操作的数据库是oracle 11g,先通过命令将用户GAS_NEW的数据导出,命令语句如下:
View Code
2)将导出的数据导入至另一新建用户GAS下(含所有原GAS_NEW用户下的对象),命令参考如下:
以上语句的说明:需要导入用户是GAS,schemas设置为GAS_NEW的原因是:导出的用户为GAS_NEW。
设置把原GAS_NEW用户的对象插入到新用户GAS下REMAP_SCHEMA=GAS_NEW:GAS
3)以上步骤能够正常执行完毕,并且原用户GAS_NEW下的对象都迁移到新用户GAS下,但有一个触发器问题。以下语句是迁入后某个触发器的命令语句:
可以看出:触发器已成功在GAS用户下建立,但是内容语句却有问题,触发器仍然是创建给原用户GAS_NEW下的某个表上,需要改为当前用户GAS的表上。
处理方式如下:
1、利用toad工具去查看生成的触发器列表
2)全选所有触发器,点右键'Create in another schema'
3)点击‘OK’
4)在弹出的框体中选中 ‘Script’ 选项卡
5)‘全选’所有命令并复制出来,粘贴到记事本或其他编辑工具
6)替换GAS_NEW为GAS,然后将调整后的语句拿去用户GAS下去执行并提交
7)以上步骤就完成了触发器的修改
1)操作的数据库是oracle 11g,先通过命令将用户GAS_NEW的数据导出,命令语句如下:
expdp GAS_NEW/GAS_NEW@ORCL schemas=GAS_NEW dumpfile=gas20180123.dmp DIRECTORY=CS_DB
View Code
2)将导出的数据导入至另一新建用户GAS下(含所有原GAS_NEW用户下的对象),命令参考如下:
IMPDP GAS/GAS@ORCL DIRECTORY=CS_DB schemas=GAS_NEW dumpfile=gas20180123.dmp REMAP_SCHEMA=GAS_NEW:GAS
以上语句的说明:需要导入用户是GAS,schemas设置为GAS_NEW的原因是:导出的用户为GAS_NEW。
设置把原GAS_NEW用户的对象插入到新用户GAS下REMAP_SCHEMA=GAS_NEW:GAS
3)以上步骤能够正常执行完毕,并且原用户GAS_NEW下的对象都迁移到新用户GAS下,但有一个触发器问题。以下语句是迁入后某个触发器的命令语句:
DROP TRIGGER TR_FM_FILE_ATTR; CREATE OR REPLACE TRIGGER TR_FM_FILE_ATTR BEFORE INSERT ON GAS_NEW.FM_FILE_ATTR FOR EACH ROW WHEN ( NEW.ID IS NULL OR NEW.ID = 0 ) BEGIN SELECT SQ_FM_FILE_ATTR.NEXTVAL INTO :NEW.ID FROM DUAL; END; /
可以看出:触发器已成功在GAS用户下建立,但是内容语句却有问题,触发器仍然是创建给原用户GAS_NEW下的某个表上,需要改为当前用户GAS的表上。
处理方式如下:
1、利用toad工具去查看生成的触发器列表
2)全选所有触发器,点右键'Create in another schema'
3)点击‘OK’
4)在弹出的框体中选中 ‘Script’ 选项卡
5)‘全选’所有命令并复制出来,粘贴到记事本或其他编辑工具
6)替换GAS_NEW为GAS,然后将调整后的语句拿去用户GAS下去执行并提交
7)以上步骤就完成了触发器的修改
相关文章推荐
- oracle 导入导出数据库、删除用户以及该用户所有的对象
- oracle 导入导出数据库、删除用户以及该用户所有的对象
- 【Oracle】数据导入导出(expdp、impdp ;export、import)——用户模式
- Oracle 登陆及创建新用户 及常用SQL语句(导入导出、序列)
- Oracle对数据的导出和导入,建立用户,删除用户以及其下的所有表
- Oracle对数据的导出和导入,建立用户,删除用户以及其下的所有表
- Oracle: 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)
- Oracle 查询用户表信息,导入导出处理表空间不一致
- Oracle导入导出及删除指定用户下所有数据库脚本
- Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)
- 有关oracle遇到日期显示问题,导入导出,安装,卸载,修改listener配置文件,创建用户和表空间等的部分问题.
- Oracle: 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)
- Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)
- Oracle 删除当前用户的所有对象(表、视图、触发器、存储过程、函数)
- oracle删除当前用户中所有对象(表,视图,触发器,存储过程,函数)
- 【oracle】多个用户的对象 导出导入
- Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)
- 【oracle】多个用户的对象 导出导入
- 从一个用户expdp导出再impdp导入到另一个用户
- Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)