当前位置: 首页 > 面试题库 >

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

夹谷衡
2023-03-14
问题内容

我在Linux机器上安装的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



 类似资料:
  • 我的代码出了什么问题? 如果导出成功,数据存储在哪里?

  • 通过SQL Developer,我向Oracle数据库添加了一个新的存储过程。它不仅列在存储过程列表中(与其他每个SP一起),而且我可以在SQL Developer上轻松地执行它。 问题是我似乎无法从外部应用程序执行它。数据库链接到它,我可以调用所有其他存储过程,但不能调用我刚刚创建的存储过程。我收到的错误消息是: ORA-06550:第1行,第7列:PLS-00201:标识符'SETDATE'必

  • 问题内容: 我正在尝试将Pandas DataFrame导出到Oracle数据库。我在Pandas中遇到过Write_Frame函数,这听起来确实正是我所需要的。 但是,我已经在线进行了大量搜索,但无法使其正常工作。我已经导入了cx_Oracle,并且可以连接到Oracle数据库以及运行SQL查询而没有任何问题,但是当我运行它时,它给了我一个’ NotImplementedError ‘: 到目前

  • 本文向大家介绍Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法,包括了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Python程序设

  • 问题内容: 如何从MySQL导入“ xxxx.sql”转储到PostgreSQL数据库? 问题答案: 不要指望没有编辑就可以工作。也许很多编辑。 mysqldump有一个兼容性参数,其中“名称”可以是“ oracle”或“ postgresql”,但这不能保证兼容性。我认为像ANSI_QUOTES这样的服务器设置也有一定作用。 如果包含用于创建转储的完整命令以及收到的任何错误消息,而不仅仅是说“对

  • 问题内容: 我知道这是可能的,但我不确定从哪里开始。有人能做到吗? 谢谢。 问题答案: 本文中描述的类会将SQL lite DB导出到XML文件。 http://www.screaming-penguin.com/node/7749 完整的示例在此SVN存储库中可用。在类调用出口。 http://totsp.com/svn/repo/AndroidExamples/trunk/ 您将需要创建一个暴