有A和B兩個表空間,把B空間中不存在的而A空間存在的表導入到B空間

1.登陸表空間B,創建表b_tables
  create table b_tables as select * from user_tables;
2.登陸表空間A,執行下面的sql語句,得到表空間A存在B不存在的表
  select ','||table_name from user_tables a where not exists (select 1 from B.b_tables b where a.table_name=b.table_name);
3.打開cmd命令窗口,執行下面的語句,導出B中不存在的表
  exp  用戶名/密碼@數據庫sid tables=(第2步得到的結果) rows=y;
4.執行語句(B空間的用戶名和密碼)
  imp 用戶名/密碼@數據庫sid indexfile=index.sql full=y
5.打開文件index.sql,替換掉rem,把表空間A替換爲B,再把多餘的命令刪除
  把修改過的命令放入到B中執行


把表空間B中不存在的字段從A空間查找也是一樣,只不過用到的oracle自帶的表不是
user_tables,而是user_tab_columns
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章