ORACLE-資料匯入匯出-常規exp/imp以及資料泵方式

來源:互聯網
上載者:User

標籤:oracle

博文說明【前言】:

    本文將通過個人口吻介紹有關Oracle資料庫匯入匯出相關知識,在目前時間點【2017年5月16號】下,所掌握的技術水平有限,可能會存在不少知識理解不夠深入或全面,望大家指出問題共同交流,在後續工作及學習中如發現本文內容與實際情況有所偏差,將會完善該博文內容。


    本文所寫的匯入匯出是指在不使用工具的情況下,在命令列下進行的oracle資料庫的匯入和匯出 


本文:


一:常規exp/imp,匯入匯出方法


1、匯出:

命令格式:exp user/[email protected]/SID file=path/sth.dmp full=y ignore=y;

實際案例:

exp mcptest/[email protected]/cklp file=/home/oracle/cklptest.DMP full=y ignore=y;


2、匯入

命令格式:imp user/[email protected]/SID fileName=fielPath full=y(full 不能少) ignore=y;

實際案例:

imp mcptest/[email protected]/cklp file=/home/oracle/cklptest.DMP full=y ignore=y;



二:資料泵匯入匯出方法


一、匯出:


1. 建立預設匯出目錄

注意:作業系統層級需要該目錄存在,本例中目錄為dmp_dir,對應作業系統層級的/orasoft目錄

SQL>create directory dmp_dir as‘/orasoft‘;


2. 賦予指定使用者在此目錄的讀寫權限

SQL>GRANT READ,WRITE ON DIRECTORY dmp_dir to system;


3. 使用expdp匯出資料庫

expdp [dba_user/passwd]@SID full=y parallel=2 directory=dmp_dir dumpfile=<ORACLE_SID>_%U.dmp logfile=log_name.log


二、匯入:


1.建立預設匯出目錄

SQL>create directory dmp_dir as‘/app/oracle‘;


2. 賦予指定使用者在此目錄的讀寫權限

SQL>GRANT READ,WRITE ON DIRECTORY dmp_dir to system;


3. 使用impdp工具進行全庫匯入

impdp [dba_user/passwd]@SID full=y parallel=2 directory=dmp_dir dumpfile=<ORACLE_SID>_%U.dmp logfile=log_name.log



三:實際案例分析-資料泵匯出



1. 建立預設匯出目錄

SQL>create directory dump_dir as ‘/orasoft/dumpfile‘;


2. 賦予指定使用者在此目錄的讀寫權限

SQL>GRANT READ,WRITE ON DIRECTORY dump_dir to system;


3. 匯出整個資料庫【作業系統層面執行該命令】:

# cd /orasoft# expdp system/manager full=y cluster=no parallel=2 directory=dump_dir dumpfile=fccklpfull_%U.dmp logfile=log_name.log


注意:第三步操作需要在路徑/orasoft 目錄下執行,這裡的server_name是fccklp,dmp名稱為fccklpfull是表示整庫資料,而且這裡必須要寫成fccklpfull_%U.dmp 的形式,因為開啟了2路並行  就指定了一個檔案是不行的,因此需要%U參數。


強烈注意:RAC叢集環境無需加@SID,也即只需要輸入[dba_user/passwd],後面無需加上@SID



如果匯出單個使用者,需要額外的再添加一個參數:

expdp [dba_user/passwd]@SID schemas=[使用者名稱] full=y parallel=2 directory=dmp_dir dumpfile=<ORACLE_SID>_%U.dmp logfile=log_name.log


四:RAC叢集資料泵匯出問題記錄:


曾經在RAC叢集下執行資料泵匯出的時候,出現過問題,後經DBA折騰2小時才弄好,順便記錄下解決過程


1、查詢匯出任務找到job_name

select * from dba_datapump_jobs


2、進入sqlplus介面,將該工作殺死

stop_job---->yes


3、其他相關sql

刪除資料泵預設目錄:

delete * from dba_directories where DIRECTORY_NAME="DMP_DIR";


查詢資料泵預設目錄:

select * from dba_directories;





結尾:



     感謝閱讀,祝有收穫的一天!





本文出自 “清風攬月的部落格” 部落格,請務必保留此出處http://watchmen.blog.51cto.com/6091957/1926565

ORACLE-資料匯入匯出-常規exp/imp以及資料泵方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.