1. 程式人生 > >oracle數據泵數據庫導出導入及定時備份

oracle數據泵數據庫導出導入及定時備份

size ssh 選擇 ora 管理 我的電腦 現在 sql 刪除

一、數據庫備份

1.進入數據庫

sqlplus system/密碼

sqlplus [email protected] as sysdba

2.創建目錄d:\temp\dmp(dpdata1數據庫名)

create directory dpdata1 as ‘d:\temp\dmp‘;

(刪除目錄drop directory dpdata1;)

3. 查看管理理員目錄(同時查看操作系統是否存在,因為Oracle並不關心該目錄是否存在,如果不存在,則出錯)

select * from dba_directories;

4. 給sshe用戶賦予在指定目錄的操作權限,最好以system等管理員賦予。

grant read,write on directory dpdata1 to sshe;

5.在本地主機d:\temp\dump創建此目錄

6. expdp system/密碼directory=dpdata1 dumpfile=sshe.dmp logfile=sshe.log schemas=sshe

二、數據庫還原

1.登陸數據庫

sqlplus system/密碼 @ dpdata1

2. 刪除目標數據庫用戶

drop user system cascade;

3. 現在來再一次創建用戶,可以用命令創建,也可以在plsql裏創建,這裏在plsql創建。

用system登錄數據庫,然後右鍵users--新建

然後填寫你的賬號名稱,必須和備份時的用戶一致,並賦於相應的權限

最後點擊應用,完成用戶創建。

4. 返回DOS命令窗口,不再是sql>

輸入導入命令:impdp [email protected] directory=dpdata1 dumpfile=SSHE.DMP logfile=sshe.log schemas=sshe

導入成功!

三,定時執行備份任務

  1. 做一個按年月日命名的批處理。
  2. 做一個按年月日命名的批處理。在D:\temp\目錄下新建一個文件,隨便命名為.bat,我的命名為sshe.bat,編輯為如下代碼:

set backupfile=IMBRV6R3_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp

set logfile= IMBRV6R3%date:~0,4%-%date:~5,2%-%date:~8,2%.logrem delete 3days files

forfiles /p "E:\temp\dmp" /d -3 /c "cmd /c echo deleting @file ... && del /f @path"cd E:\temp\dmp backup schemasset backupfile=%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp

set logfile=%date:~0,4%-%date:~5,2%-%date:~8,2%.log

expdp system/cape directory=IMBRV6R3 dumpfile=%backupfile% logfile=%logfile% schemas=system parallel=4

(註:黃色部分為變量IMBRV6R3=數據庫名,E:\temp\dmp=虛擬目錄路徑,system/cape=用戶名/密碼)

  1. 在任務計劃裏新建任務選擇固定的時間運行sshe.bat
  2. 右鍵我的電腦:管理——任務計劃程序——任務計劃程序庫,可以看到剛才添加進去的定時任務

oracle數據泵數據庫導出導入及定時備份