dmp文件是作為oracle導入和導出表使用的文件格式
dmp文件導出
dmp文件導出用的比較多的一般是三種,他們分別是:
1.導出整個數據庫實例下的所有數據
2.導出指定用戶的所有表
3.導出指定表。
打開命令行:
1,將數據庫ORACLE完全導出,用戶名system密碼manager 導出到c:\daochu.dmp中
exp system/manager@ORACLE file=c:\daochu.dmp full=y
或 exp test/test@10.10.10.10:1521/orcl file=E:\aaa.dmp
2,將數據庫中RFD用戶與,JYZGCX用戶的表導出
exp system/manager@ORACLE file=d:\daochu.dmp owner=(RFD,JYZGCX)
3,將數據庫中的表T_USER、T_ROLE導出
exp JYZGCX/JYZGCX@ORACLE file= d:\data\newsmgnt.dmp tables=(T_USER,T_ROLE)
上面的system為用戶名,manager為密碼,ORACLE為數據庫實例名,其實不一定非的用system用戶,只要是擁有管理員權限的用戶都可以。
dmp文件導入
1,打開“開始”-->輸入cmd—> sqlplus /nolog;
2,輸入 conn / as sysdba管理員賬戶登錄;
3,需要創建表空間,如果我們知道需要導入的數據庫的表空間直接創建就可以,
如果不不知道,也沒有關系,我們可以用txt打開dmp文件,使用快捷鍵ctrl+F,查找tablespace,
就可以找到這個dmp文件所對應數據庫的表空間,然后創建我們找到的表空間就可以;
4,打開“開始”-->輸入cmd(注意:這里是cmd窗口,不是sqlplus窗口!!!),輸入以下語句:
“imp kang/123456@localhost/ORACLE file="C:\daochu.dmp" full=y ignore=y”
上述語句說明如下:
kang是創建的登錄數據庫用戶名;
123456是登錄數據庫的密碼;
localhost:代表當前數據庫的地址是本機,如果是遠程導入,替換成對應的ip地址就行
ORACLE:是實例名稱
file:后面的是你當前dmp文件存放的路徑
full=y,這個貌似是全部
ignore=y,忽略一些錯誤
備注:隨筆中內容來源於網上資料整理,僅供參考。
附:
exp導出dmp文件時
出現 EXP-00003: 未找到 段(0,0)的存儲定義
這個問題出現是在 重新安裝了一下 oracle 客戶端后
參考解決方法:
select 'alter table'||table_name||'allocate extent;' from
user_tables where num_rows=0 or num_rows is null;
將這條語句執行出的的信息都執行一遍試試
alter system set deferred_segment_creation = false;
把空表導出參數修改下
