如何从Oracle data pump导入表的特定rownum范围?
我正在使用Oracle XE 11g的impdp,试图从数据泵文件(*.dmp)导入表的特定范围(以rownum为单位) 在基本Oracle查询中,我们可以读取rownum范围内的数据(my_start=my_start和r如何从Oracle data pump导入表的特定rownum范围?,oracle,Oracle,我正在使用Oracle XE 11g的impdp,试图从数据泵文件(*.dmp)导入表的特定范围(以rownum为单位) 在基本Oracle查询中,我们可以读取rownum范围内的数据(my_start=my_start和r
感谢您阅读我的问题。据我所知,您必须导入整个表并删除不需要的内容
或者,更改一个表并添加一个新列,该列将表示您感兴趣的范围。然后,当您想要导入该特定范围时,请使用导入数据泵的
QUERY
子句中新添加的列。使用这样的子查询仅对order by
才有意义。您正在尝试获取一个包含下限和上限的范围,但即使只是一个上限,如链接问题(WHERE rownum@AlexPoole最终,我试图将一个超过100GB的表从一个数据泵文件导入到限制为11GB的Oracle XE中。因此,我决定安装多个Oracle XE(docker容器),将表拆分为10GB的部分并分别导入。ROWNUM是最简单的拆分条件,所以我正在使用它。有没有更好的方法拆分表?我可以在导入整个表之前更改表吗?如果可以,我如何编写impdp查询?导入前更改是无用的。我想在导出前更改。不幸的是,我无法访问原始数据库以再次导出数据库。我唯一拥有的是数据泵文件(*.dmp)。我明白了…那么,我知道的唯一选项是导入所有数据并删除您不需要的内容。数据太大,无法立即将文件导入Oracle XE。无论如何,感谢您考虑并回答我的问题!
SELECT * from (
SELECT t.*, ROWNUM r
from my_table t
) WHERE r >= my_start AND r < my_end