WEB开发网
开发学院数据库Oracle 怎样在Oracle数据库中高速导出/导入 阅读

怎样在Oracle数据库中高速导出/导入

 2007-05-10 12:16:50 来源:WEB开发网   
核心提示:迄今为止,导出/导入工具集仍是跨多个平台转移数据所需劳动强度最小的首选实用工具,怎样在Oracle数据库中高速导出/导入,尽管人们常常抱怨它速度太慢,导入只是将每条记录从导出转储文件中读出来,这个进程还在目录参数指定的位置上创建一个日志文件(同样在服务器上),默认地,然后使用常见的 INSERT INTO 命令将其插入

迄今为止,导出/导入工具集仍是跨多个平台转移数据所需劳动强度最小的首选实用工具,尽管人们常常抱怨它速度太慢。导入只是将每条记录从导出转储文件中读出来,然后使用常见的 INSERT INTO 命令将其插入到目标表中,因此导入可能是个很慢的过程,这一点并不让人感到吃惊。

进入 Oracle Data Pump,Oracle Database 10g 中的导出/导入工具包的更新更快的同类工具,它被设计来成倍地加速这个过程。

Data Pump 反映了整个导出/导入过程的彻底革新。它不是使用常见的 SQL 命令,而是应用专用 API 来以更快得多的速度加载和卸载数据。在我的测试中,我看到导出性能比在直接模式下提高了 10-15 倍,导入过程性能提高了 5 倍。此外,与使用导出实用工具不同,它还能够只取出特定类型的对象(如过程)。

Data Pump 导出

这个新的实用工具称为 expdp,以和原来的导出 exp 区分开。在本例中,我们将用 Data Pump 来导出一个大表 CASES,大小约为 3GB。Data Pump 在服务器端使用文件处理来创建和读取文件;因此,目录作为位置使用。在这种情况下,我们将使用文件系统 /u02/dpdata1 来保存转储文件。

  create directory dpdata1 as '/u02/dpdata1';
  grant read, write on directory dpdata1 to ananda;

接下来,我们将导出数据:

  expdp ananda/abc123 tables=CASES directory=DPDATA1
  dumpfile=expCASES.dmp job_name=CASES_EXPORT

让我们来分析该命令的各个部分。用户 ID/口令组合、表和转储文件参数的意义是显而易见的。与原来的导出不同,文件是在服务器(不是客户端)上创建的。位置由目录参数值 DPDATA1 指定,它指向之前创建的 /u02/dpdata1。这个进程还在目录参数指定的位置上创建一个日志文件(同样在服务器上)。默认地,这个进程使用一个名称为 DPUMP_DIR 的目录;因此可以创建它来代替 DPDATA1。

1 2 3 4  下一页

Tags:怎样 Oracle 数据库

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接