docker容器中oracle數據庫導出dmp文件


Oracle數據庫安裝在docker容器中

1首先查看容器

docker ps

  

 

2進入oracle容器

docker exec -it 7f0f3f2d4f88 /bin/bash

  

3導出整個庫:這個有問題,會吧helowin實例下的所有數據都導出:

DATA_PUMP_DIR為oracle中默認備份文件件

expdp SDWEB/SDWEB@helowin dumpfile=aircms.dmp logfile=airscm.log 
full=y  directory=DATA_PUMP_DIR

 

如果報錯,錯誤如下

Connected to: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation

  

解決方法:查文檔發現,缺省Directory為DATA_PUMP_DIR

查看DATA_PUMP_DIR的值,

A)進入到sqlplus中查看它的值

sqlplus /nolog 

 

b)切換系統用戶

 conn sys/ as sysdba;

  

c)查看默認值

 select * from dba_directories where directory_name='DATA_PUMP_DIR';

 

得出的值:/home/oracle/app/oracle/admin/orcl/dpdump/

但實際上路徑中只有:/home/oracle/app/oracle/admin/helowin/dpdump/

需要創建/home/oracle/app/oracle/admin/orcl/dpdump/目錄

 

4繼續導出數據庫

expdp SDWEB/SDWEB@helowin dumpfile=aircms.dmp logfile=airscm.log full=y  directory=DATA_PUMP_DIR

  

5導出成功

/home/oracle/app/oracle/admin/orcl/dpdump/aircms.dmp

 

6拷貝到系統路徑下

7f0f3f2d4f88:為容器id
docker cp 7f0f3f2d4f88:/home/oracle/app/oracle/admin/orcl/dpdump/aircms.dmp /home/dev/

  

  

 


免責聲明!

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



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