oracle expdp 匯出庫

來源:互聯網
上載者:User

先普及一下使用expdp備份oracle資料庫的過程吧。

將伺服器A(CentOS)上的庫匯出:(服務端sqlplus裡可以執行的一般都可以在用戶端plsql裡遠程執行。sqlplus可以遠程操作嗎?沒用過。)

這裡示範sqlplus裡執行的:

cmd輸入:

sqlplus /nolog;

connect as sysdba;

接下來輸入sys賬戶及密碼登陸;#這裡以sysdba登陸,以便建立匯出目錄後給使用者drag賦予讀寫權限,所以不以drag登陸。另外,我試了sqlplus /as sysdba;登陸失敗,以及sqlplus sys/sys或sqlplus "sys/sys"都失敗,不知為何。

SQL>create directory dump_dir as '/opt/dump';
SQL>grant READ ,WRITE ON DIRECTORY dump_dir TO drag;
SQL>select * from dba_directories;#查看資料庫所有的目錄。

退出到系統:
C:>expdp drag/dragtest   schemas=drag dumpfile=drag.dmp DIRECTORY=dump_dir 匯出drag使用者下的庫。

C:>EXPDP drag/dragtest  directory=/var/ TABLES=t_hostinfhis_n1 dumpfile=drag.dmp parallel=4 logfile=exp.log #匯出一些表
C:>expdp drag/dragtest   DIRECTORY=dump_dir DUMPFILE=drag.dmp FULL=y #匯出整個庫

錯誤和解決:
1、檔案無法正確寫入:dump_dir物理上不存在,手動建立,另外注意賦予許可權給drag;只有在系統身份下才能賦予許可權給drag,如果是drag建立的則不需要賦予。

有時候執行了grant 賦予了許可權也不行,索性系統裡面:chmod 777 /opt/dump ,然後就可以了。

2、最糾結的是,一開始我查看以前的操作記錄是:

expdp drag/dragtest@testLinux schemas=drag dumpfile=drag130.dmp DIRECTORY=dump_dir  parallel=4 logfile=expdrag.log;匯出drag使用者下的庫。

注意賬戶資訊後面是要加上執行個體名的,可今天不斷報錯。後來把@及以後的去掉就不報錯了。。

難道是因為我本地匯出的,難道之前是遠程用plsql匯出的才加服務名?不記得了。。也許是這麼個道理。。

3.命令結束不要分號。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.