標籤: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以及資料泵方式