重庆思庄Oracle、Redhat认证学习论坛

标题: 使用data pump驱动的外部表移动数据 [打印本页]

作者: 郑全    时间: 2012-7-8 22:31
标题: 使用data pump驱动的外部表移动数据

使用data pump驱动的外部表移动数据

比如我们有一个报表的数据,准备从一个数据库A中移动到另一个数据库B中,如何实现?

这个问题,我们使用带data pump驱动的外部表方式,很容易实现,具体方法如下:
1.在A库中,使用data pump驱动创建一个外部表,把报表的数据全部卸载到指定数据文件中:
  1.1 创建一个目录
  create directory exp_dir as '/home/oracle/';
  grant read,write on directory exp_dir to hr;

  1.2 把报表数据通过外部表方式卸载到exp_dir目录下面的两个文件下面:
    create table extab_emp_dp
     (employee_id number(4),
      last_name varchar2(30),
      hire_date date,
      salary number)
    organization external
       (type oracle_datapump
        default directory exp_dir
        location ('empdp.exp','empdp1.exp')
       )
       parallel
    as
       select employee_id,last_name,hire_date,salary from hr.employees;

  1.3 查看/home/oracle/ 下,应该产生两个二精致文件:
       ls /home/oracle/empdp*.exp

2.把 /home/oracle/empdp.exp,/home/oracle/empdp1.exp拷贝到B 库中
 
3.在B库上通过外部表方式,装载数据
  3.1 创建一个目录
  create directory exp_dir as '/home/oracle/';
  grant read,write on directory exp_dir to hr;
 
  3.2 装载数据 
  create table extab_emp_dp
     (employee_id number(4),
      last_name varchar2(30),
      hire_date date,
      salary number)
  organization external
  (type oracle_datapump
    default directory exp_dir
    location ('empdp.exp','empdp1.exp')
  )
   parallel

 3.3 查看数据
  select * from extab_emp_dp;


  






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2