永发信息网

如何将ORACLE内的一个用户 A 的全部数据覆盖到 已有的用户B内

答案:2  悬赏:0  手机版
解决时间 2021-03-01 09:18
  • 提问者网友:蓝琪梦莎
  • 2021-02-28 12:19
举例: 用户A 和用户B 为除名字外完全相同的用户。 现想将已经更改的A用户内的数据 完全的覆盖到B用户内。 有人提出用导入导出方式 。 exp A\123@orcl file=D:A.dmp imp B\123@orcl file=D:A.dmp full=y ignore=y 导出没有问题。 导入时提示 违反唯一约束条件而 部分失败。 还有人说需要删除B用户在重新建立B用户。 使用语句 drop user B cascade 删除时提示无法删除当前已连接的用户。 我用select * from v$session 去kill 掉线程后又会出现很多。 在不影响用户A的前提下需要将数据完成的覆盖到B上 。
最佳答案
  • 五星知识达人网友:神也偏爱
  • 2021-02-28 13:31
删掉B用户下所有的表,视图和存储过程,然后在备份A用户的表,视图和存储过程,然后在用B用户还原。
全部回答
  • 1楼网友:醉吻情书
  • 2021-02-28 15:07
你是想在导入数据时,将同一表名的,同一表结构的,导入时,将原有表中记录清空?还是想将同一表名的,不论是否同一表结构的,导入时,将原有表删除,导入新的? 如果是前者,在 impdp 导入时,指定 table_exists_action= truncate。 如果是后者,在impdp 导入时,指定 table_exists_action= replace
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯