机器a,用户a_user,密码a_pass,该用户表空间a_space下有表a_table
机器b,用户b_user,密码b_pass,该用户表空间b_space下有表b_table
两表结构相同,要将a_table中的数据全部导入b_table中机器b上:
create public database link mylink connect to a_user identified by a_pass using 'a';中间应该怎么做?drop public database link mylink;

解决方案 »

  1.   

    機器b上應該有'a'的服務名即在b上可以用a_user/a_pass@a連接到a數據庫這樣就可以使用
    insert into b_table select * from a_table@a;
    來執行了其實在sqlplus下,可以有另一種簡單的方法,不需建立dblink的copy from a_user/a_pass@a to b_user/b_pass@b create(replace,append) b_table using select * from a;create: 創建新表,要求表b_table不存在
    replace: 替換原表,如果b_table不存在則創建,如果b_table存在則替換
    append:  追加原表,如果b_table不存在則創建,如果b_table存在則追加紀錄
      

  2.   

    補充:from 和to 選項至少有1個,未寫的則使用當前連接
      

  3.   

    谢谢楼上,再请问下,怎样在机器b上建'a'的服务名?另外,copy的方法是不是该写成
    copy from a_user/a_pass@a to b_user/b_pass@b create(replace,append) b_table using select * from a_table;