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 ...
随机推荐
- Salesforce 大量数据部署的最佳实践
本文参考自官方文档.原文链接 大量数据部署对Salesforce的影响 当用户需要在Salesforce中部署大量数据的时候,部署的过程往往会变慢.这时就需要架构师或开发者设计出更好的过程来提高大量数 ...
- neutron 多租户隔离的实现以及子网间路由的实现
1.一个network相当于一个二层网络,使用vxlan 隧道连通所有的CNA节点. 2.一个VPC下有多个network,也就是会分配多个vxlan隧道,这些子网间的路由是通过DVR实现的.DVR就 ...
- JPTabBar 详细介绍
一个强大的TabBar,实现市面上APP基本上所拥有的功能,代码简单构造容易!只需不足5行代码就把基本的界面搭建出来了 附上效果图: 主要功能特色: 多种Tab切换的动画效果 实现底部导航中间按钮凸出 ...
- codeforces 803D Magazine Ad(二分+贪心)
Magazine Ad 题目链接:http://codeforces.com/contest/803/problem/D ——每天在线,欢迎留言谈论. 题目大意: 给你一个数字k,和一行字符 例: g ...
- HTMLTestRunner修改成Python3版本
修改前:HTMLTestRunner下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html BSTestRunner 下载地址:htt ...
- 关于Inception默认配置的一个坑
本文地址:https://www.cnblogs.com/ajiangg/p/9850902.html 约半年前上线了去哪儿的开源审核工具Inception(最近发现已经闭源了.....)以及基于In ...
- SQLOS任务调度算法
前些天在处理一个SQL Server LATCH导致的数据库停止响应问题时,遇到了一些需要SQLOS调度知识解决的问题,正好以前看过一篇官网的文章,在这里稍作修改贴出来. 原文网址如下: https: ...
- VueJs入门(一)
VueJs学习笔记:基本概念及简单demo Vue官方介绍:简单小巧的核心,渐进式技术栈,足以应付任何规模的应用. 简单小巧指的是vue.js压缩后仅有17KB,量轻.渐进式指的是我们学习和使用vue ...
- python拟合数据,并通过拟合的曲线去预测新值的方法
from scipy import interpolate import matplotlib.pyplot as plt import numpy as np def f(x): x_points ...
- LeetCode算法题-Reverse Vowels of a String(Java实现-四种解法)
这是悦乐书的第206次更新,第218篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第74题(顺位题号是345).编写一个函数,它将一个字符串作为输入,并仅反转一个字符串的 ...