在 Oracle IMPDP 中获取 table 的前 X 行

Get first X rows from table in Oracle IMPDP

我只想从指定的表中获取前 X 行。我确实通过 .par 文件导入数据泵,我在其中插入了说明。

我尝试了很多组合,但 none 有效。

就我在文档中搜索而言,我应该这样做:

INCLUDE=TABLE:"IN ('TABLE1', 'TABLE2', 'TABLE3') FETCH FIRST 10 ROWS ONLY"

但我收到错误消息,指出 INCLUDE 的值格式错误:

ORA-39001: invalid argument value
ORA-39071: Value for INCLUDE is badly formed.
ORA-00933: SQL command not properly ended

版本:Oracle 数据库 11g 快捷版 11.2.0.2.0 版 - 64 位生产

我认为您必须将 QUERY=TABLE1:"WHERE rownum <= X" 合并到您的参数文件中。请记住,FETCH 是 11g 中不可用的 12c 功能。

所以它看起来像这样:

INCLUDE=TABLE:"IN ('TABLE1', 'TABLE2', 'TABLE3')"
QUERY=TABLE1:"WHERE rownum <= 100"
QUERY=TABLE2:"WHERE rownum <= 100"
QUERY=TABLE3:"WHERE rownum <= 100"