oracle匯出匯出有兩中方式:一、利用exp imp匯出匯入;二、利用oracel資料幫浦expdp impdp匯出匯入。
一、利用exp imp匯出匯入
exp imp 語法如下:
exp:
1) 將資料庫orcl完全匯出
exp system/manager@orcl file=d:\orcl_bak.dmp full=y
2) 將資料庫中system使用者的表匯出
exp system/manager@orcl file=d:\system_bak.dmp owner=system
3) 將資料庫中表table1,table2匯出
exp system/manager@orcl file=d:\table_bak.dmp tables=(table1,table2)
4) 將資料庫中的表customer中的字段mobile以」139」開頭的資料匯出
exp system/manager@orcl file=d:\mobile_bak.dmp tables=customer query=\」where mobile like 『139%』 \」
imp:
1) 將備份檔案bak.dmp匯出資料庫
imp system/manager@orcl file=d:\bak.dmp
如果資料表中表已經存在,會提示錯誤,在後面加上ignore=y就可以了。
2) 將備份檔案bak.dmp中的表table1匯入
imp system/manager@orcl file=d:\bak.dmp tables=(table1)
exp imp匯出匯入資料方式的好處是只要你本地安裝了oracle客戶端,你就可以將伺服器中的資料匯出到你本地計算機。同樣也可以將dmp檔案從你本地匯入到伺服器資料庫中。但是這種方式在oracle11g版本中會出現乙個問題:不能匯出空表。oracle11g新增了乙個引數deferred_segment_creation,含義是段延遲建立,預設是true。當你新建了一張表,並且沒用向其中插入資料時,這個表不會立即分配segment。
解決辦法:
1、設定deferred_segment_creation引數為false後,無論是空表,還是非空表,都分配segment。
在sqlplus中,執行如下命令:
sql>alter system set deferred_segment_creation=false;
檢視:sql>show parameter deferred_segment_creation;
該值設定後,只對後面新增的表起作用,對之前建立的空表不起作用,並且注意要重啟資料庫讓引數生效。
2、使用 allocate exten
使用 allocate exten可以為資料庫物件分配extent,語法如下:
alter table table_name allocate extent
構建對空表分配空間的sql命令:
sql>select 『alter table 『||table_name||』 allocate extent;』 from user_tables where num_rows=0
批量生成要修改的語句。
然後執行這些修改語句,對所有空表分配空間。
此時用exp命令,可將包括空表在內的所有表匯出。
二、利用expdp impdp匯出匯入
在oracle10g中exp imp被重新設計為oracle data pump(保留了原有的 exp imp工具)
資料幫浦與傳統匯出匯入的區別;
1) exp和imp是客戶端工具,他們既可以在客戶端使用,也可以在服務端使用。
2) expdp和impdp是服務端工具,只能在oracle服務端使用。
3) imp只適用於exp匯出檔案,impdp只適用於expdp匯出檔案。
expdp匯出資料:
1、為輸出路徑建立乙個資料庫的directory物件。
create or replace directory dumpdir as 『d:\』;
可以通過:select * from dba_directories;檢視。
2、給將要進行資料匯出的使用者授權訪問。
grant read,write on directory dumpdir to test_expdp;
3、將資料匯出
expdp test_expdp/test_expdp directory=dumpdir dumpfile=test_expdp_bak.dmp logfile=test_expdp_bak.log schemas=test_expdp
注意:這句話在cmd視窗中執行,並且最後不要加分號,否則會提示錯誤。因為這句話是作業系統命令而不是sql。
impdp匯入資料:
1、給將要進行資料匯入的使用者授權訪問。
grant read,write on directory dumpdir to test_impdp;
2、將資料匯入
impdp test_impdp/impdp directory=dumpdir dumpfile=test_expdp_bak.dmp remap_schema=test_expdp:test_impdp
歡迎使用CSDN markdow
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...
歡迎毛毛與妞妞使用CSDN markdown編輯器
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
歡迎使用CSDN markdow1n編輯器
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...