我试图在aws RDS实例中将对象从一个模式复制到另一个模式。下面是我使用的步骤。
create user target_usr identified by target_usr;
GRANT CREATE JOB TO target_usr;
GRANT CREATE TYPE TO target_usr;
GRANT CREATE MATERIALIZED VIEW TO target_usr;
GRANT CREATE ANY TRIGGER TO target_usr;
GRANT CREATE TRIGGER TO target_usr;
GRANT CREATE PROCEDURE TO target_usr;
GRANT CREATE DATABASE LINK TO target_usr;
GRANT CREATE SEQUENCE TO target_usr;
GRANT CREATE VIEW TO target_usr;
GRANT CREATE SYNONYM TO target_usr;
GRANT CREATE TABLE TO target_usr;
GRANT UNLIMITED TABLESPACE TO target_usr;
GRANT ALTER SESSION TO target_usr;
GRANT CREATE SESSION TO target_usr;
源模式已经存在,与target_usr几乎相同; 现在创建了公共数据库链接
CREATE public DATABASE LINK "dblink" CONNECT TO source_usr IDENTIFIED BY <> USING '<tns entry of aws rds instance';
我使用示例选择查询测试了db链接,并按预期返回结果,因此db链接没有问题。
当我尝试执行以下数据泵时,我得到的错误就像。
impdp superuser/sppwd@sourcetns schemas=source_usr directory=DATA_PUMP_DIR network_link=dblink remap_schema=source_usr:target_usr logfile=DATA_PUMP_DIR:SCOTT_NEW.log
我现在低于错误
Connected to: Oracle Database 11g Release 11.2.0.4.0 - 64bit Production
ORA-31631: privileges are required
ORA-39149: cannot link privileged user to non-privileged user
我搜索了很多谷歌,但没有得到我需要的东西。可以请你帮忙
答案 0 :(得分:0)
请参阅Oracle支持文档ID 351598.1。数据库链接中指定的用户没有足够的权限来执行导出。授予该用户必要的权限,或者使用对远程数据库具有足够权限的用户创建和使用不同的数据库链接。