Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Oracle PL/SQL Developer创建转储?_Oracle_Plsqldeveloper - Fatal编程技术网

如何使用Oracle PL/SQL Developer创建转储?

如何使用Oracle PL/SQL Developer创建转储?,oracle,plsqldeveloper,Oracle,Plsqldeveloper,我需要将用户的转储(包括表、过程等)作为FILENAME.dmp 如果我创建了一个新用户并导入了FILENAME.dmp,那么应该创建所有内容 如何创建此转储文件 不要告诉我使用Run>EXP或Run>IMP功能,因为由于某些问题,该功能对我不起作用。导出(或数据泵,如果您有10g/11g)是一种方法。为什么不问问如何解决你的问题,而不是尝试另一种方法呢?EXP(导出)和IMP(导入)是你需要的两种工具。最好尝试在命令行和同一台机器上运行这些命令 它可以从远程运行,您只需正确设置TNSNAMES

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

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

如何创建此转储文件

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

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

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
如果有大量数据,则调查是否增加
缓冲区
或查看expdp/impdp


exp和imp最常见的错误是设置。检查您的
路径
包括
$ORACLE\u HOME/bin
,检查
$ORACLE\u HOME
设置是否正确,并检查
$ORACLE\u SID
是否设置为最新:

当前版本的SQLDeveloper有一个导出工具(
Tools>Database export
),允许您将架构转储到文件中,并带有对象类型、对象名称、表数据等的过滤器


如果您习惯于在GUI环境中工作,那么它的设置和使用要比
exp
imp
容易得多,但如果您需要使用它编写脚本,它就没有那么多功能了。

作为更新,也可以使用Toad 9。转到数据库>导出>数据泵导出向导。在Destination directory窗口中,如果您在下拉列表中找不到任何目录,则可能需要创建目录对象

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

请参见此以获取详细信息。

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

转到sqlplus或任何sql*plus
通过用户名或密码连接

  • 现在键入host,它看起来像SQL>host
  • 现在类型“exp”表示导出
  • 它要求您输入用户名和密码,并给出您要生成转储文件的用户的用户名和密码
  • 现在按回车键
  • 现在,导出文件:EXPDAT.DMP>\的选项将闪烁(提供要生成转储文件的路径和文件名,例如:\FILENAME.DMP),然后按enter键
  • 选择选项“整个数据库”或“表”或“用户”,然后按Enter键
  • 再次按Enter键再输入2次表数据并压缩范围
  • 输入表名,就像我想使表student的dmp文件存在一样,因此键入student并按Enter键
  • 输入立即退出指定路径下的文件是dump file now导入该dmp文件以获取所有表数据

  • 由于路径问题,imp可能无法工作。如果您从命令行运行imp会发生什么?实际上,您需要的是运行exp,而不是imp。@Chandra Sekhar:Ibe如何从远程机器执行此操作?我必须键入IP地址吗?您能提供一个例子吗?IIRC您将使用访问远程计算机的常用语法(就像您使用SQLPLUS一样),即userid=dba/password@remoteserver其中“remoteserver”已在您的TNSNAMES.ORA文件中定义。我无权编辑TNSNAMES.ORA,并且在TNSNAMES.ORA文件中不存在remoteserver条目。现在我该怎么办(要求修改您的本地tnsnames.ora文件。需要更改的tnsnames.ora文件是您访问的计算机上的文件。您不需要更改数据库服务器上的tnsnames.ora。否则,您必须使用完全限定的用户名形式/password@server很抱歉,但是你必须点击Oracle docs/Google(或查看asktom.oracle.com)一些文件路径的格式如下:`Filepath`给出一个路径意味着您要放置转储文件的目的地,如示例中我使用的驱动器E so E:\any_name_of_file.dmp(扩展名)No…我的意思是,在您的回答中,有“E:\FILENAME.dmp”,能否将其更改为“e:\FILENAME.dmp”,请确保保留“?是的,可以保留单引号事实上,您可以不使用任何单引号或双引号来编写它