oracle中几种数据移植方法

oracle中几种数据移植方法

本人声明,自己也是个菜鸟,水平有限,只能粗浅的介绍。

  1:select方法:
     这个最简单
    create table table_name as select * from table_name1;
    insert into table_name select * from table_name1;
    不在同一数据库,并且dblink存在的话可以这样:
    create table table_name@dblink_name as select * from table_name1;
    insert into table_name@dblink_name select * from table_name1;
  
    如果可以的话,可以多开几个线程:
       如:
      create or replace procedure datacopy_p(
      xcs number, ---线程数
      xch number  --线程号
     )
       as
         .............
       begin
          insert into table_name
           select * from table_name1
           where mod(col_name,:xcs)=:xch;---这个表的某列得支持这个运算啊!要不我也没办法
       end;
       /
    exec datacopy_p(3,0);
    exec datacopy_p(3,1);
    exec datacopy_p(3,2);

2:copy命令

    sql*plus 命令的用法:
      copy {from database |to database |from database to database}    {append|create|insert|replace}
  destination_table [(col1,col2,col3...)}
  using query;

   append追加,表不存在则创建再追加,create 创建表并添加记录,如果表存在可是要报错的,insert 向已有的表插入记录,表不存在也要报错的,replace用查询出来的数据覆盖目标表的记录,表不存在就创建它。

   举个例子说下用法:
   
   copy from user/passwd@sid to user/passwd@sid create  dept1 using
   select * from dept;

  copy from user/passwd@sid  create  dept1 using
   select * from dept;

copy  to user/passwd@sid create  dept1 using
   select * from dept;

3:sqlldr --  exp/imp 方法
   
      这个网上资料很多,我也不想写了,偷点懒,呵呵。