1. 程式人生 > >Oracle如何匯出dmp檔案

Oracle如何匯出dmp檔案

一:擁有oracle使用者和密碼

匯出dmp檔案

進入目錄:/home/oracle/20181021

執行命令:

exp 匯入資料庫使用者名稱/密碼 file=匯出的dmp檔案 log=日誌名稱 owner=匯出的資料庫名

截圖如下:

exp aibs/aibs file=aibs_20181021.dmp log=aibs_20181021.log owner=aibs

匯入dmp檔案

建立資料庫例項

建立例項zntt

上傳dmp檔案

將資料庫dmp檔案放入/home/oracle/importDir

建立使用者和許可權

說明:

若是使用者和許可權行方已經給建好,則無需再次新建和賦權。

sqlplus /nolog; 

--無使用者名稱登入,當忘記部分或者所有帳號以及密碼的時候可以用此法登入。

conn /as sysdba; 

--連線到本地資料庫,並以管理員身份登入。

create user jndb identified by oradb123 ;   

--建立使用者名稱為jndb的帳號,密碼為oradb123 。

grant create session to jndb;         

--授權jndb使用者登入許可權。

grant connect,create view ,resource ,dba to jndb;

--給表提供建立試圖等許可權。

grant unlimited tablespace to jndb;

--授予test使用者使用表空間的許可權。

匯入資料庫例項

在oracle使用者下匯入資料庫例項

進入目錄:/home/oracle

執行命令:

export ORACLE_SID

export ORACLE_SID=zntt

執行dmp檔案

進入目錄:/home/oracle/importDir

執行命令:

imp 匯入資料庫使用者名稱/密碼 file=匯入的dmp檔案 fromuser=匯入資料庫原使用者 touser=匯入資料庫使用者名稱ignore=y log=日誌名稱

截圖如下:

imp zsc/zsc file

=aibs_20180910.dmp fromuser=aibs touser=zsc ignore=y log=20180910imp.log

備註:

匯出dmp檔案時,注意DLL不要亂碼了,匯出dmp檔案時,先檢視編碼集,建議執行參考命令:

設定環境變數:

export NLS_LANG=SIMPLIFIED CHINESE_CHINA.AL32UTF8 

一:無oracle使用者

方法一PL/PLSQL

利用PL/SQL Developer工具匯出:

選單欄---->Tools---->Export Tables,如下圖

注意:若是匯出閃退,處理方式如下

設定環境變數

變數名:ORACLE_HOME

變數值:為Oracle安裝bin目錄的上一級目錄

假如你的bin目錄就在C:\app\denggh\product\11.1.0\db_2\bin,那麼變數值就設定為C:\app\denggh\product\11.1.0\db_2

如下:

方法二cmd

方法二:利用cmd的操作命令匯出,詳情如下):

1:C:\app\denggh\product\11.1.0\db_2\Network\Admin\目錄下有個tnsname.ora檔案,內容如下:

yun =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.9.200.136)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = aibs)

    )

  )

其中:yun為資料庫名,HOST為IP地址,所以可以仿效上面的例子手動新增資料錄連線。

2:用cmd進入命令列

輸入:tnsping yun

就是測試192.9.200.136是否連線成功

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資料時需要有匯出表的許可權的使用者,否則不能匯出