oracle數據泵數據庫導出導入及定時備份
一、數據庫備份
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
導入成功!
三,定時執行備份任務
- 做一個按年月日命名的批處理。
- 做一個按年月日命名的批處理。在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=用戶名/密碼)
- 在任務計劃裏新建任務選擇固定的時間運行sshe.bat
- 右鍵我的電腦:管理——任務計劃程序——任務計劃程序庫,可以看到剛才添加進去的定時任務
oracle數據泵數據庫導出導入及定時備份