11

我需要将用户(包括表、过程等)转储为FILENAME.dmp.

如果我创建一个新用户并导入它FILENAME.dmp,那么应该创建所有内容。

如何创建此转储文件?

不要告诉我使用Run > EXPorRun > IMP功能,因为由于某些问题,该功能对我不起作用。

4

5 回答 5

22

EXP(导出)和 IMP(导入)是您需要的两个工具。最好尝试在命令行和同一台机器上运行这些。

它可以远程运行,您只需要TNSNAMES.ORA正确设置并安装与数据库相同版本的所有开发人员工具。在不知道您遇到的错误消息的情况下,我无法帮助您让 exp/imp 正常工作。

导出单个用户的命令:

exp userid=dba/dbapassword OWNER=username DIRECT=Y FILE=filename.dmp

这将创建导出转储文件。

要将转储文件导入不同的用户模式,首先在SQLPLUS中创建新用户:

SQL> create user newuser identified by 'password' quota unlimited users;

然后导入数据:

imp userid=dba/dbapassword FILE=filename.dmp FROMUSER=username TOUSER=newusername

如果有大量数据,则调查增加BUFFERS或查看 expdp/impdp

exp 和 imp 最常见的错误是设置错误。检查您的PATH包含$ORACLE_HOME/bin,检查$ORACLE_HOME是否设置正确并且检查$ORACLE_SID是否设置

于 2009-05-12T12:37:31.090 回答
9

只是为了保持最新:

当前版本的 SQLDeveloper 有一个导出工具Tools > Database Export

如果您习惯于在 GUI 环境中工作,那么它的设置和使用要容易得多expimp但如果您需要使用它来编写任何脚本,它就没有那么通用了。

于 2012-05-19T12:50:42.453 回答
1

就像更新一样,这也可以通过使用 Toad 9 来完成。转到数据库>导出>数据泵导出向导。在目标目录窗口中,如果您在下拉列表中找不到任何目录,那么您可能必须创建一个目录对象。

CREATE OR REPLACE DIRECTORY data_pmp_dir_test AS '/u01/app/oracle/oradata/pmp_dir_test'; 

请参阅此示例

于 2012-09-25T21:22:18.767 回答
0

制作表、用户和程序转储文件有一些简单的步骤:

转到 sqlplus 或任何 sql*plus connect by your username or password

  1. 现在输入host,它看起来像SQL>host。
  2. 现在键入“exp”表示导出。
  3. 它要求您输入用户名和密码,并提供您要制作转储文件的用户的用户名和密码。
  4. 现在按 Enter。
  5. 现在导出文件的选项闪烁:EXPDAT.DMP>_(给您想要制作转储文件的位置的路径和文件名,例如 e:\FILENAME.dmp),然后按 Enter
  6. 选择“整个数据库”或“表”或“用户”选项,然后按 Enter
  7. 再次按 Enter 2 次表数据并压缩范围
  8. 输入表的名称,就像我想让表学生的 dmp 文件存在一样,所以输入学生并按 Enter
  9. 输入退出现在您给定路径的文件是转储文件现在导入该dmp文件以获取所有表数据。
于 2017-08-19T14:41:23.510 回答
-1

导出(或数据泵,如果你有 10g/11g)是这样做的方法。为什么不问如何解决你的问题,而不是试图找到另一种方法呢?

于 2009-05-12T12:23:39.303 回答