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