linux導入導出數據庫方法 windows導入導出數據庫方法


1.使用管理員賬號(sys)登錄查詢字符集信息

第一步:查詢LinuxOracle數據庫的字符集

select userenv('language') from dual;
查詢結果集可能為:AMERICAN_AMERICA.ZHS16GBK根據查詢實際結果填寫

 

第二步:導出數據庫前先設置導出字符集
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK            --(針對windows) 導出設置什么字符集導入有設置同樣的字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK     --(針對Linux)導出設置什么字符集導入有設置同樣的字符集

 注意:不管是Linux導出還是windows導出建議均設置導出字符集;並且導出和導入均設置一致的字符集,避免字符錯亂,導出數據庫前oracel11G可能會有空表導不出的情況;

此時需要進到SQL Developer 執行如下查詢:
SELECT 'ALTER TABLE ' || TABLE_NAME || ' ALLOCATE EXTENT;'FROM User_Tab_Comments where table_type='TABLE';
查詢出多張空表后,復制出到SQL窗口執行以下即可;

 

第三步:導出數據庫
exp:適用於數據庫較少的數據,數據量大時導出數據較久,花費時間較長;
expdp:適用於任何數據庫,對於較大數據導出時間短,速度快,該命令只能在服務端使用,用於導出大量數據。

 

exp 用戶名/密碼@數據庫 file=路徑 log=路徑
expdp 用戶名/密碼@數據庫 directory=數據庫配置的文件夾 dumpfile=數據庫導出名 logfile=數據庫導出日志名稱
PS:需要先建好用戶。
PSS:SQL> 表示要先用sys用戶登錄后創建,其中  '/data3/oracle'可以替換。

 

SQL>  create or replace directory expdir as '/data3/oracle'   --配置的路徑文件 

 

exp 用戶名/密碼 file=***.dmp log=***.log fromuser=用戶名 touser=用戶名

exp qwer/qwer file=wer.dmp log=qwer.log 

expdp 用戶名/密碼 directory=expdir dumpfile=***.dmp logfile=***.log

expdp qwer/qwer directory=expdir dumpfile=qwer.dmp logfile=qwer.log

導入: 

impdp qwer/qwer directory=expdir dumpfile=qwer.dmp REMAP_SCHEMA=qwer:qwer EXCLUDE=USER full=y 

imp  qwer/qwer  file=qwer.dmp log=qwer.log fromuser=qwer touser=qwer

 

第四步:cmd WindowsOracel數據庫字符集設置
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK        -- (針對windows)導出設置什么字符集導入有設置同樣的字符集
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK   -- (針對Linux)導出設置什么字符集導入有設置同樣的字符集

 

第五步:導入數據庫

impdp qwer/qwer directory=expdir dumpfile=qwer.dmp REMAP_SCHEMA=qwer:qwer EXCLUDE=USER full=y 

imp qwer/qwer file=qwer.dmp log=qwer.log fromuser=qwer touser=qwer

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM