@ kralco626 - 我知道这个问题是旧的,但你可以做的是在源数据库中创建一个与原始表的参数匹配的临时表。然后将要移动到新数据库的记录从原始表复制到新的临时表中。 语法:
CREATE TABLE source_new_table
AS (SELECT * FROM source_old_table
WHERE old_table.column_name = criteria);
现在导出新的临时表数据泵导出表的命令。 语法:
EXPDP source_schema_name/source_schema_password TABLES=source_new_table DIRECTORY=datapump_dir DUMPFILE=dumpfile_name.dpdmp LOGFILE=expdp_logfile_name COMPRESSION=ALL
采取这一数据泵导出文件,并用它做一个数据泵导入表命令到目标数据库。 语法:
IMPDP destination_schema_name/destination_schema_password TABLES=source_new_table DIRECTORY=datapump_dir DUMPFILE=dumpfile_name.dpdmp LOGFILE=impdp_logfile_name
然后从该新导入的临时表中的记录追加到原始表在目标数据库。 语法:
INSERT INTO destination_old_table
SELECT * FROM source_new_table;
做每一个你需要从源数据库获取数据表此相同的一步。 完成所有工作后,您只需从两个数据库中删除临时表。 语法:
DROP TABLE destination_schema_name.source_new_table;
DROP TABLE source_schema_name.source_new_table;
这应该让你得到你想要的结果。
看起来很有趣。我会看一看。看起来有一个更新版本的命令:http://www.orafaq.com/wiki/Data_Pump – kralco626
虽然有一个问题,我该如何去使用这些命令?我在安装SQL Developer的windows xp上。我需要安装其他东西吗? – kralco626
此外,它看起来像使用这个过程需要一个数据库链接,所以导入和导出。'使用网络模式导入时,不需要任何中间转储文件(GREAT,不再需要转储文件的FTP)。数据通过数据库链接导出并直接导入到目标数据库中'这是一个我可以在本地计算机上执行的命令,让它在那里存储dmp文件,然后从那里加载转储文件,所以我不必使用数据库链接? – kralco626