oracle impdp将导出用户的所有对象导入至另一个用户下,生成的触发器语句问题处理
问题产生的操作步骤及详细说明:
1)操作的数据库是oracle 11g,先通过命令将用户GAS_NEW的数据导出,命令语句如下:
expdp GAS_NEW/GAS_NEW@ORCL schemas=GAS_NEW dumpfile=gas20180123.dmp DIRECTORY=CS_DB
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 impdp将导出用户的所有对象导入至另一个用户下,生成的触发器语句问题处理的更多相关文章
- oracle 把一个用户的表结构导入到另一个用户下
create table AM_CONTENTS as select * from bizdata008.AM_CONTENTS where 1=2
- oracle 高版本导出低版本数据库并且导入到低版本数据的方法
第一步:sqlplus system/egis@orcl as sysdba; 进入sqlplus (输入管理员用户名/密码@数据库密码) 第二步: create directory dumpdir ...
- Oracle 一个用户将表权限赋给另一个用户
原文地址:https://blog.csdn.net/u012129031/article/details/76218764 1.将用户user1的表权限赋给用户user2 select 'gra ...
- oracle创建用户、授权、导入、导出命令总结
1.创建用户 需要先用system用户登录数据库,因为system用户具有创建其他用户的权限. 语法[创建用户]: create user 用户名 identified by 口令[即密码]: 例子: ...
- oracle两种导出导入方式,即imp与impdp之比较
尽管使用了很多次impexp及impdpexpdp但是使用起来还是会遇到很多问题,现总结如下: 应用:将一个用户的所有表结构及索引,触发器,过程,函数等导入到另一用户里 imp/exp 导出用户表结构 ...
- Oracle一个用户查询另一个用户的表数据
1.两个用户是在不同的库,需要建立dblink 2.属于同一个库的不同用户 1)方法一:使用"用户名."的方式访问 例如:要从USER1账号访问USER2中的表TABLE2 A. ...
- 两种方法将oracle数据库中的一张表的数据导入到另外一个oracle数据库中
oracle数据库实现一张表的数据导入到另外一个数据库的表中的方法有很多,在这介绍两个. 第一种,把oracle查询的数据导出为sql文件,执行sql文件里的insert语句,如下: 第一步,导出sq ...
- 05 Linux系统下的用户以及用户权限管理(权限管理介绍、用户管理、常见命令介绍)
这一节我们介绍Linux的用户以及权限管理的前半段,包括:1.权限管理介绍: 2.用户管理: 3.常见命令 权限管理介绍 权限管理: 为了访问计算机资源,我们需要对其进行授权才能访问,根据什么东西来进 ...
- USER 指定当前用户,希望以某个已经建立好的用户来运行某个服务进程,不要使用 su 或者 sudo,这些都需要比较麻烦的配置,而且在 TTY 缺失的环境下经常出错。建议使用 gosu
USER 指定当前用户 格式:USER <用户名>[:<用户组>] USER 指令和 WORKDIR 相似,都是改变环境状态并影响以后的层.WORKDIR 是改变工作目录,US ...
随机推荐
- python Kmeans算法解析
一. 概述 首先需要先介绍一下无监督学习,所谓无监督学习,就是训练样本中的标记信息是位置的,目标是通过对无标记训练样本的学习来揭示数据的内在性质以及规律.通俗得说,就是根据数据的一些内在性质,找出其内 ...
- 使用Visual Studio Team Services敏捷规划和项目组合管理(六)——VSTS仪表盘的使用
使用Visual Studio Team Services敏捷规划和项目组合管理(六)--VSTS仪表盘的使用 仪表盘使团队能够看到项目的状态和监控项目的进展.简单来说,不必深入到团队项目站点的其他部 ...
- 翻译:MySQL "Got an Error Reading Communication Packet" Errors
前言: 本文是对Muhammad Irfan的这篇博客MySQL "Got an Error Reading Communication Packet" Errors的翻译,如有翻 ...
- SQL Script
查某字段是否有汉字 SELECT*FROM TB WHERE COL LIKEN'%[吖-咗]%'
- solidity高级理论(三):时间单位与view
solidity高级理论(三):时间单位与view 关键字:时间单位.view.Gas优化 solidity使用自己的本地时间单位 变量 now 将返回当前的unix时间戳(自1970年1月1日以来经 ...
- ELK-logstash-6.3.2-常用配置
1. input-file收集日志信息 [yun@mini04 config]$ pwd /app/logstash/config [yun@mini04 config]$ cat file.conf ...
- Docker+Nextcloud快速部署个人网盘
各位大佬好,,,萌新顾北清又回来更新了,今天要快速部署一个人网盘. 有多快呢,,,5分钟吧,因为我们使用Docker部署. Docker基础可以看看我之前的博文.(点这里点这里) 那么,,,开始吧. ...
- March 11th, 2018 Week 11th Sunday
All good things must come to an end. 好景无常. Love is when the other person's happiness is more importa ...
- Xlua 不同平台链接库编译
xlua 下载包中提供lua5.3的库文件,如果需要luajit或者自己添加删除的就需要自己进行编译. Lua53版本没那么多事,主要是LuaJIt版本折腾的比较久. 工具 Xlua使用CMake进行 ...
- 自定义实现HashMap的put、get方法
public class HashMap{ public static void main(String[] args){ put("aa", "wo ai ni&quo ...