expdp以及EXCLUDE、INCLUDE和CONTENT开关的使用



我正试图将一个数据库导入到我的本地xe实例中。我有一个问题,因为它大于11GB,一切都会崩溃。我的数据库有审计表(由envers提供)。我不需要这些数据。

这里有两个问题:

  • 我可以导出表结构,而不是作为审计表的aud_表的数据吗
  • 我可以在不同的SID上expdp吗。我的SID不是兽人而是兽人(由于历史原因)

对于第二个问题,我已经做了以下操作,但

sqlplus / as sysdba@orcllo
alter user MY_DB identified by MY_PASS ACCOUNT UNLOCK;
CREATE OR REPLACE DIRECTORY db_dumps AS '/tmp/db_dumps';
GRANT READ, WRITE ON DIRECTORY db_dumps TO MY_DB;

但是当我运行expdp时,我得到一个关于找不到db_dumps的错误。

感谢

Q.1

您可以在oracle impdp(数据泵)期间使用">EXCLUDE"或">INCLUDE">开关来转义/包含几个表。

以下代码显示了如何将它们用作命令行参数。

impdp scott/tiger@db10g schemas=SCOTT exclude=TABLE:"IN ('EMP', 'DEPT')" directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log

在出口过程中也可以这样做:

expdp scott/tiger@db10g schemas=SCOTT exclude=TABLE:"IN ('EMP', 'DEPT')" directory=TEST_DIR 

如果确实要在目标架构/db上创建结构,则应使用CONTENT=METADATA_ONLY开关。

Q.2:

不能在不同的SID上按原样使用expdp/impdp,而是通过DB-Link路由(使用NETWORK_Link开关)。

然而,我认为,由于Oracle XE的限制,Ans-1应该解决您真正的问题。此外,由于跨网络/DB数据流,可能存在性能问题。

本地和远程用户都需要授予他们IMP_FULL_DATABASE角色。

impdp test/test@db10g tables=SCOTT.EMP network_link=REMOTE_SCOTT directory=TEST_DIR logfile=impdpSCOTT.log remap_schema=SCOTT:TEST

HTH-

检查以下数据泵的更多选项:

http://www.oracle-base.com/articles/10g/oracle-data-pump-10g.php

最新更新