ORACLE导出(exp)与数据泵(expdp)
ORACLE提供了两个外部实用程序来将数据库对象从一个数据库传输到另一个数据库。传统的导出(exp/imp)是在10g之前引入的,然后从10g开始,ORACLE引入了datapump(expdp/impdp),作为对传统导出工具的增强。
传统出口(出口/进口)
这是一个ORACLE数据库外部实用程序,用于将数据库对象从一个数据库服务器传输到另一个数据库服务器。它允许在不同的平台、不同的硬件和软件配置上传输数据库对象。在数据库上执行导出命令时,数据库对象将与其依赖对象一起提取。这意味着,如果它提取一个表,依赖项(如索引、注释和授权)将被提取并写入导出文件(二进制格式转储文件)。下面是导出完整数据库的命令,
Cmd>;exp userid=用户名/[电子邮件保护]\u tns文件=出口.dmp日志=导出.log完整=y统计=无
上面的命令将把数据库导出到名为出口.dmp. 然后可以使用imp实用程序将这些数据导入到另一个数据库中。下面是要导入的命令,
Cmd>;imp userid=用户名/[电子邮件保护]\u tns文件=出口.dmp日志=导入.log完整=y统计=无
数据泵导出(expdp/impdp)
这也是一个ORACLE数据库外部实用程序,用于在数据库之间传输对象。此实用程序来自ORACLE 10g数据库。它比传统的exp/imp实用程序有更多的增强。把元数据和这些对象的数据格式都用这个文件来控制。expdp和impdp命令可以通过三种方式执行,
- 命令行界面(在命令行中指定expdp/impdp参数)
- 参数文件接口(在单独的文件中指定expdp/impdp参数)
- 交互式命令界面(在导出提示中输入各种命令)
使用expdp有五种不同的数据卸载模式。他们是,
- 完全导出模式(卸载整个数据库)
- 模式(这是默认模式,卸载特定模式)
- 表模式(卸载指定的一组表及其从属对象)
- 表空间模式(卸载指定表空间中的表)
- 可传输表空间模式(仅卸载指定表空间集中的表及其依赖对象的元数据)
下面是使用expdp导出完整数据库的方法,
Cmd>;expdp userid=用户名/密码dumpfile=expdp_出口.dmp日志文件=expdp_导出.logfull=y目录=导出
然后应该使用impdp实用程序将此文件导入另一个数据库。
传统的输出和数据泵有什么区别?•Datapump操作一组名为转储文件集的文件。但是,正常的导出操作在一个文件上。•Datapump访问服务器中的文件(使用ORACLE目录)。传统的导出可以同时访问客户端和服务器中的文件(不使用ORACLE目录)。•导出(exp/imp)将数据库元数据信息表示为转储文件中的ddl,但在datapump中,它以XML文档格式表示。•Datapump具有并行执行,但采用exp/imp单流执行。•Datapump不支持磁带等顺序媒体,但传统的导出支持。 |