我需要将用户(包括表、过程等)转储为FILENAME.dmp
.
如果我创建一个新用户并导入它FILENAME.dmp
,那么应该创建所有内容。
如何创建此转储文件?
不要告诉我使用Run > EXP
orRun > IMP
功能,因为由于某些问题,该功能对我不起作用。
我需要将用户(包括表、过程等)转储为FILENAME.dmp
.
如果我创建一个新用户并导入它FILENAME.dmp
,那么应该创建所有内容。
如何创建此转储文件?
不要告诉我使用Run > EXP
orRun > IMP
功能,因为由于某些问题,该功能对我不起作用。
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
是否设置
只是为了保持最新:
当前版本的 SQLDeveloper 有一个导出工具Tools > Database Export
(
如果您习惯于在 GUI 环境中工作,那么它的设置和使用要容易得多exp
,imp
但如果您需要使用它来编写任何脚本,它就没有那么通用了。
就像更新一样,这也可以通过使用 Toad 9 来完成。转到数据库>导出>数据泵导出向导。在目标目录窗口中,如果您在下拉列表中找不到任何目录,那么您可能必须创建一个目录对象。
CREATE OR REPLACE DIRECTORY data_pmp_dir_test AS '/u01/app/oracle/oradata/pmp_dir_test';
请参阅此示例。
制作表、用户和程序的转储文件有一些简单的步骤:
转到 sqlplus 或任何 sql*plus
connect by your username or password
导出(或数据泵,如果你有 10g/11g)是这样做的方法。为什么不问如何解决你的问题,而不是试图找到另一种方法呢?