oracle10G 数据泵技术

1.技术概述
 数据泵技术是基于PL/SQL的DBMS_DATAPUMP提供的
 通过两个方式可以使用 一个是命令行模式 一个是基于WEB的企业级别图像界面管理工具完成数据的迁移。
 1)数据泵与IMP/EXP的区别
  是基于IMP/EXP的,但是比IMP/EXP速度块 单线程比EXP快2倍 比IMP快15-45倍,并且支持多线程。
  在导出的文件中 以XML的形式存储DDL语句
 2)主表
  主表是一个创建在运行数据泵作业的用户模式中的比较小的表,该表用于维护所有作业的目录,存储当前输出或者输入数据实体的状态以及在泵文件中的位置,作业运行的参数以及每一个工作进程的状态,重启信息等。 在设置FILESIZE限制文件大小,必须保证文件可以存储主表信息。

2.使用
 客户进程(Client Process)
 影子进程(Shadow process)
 主控制进程(master control process:MCP)
 工作者进程(workder process) 
 

创建目录 SQL> CREATE DIRECTORY dpump_dir as '/home3/oracle/ora10/pumpdata';
赋予目录的权限 SQL> GRANT READ,WRITE TO DIRECTORY dpump_dir to scott;
命令行下导出 $ DATA_PUMP_DIR=dpump_dir
  $ export DATA_PUMP_DIR
数据泵导出  $expdp scott/tiger tables=emp dumpfile=emp.dmp DIRECTORY=dpump_dir

WINDOWS 2000 下导出
c:/>expdp scott/tiger dumpfile=scott directory=dpump_dir

使用数据泵完成数据导入
c:/>impdp scott/tiger dumpfile=scott directory=dpump_dir


3.利用数据泵技术进行表空间的传输
 1)检查数据所在的平台
  select d.platform_name,endian_format
  from v$stransportable_platform tp,v$database d
  where tp.platform_name=d.platform_name;
 2)检查表空间的字包含性
  execute dbms_tts.transport_set_check('sales_1,'true'); 返回值为空 表示没有约束关系
  select * from transport_set_violations;
  进一步要求必须有SYS用户进行。检查表空间和其他表空间之间是否有约束关系。
 3)设置表空间为只读 SQL> alter tablespace sales_1 read only;
 4)用数据泵导出表空间 expdp system/password dumpfile=sales.dmp directory = dpump_dir tansport_tablespaces=sales_1
 5)如果转换的平台不同 必须使用RMAN在原来的平台上进行文件类型的转换
  rman target sys/sales
  RMAN> convert tablespace sales_1,sales_2 to platform 'mircrosoft windows nt' format '/temp/%u';
 6)将转换后的文件传输到目标平台上
 7)导入表空间
  impdp system/oracle dumpfile=sales.dmp directory-dpump_dir transport_datafiles=/salesdb/sales_1.dbf
 8)将表空间设置成为READ WRITE
  ALTER TABLESPACE sales_1 READ WRITE;

你可能感兴趣的:(sql,database,存储,平台,oracle10g,作业)