我在Oracle中很新,我需要一些帮助。 我想把一些表从STAT用户转储到ALLSTAT。
STAT获得了imp_full_database privelege,ALLSTAT获得了exp_full_database一个,没有dba权限。
我正在我的localhost上测试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。*表。
你能告诉我,我应该采用哪种方式来获取ALLSTAT拥有来自STAT.LOGS数据的表LOGS?
P.S。对不起我的英文:(
答案 0 :(得分:0)
建立了一个解决方案。
impdp ALLSTAT/ALLSTATPASS@XE NETWORK_LINK=transport TABLES=STAT.LOGS CONTENT=ALL TABLE_EXISTS_ACTION=REPLACE REMAP_SCHEMA=STAT:ALLSTAT;
REMAP_SCHEMA = STAT:ALLSTAT是必需的,
thx to @ davegreen100
答案 1 :(得分:0)
impdp
和TABLE_EXISTS_ACTION=REPLACE
的命令对我有用。