oracle数据泵不同工作方式性能比较(四)测试外部表导出、导入方式

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间、直接路径、外部表方式,以及数据库链方式导出、导入的性能差异。

这篇测试外部表导出、导入方式。

首先清除上一篇文章中导入的用户和表空间,并重新建立测试用户和表空间。

SQL> DROP USER TJSQ_NDMAIN CASCADE;

User dropped.

SQL> DROP USER TJSQ_TRADE CASCADE;

User dropped.

SQL> DROP USER TJSQ_GOV CASCADE;

User dropped.

SQL> DROP USER TJSQ_NDMAIN_OPER CASCADE;

User dropped.

SQL> DROP USER TJSQ_TRADE_OPER CASCADE;

User dropped.

SQL> DROP TABLESPACE TJSQ INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

SQL> DROP TABLESPACE TJSQ_TMP INCLUDING CONTENTS AND DATAFILES;

Tablespace dropped.

下面重新创建用户,并设置权限:

SQL> CREATE USER TJSQ_NDMAIN IDENTIFIED BY TJSQ_NDMAIN;

User created.

SQL> CREATE USER TJSQ_TRADE IDENTIFIED BY TJSQ_TRADE;

User created.

SQL> CREATE USER TJSQ_GOV IDENTIFIED BY TJSQ_GOV;

User created.

SQL> CREATE USER TJSQ_NDMAIN_OPER IDENTIFIED BY TJSQ_NDMAIN_OPER;

User created.

SQL> CREATE USER TJSQ_TRADE_OPER IDENTIFIED BY TJSQ_TRADE_OPER;

User created.

SQL> GRANT CONNECT TO TJSQ_GOV;

Grant succeeded.

SQL> GRANT RESOURCE TO TJSQ_GOV;

Grant succeeded.

SQL> GRANT CONNECT TO TJSQ_NDMAIN;

Grant succeeded.

SQL> GRANT RESOURCE TO TJSQ_NDMAIN;

Grant succeeded.

SQL> GRANT CONNECT TO TJSQ_NDMAIN_OPER;

Grant succeeded.

SQL> GRANT RESOURCE TO TJSQ_NDMAIN_OPER;

Grant succeeded.

SQL> GRANT CONNECT TO TJSQ_TRADE;

Grant succeeded.

SQL> GRANT RESOURCE TO TJSQ_TRADE;

Grant succeeded.

SQL> GRANT CONNECT TO TJSQ_TRADE_OPER;

Grant succeeded.

SQL> GRANT RESOURCE TO TJSQ_TRADE_OPER;

Grant succeeded.

SQL> GRANT CREATE SYNONYM TO TJSQ_GOV;

Grant succeeded.

SQL> GRANT CREATE SYNONYM TO TJSQ_NDMAIN;

Grant succeeded.

SQL> GRANT CREATE SYNONYM TO TJSQ_NDMAIN_OPER;

Grant succeeded.

SQL> GRANT CREATE DATABASE LINK TO TJSQ_TRADE;

Grant succeeded.

SQL> GRANT CREATE SYNONYM TO TJSQ_TRADE;

Grant succeeded.

SQL> GRANT CREATE SYNONYM TO TJSQ_TRADE_OPER;

Grant succeeded.

表空间的建立以及数据文件初始化的时间需要单独计时:

SQL> SET TIMING ON

SQL> CREATE TABLESPACE TJSQ DATAFILE '/data/oracle/oradata/tjsq/tjsq01.dbf' size20g,

 2  '/data/oracle/oradata/tjsq/tjsq02.dbf' size4g;

Tablespace created.

Elapsed: 00:02:07.68

SQL> CREATE TABLESPACE TJSQ_TMP DATAFILE '/data/oracle/oradata/tjsq/tjsq_tmp.dbf' size4g;

Tablespace created.

Elapsed: 00:00:22.19

这个步骤总用时2分30秒。

显然执行外部表方式的导出,由于Oracle默认采用直接路径的方式,因此要改变这种默认的设置,就必须做一些改动。

对于导出而言,如果需要外部表方式对所有的表都适用,最好的方法就是使用QUERY方式导出,加上一个恒等的导出条件,将使得导出不在使用直接路径方式:

时间: 2024-11-08 22:05:33

oracle数据泵不同工作方式性能比较(四)测试外部表导出、导入方式的相关文章

oracle数据泵不同工作方式性能比较(五)测试NETWORK_LINK导入方式

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 这篇测试NETWORK_LINK导入方式. 首先清除上一篇文章中导入的用户和表空间,并重新建立测试用户和表空间. SQL> DROP USER TJSQ_NDMAIN CASCADE; User dropped. SQL> DROP USER TJSQ_TRADE CASCADE; User dropped. SQL

oracle数据泵不同工作方式性能比较(三)测试直接路径导出、导入方式

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 这篇测试直接路径导出.导入方式. 首先清除上一篇文章中导入的用户和表空间,并重新建立测试用户和表空间. SQL> DROP USER TJSQ_NDMAIN CASCADE; User dropped. SQL> DROP USER TJSQ_TRADE CASCADE; User dropped. SQL>

oracle数据泵不同工作方式性能比较(二)

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 首先检查源数据库的表空间是否满足自包含条件: SQL> EXEC DBMS_TTS.TRANSPORT_SET_CHECK('TJSQ,TJSQ_TMP') PL/SQL procedure successfully completed. SQL> SELECT * FROM TRANSPORT_SET_VIOLAT

oracle数据泵不同工作方式性能比较(一)测试环境

根据Oracle的文档的描述,数据泵采用不同的方式导出导入,性能也会有明显的差别,这次正好有机会测试一下,迁移表空间.直接路径.外部表方式,以及数据库链方式导出.导入的性能差异. 这篇介绍一下测试环境. 源数据库和目标数据库的版本都是10.2.0.3,不存在版本差异,字符集都是ZHS16GBK,国家字符集都是AL16UTF16字符集,源数据库和目标数据库都是16k的BLOCK_SIZE,因此采用迁移表空间的方式不存在任何的问题: SQL> SELECT GLOBAL_NAME FROM GLOB

oracle数据泵EXPDP和IMPDP使用说明

oracle数据泵EXPDP和IMPDP使用说明       首先标题不知道是否正确,oracle数据泵好像包含了好多概念,目前只是零星接触了一下EXPDP和IMPDP工具.据百度而来的资料,oracle10g之后推出的这个工具在性能上要比此前的EXP和IMP要高,而且支持从高版本向低版本导入和导出,所以在需要学习数据导入导出的时候,直接考虑EXPDP和IMPDP了.在此,记录一下这两个工具的使用方法. 一.准备:创建逻辑目录,并赋予oracle对其的读写权限 1.使用EXPDP工具时,其转存储

Oracle数据泵导出导入与传统导出导入的区别

 估计有不少的朋友不清楚Oracle数据泵导出导入与传统导出导入的区别吧,下面小编为各位介绍一下,有兴趣的朋友不防进入一起参考.   先来看一下Oracle数据泵导出导入例子 1.首先建立目录: create directory 目录名称 as '数据库服务器上的一个目录',如:  create directory 别名 as 'd:\服务器目录名';  将导入或导出的文件放在这个目录下 2.导出及导入 以SID=orcl,导出dmp的账号为test,导入dmp的账号为test为例. 若将数据从

Oracle数据泵(Data Dump)错误汇集

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的错误案例,都会补充在此篇. 错误案例1: ORA-39065: DISPATCH 中出现意外的主进程异常错误:ORA-44002: 对象名无效 Windows 平台错误提示: Linux平台错误提示 解决方法: [oracle@DB-Server admin]$

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例_oracle

Oracle数据泵(Data Dump)使用过程当中经常会遇到一些奇奇怪怪的错误案例,下面总结一些自己使用数据泵(Data Dump)过程当中遇到的问题以及解决方法.都是在使用过程中遇到的问题,以后陆续遇到数据泵(Data Dump)的错误案例,都会补充在此篇. 错误案例1: ORA-39065: DISPATCH 中出现意外的主进程异常错误:ORA-44002: 对象名无效 Windows 平台错误提示: Linux平台错误提示 解决方法: [oracle@DB-Server admin]$

Oracle数据泵如何对已经存在的表加载索引

一个朋友提到一个数据泵导入的问题,在表存在的情况下,不删除表,且导入表的数据和索引. 其实这个任务对于imp很简单,因为imp的工作方式就是如此. SQL> CREATE TABLE T_EXP 2  (ID NUMBER, NAME VARCHAR2(30)); 表已创建. SQL> CREATE INDEX IND_T_EXP_ID 2  ON T_EXP(ID); 索引已创建. SQL> INSERT INTO T_EXP 2  SELECT ROWNUM, TNAME 3  FR