1. 程式人生 > >Oracle匯出表(即DMP檔案)的兩種方法

Oracle匯出表(即DMP檔案)的兩種方法

1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目錄下有個tnsname.ora檔案,內容如下:
CMSTAR =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.18.13.200)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = cmstar)
    )
  )
其中:CMSTAR為資料庫名,HOST為IP地址,所以可以仿效上面的例子手動新增資料錄連線。
2:用cmd進入命令列
輸入:tnsping cmstar
就是測試172.18.13.200是否連線成功
3:匯入與匯出,如下:

資料匯出:
 1 將資料庫TEST完全匯出,使用者名稱system 密碼manager 匯出到D:\daochu.dmp中
   exp system/[email protected] file=d:\daochu.dmp full=y
 2 將資料庫中system使用者與sys使用者的表匯出
   exp system/[email protected] file=d:\daochu.dmp owner=(system,sys)
 3 將資料庫中的表table1 、table2匯出
   exp system/[email protected] file=d:\daochu.dmp tables=(table1,table2) 
 4 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
   exp 

system/[email protected] file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
  
     上面是常用的匯出,對於壓縮我不太在意,用winzip把dmp檔案可以很好的壓縮。
  不過在上面命令後面 加上 compress=y  就可以了 
資料的匯入
 1 將D:\daochu.dmp 中的資料匯入 TEST資料庫中。
   imp system/[email protected]  file=d:\daochu.dmp
   上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行匯入。
   在後面加上 ignore=y 就可以了。
 2 將d:\daochu.dmp中的表table1 匯入
 imp 
system/[email protected]
  file=d:\daochu.dmp  tables=(table1) 

注意事項:匯出dmp資料時需要有匯出表的許可權的使用者,否則不能匯出。