您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将Oracle中的数据库模式导出到转储文件

如何将Oracle中的数据库模式导出到转储文件

它取决于Oracle的哪个版本?较旧的版本需要exp(导出),较新的版本需要expdp(数据泵);exp已被弃用,但在大多数情况下仍然有效。

在开始之前,请注意Data Pump会导出到服务器端Oracle“目录”,这是在数据库中映射到物理位置的Oracle符号位置。可能存在认目录(DATA_PUMP_DIR),请通过查询DBA_DIRECTORIES进行检查:

  sql> select * from dba_directories;

…如果没有,创建一个

  sql> create directory DATA_PUMP_DIR as '/oracle/dumps';
  sql> grant all on directory DATA_PUMP_DIR to myuser;    -- DBAs dont need this grant

假设您可以以SYstem用户或另一个DBA的身份进行连接,则可以将任何这样的模式导出到认目录:

 $ expdp system/manager schemas=user1 dumpfile=user1.dpdmp

或指定特定目录,添加directory=<directory name>

 C:\> expdp system/manager schemas=user1 dumpfile=user1.dpdmp directory=DUMPDIR

使用较旧的导出实用程序,您可以使用以下命令导出到工作目录,甚至可以导出到远离服务器的客户端计算机上:

 $ exp system/manager owner=user1 file=user1.dmp

确保以正确的字符集完成导出。如果尚未设置环境,则Oracle客户端字符集可能与数据库字符集不匹配,并且Oracle将进行字符集转换,而这可能不是您想要的。您将看到一个警告,如果是这样,那么您将需要在设置NLS_LANG环境变量后重复导出,以便客户端字符集与数据库字符集匹配。这将导致Oracle跳过字符集转换。

美国UTF8(UNIX)示例:

 $ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Windows使用SET,例如日语UTF8:

 C:\> set NLS_LANG=Japanese_Japan.AL32UTF8

有关数据泵的更多信息,请参见:http ://docs.oracle.com/cd/B28359_01/server.111/b28319/dp_export.htm#g1022624

Oracle 2022/1/1 18:17:58 有537人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶