我正在尝试将数据复制到两个数据库,并且两者都位于不同的服务器上。两者都是Oracle 10g。
在我的电脑上,我通过Toad连接到实时数据库,我的电脑上安装了10g客户端。
通过Toad我试图导出数据转储文件,但在我的电脑上我找不到expdp.exe文件,我认为这个组件没有安装在我的电脑上。
如何在我的电脑上安装expdp.exe?
我可以在我的电脑(网络)而不是服务器上导出数据转储文件吗?
默认情况下,转储文件会复制到服务器上,但是我可以将它们复制并粘贴到我的电脑上,然后使用这些文件通过Toad将数据导入到不同的服务器上。
答案 0 :(得分:3)
Oracle数据仓导出/导入的文件只能与Oracle数据库位于同一服务器上。如果您的PC上安装了Oracle客户端,则应该使用expdp / impdp实用程序。只需确保从命令行调用它们,而不是从Toad调用它们。
所以,总结一下。将数据从一个Oracle服务器传输到另一个服务器:
答案 1 :(得分:2)
数据泵实用程序将在两个数据库之间移动模式和数据,而不是导入和导出转储文件。 Oracle建议将其作为imp和exp的继承者。
运行像这样的脚本
SET NLS_LANG =您的语言
SET ORACLE_SID =您的数据库名称
impdp import_user / destination_database_name directory = DATA_PUMP_DIR network_link = link_name schemas = user1,user2 LOGFILE = Import.log TABLE_EXISTS_ACTION = REPLACE
这是Windows语法,对于Linux会有所不同。替换您的数据库名称,模式和链接名称。
答案 2 :(得分:2)
正如其他人已经提到的那样,DataPump无法使用数据库服务器之外的文件。
但是,您不需要在本地安装expdp和impdp实用程序。您可以使用DBMS_DATAPUMP包通过SQL启动DataPump作业。
http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/d_datpmp.htm
以下是有关如何使用该软件包的一些示例:
答案 3 :(得分:2)
对于此处显示的情况,imp / exp和impdp / expdp之间的唯一区别是.dmp文件最终的位置。如果您使用PC中的exp,那么该文件将在您的PC上,您无需从Oracle服务器移动它。在我们的商店中,只有DBA可以访问服务器,所以exp就是我使用的。