0

我是 Oracle 的新手,我需要一些帮助。我想将一些表从 STAT 用户转储到 ALLSTAT。

STAT 获得 imp_full_database 权限,ALLSTAT 获得 exp_full_database 1,没有 dba 权限。

我在我的本地主机上测试 impdp,所以 NETWORK LINK 是这样创建的:

CREATE DATABASE LINK transport CONNECT TO STAT IDENTIFIED BY STATPASS USING '127.0.0.1:1521/XE';

比我在 cmd 中尝试:

impdp ALLSTAT/ALLSTATPASS@XE NETWORK_LINK=transport TABLES=STAT.LOGS CONTENT=ALL TABLE_EXISTS_ACTION=REPLACE;

我没有收到错误消息,但是在这个脚本之后,我在 STAT 用户上得到了空的 LOGS 表。

在我看来,在 impdp 期间,它尝试将数据导入到表中,而不是 ALLSTAT.LOGS 而是导出的 STAT.LOGS。

即使我以 ALLSTAT 用户身份登录,我也可以查看、编辑、删除 STAT.* 表。

你能告诉我,我应该通过哪种方式从 STAT.LOGS 中获取 ALLSTAT 自己的表 LOGS?

PS对不起我的英语:(

4

2 回答 2

2

建立了一个解决方案。

impdp ALLSTAT/ALLSTATPASS@XE NETWORK_LINK=transport TABLES=STAT.LOGS CONTENT=ALL TABLE_EXISTS_ACTION=REPLACE REMAP_SCHEMA=STAT:ALLSTAT;

REMAP_SCHEMA=STAT:ALLSTAT 是必需的,

谢谢@davegreen100

于 2015-06-03T07:37:42.593 回答
0

impdp命令TABLE_EXISTS_ACTION=REPLACE对我有用。

于 2020-12-09T20:32:26.320 回答