Oracle自動備份數據


 

一、 Oracle自動備份單表一個月數據

方式一:三步處理(建批處理文件,寫sql文件,設置任務計划)

1、 第一步:建立一個批處理文件

 

@echo off
Set OrclSid=orcl
Set ExpUser=數據庫名
Set ExpPass=數據庫密碼
Set FileDir=D:\oracleBack\log
Set SysDate=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
Set FileName=%ExpUser%~%OrclSid%_%SysDate%

@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * ORACLE 數據庫備份 * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * * 
@echo * * * * * * * * * * * * * * * * * * * *

@echo 服務名 = %OrclSid% 
@echo 用戶名 = %ExpUser% 
@echo 密  碼 = %ExpPass% 
@echo 目  錄 = %FileDir% 
@echo 時  間 = %SysDate% 
@echo 文件名 = %FileName%.rar

@echo 開始備份數據庫... 
exp %ExpUser%/%ExpPass%@%OrclSid% file=%FileDir%/%FileName%.dmp log=%FileDir%/%FileName%.log tables=(T_SAP_IMPORT_DATA) query=\"where to_char(CREATED_DATE,'yyyy-MM-dd HH24-mi-ss') < to_char(SYSDATE,'yyyy-MM-dd HH24-mi-ss') and to_char(CREATED_DATE,'yyyy-MM-dd HH24-mi-ss')>to_char(add_months(sysdate,-1),'yyyy-MM-dd HH24-mi-ss')\" 
@echo 數據庫備份完成!

@echo 登錄數據庫
sqlplus %ExpUser%/%ExpPass%@%OrclSid% @D:\oracleBack\bat\truncate.sql>truncate.txt

@echo 導入備份的數據
imp  %ExpUser%/%ExpPass%@%OrclSid% file=%FileDir%/%FileName%.dmp ignore=Y  tables=(T_SAP_IMPORT_DATA)

@echo 退出cmd
~exit

 

2、 第二步、寫清除數據庫並釋放空間的sql文件

 

truncate table T_SAP_IMPORT_DATA;
exit;

 

 

3、 第三步、使用windows自帶的任務計划程序

A) 打開任務計划程序,新建一個基本任務計划

 

 

B) 填上名和描述,點擊下一步

 

 

C)觸發器選擇相應的規則,如圖選填每天執行一次

 

 

 

D) 定執行時間,點下一步

 

 

E)下一步

 

 

F) 填上批處理文件的路徑和起始於的參數(批處理文件所在的文件夾)

 

 

G) 點擊完成

 

 

H) 雙擊兩下建好的任務

 

 

I)選不管用戶是否登錄都啟動

 

 

J)   輸入用戶名和密碼,確定就行

 

 至此使用windows自帶的任務計划程序執行批處理文件實現Oracle數據庫自動備份一個月的數據。


免責聲明!

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



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