oracle數據庫備份與恢復 a piece of cake (4)
2024-08-29 13:42:55
供稿:網友
Oracle數據庫日志備份:(windows平臺)
本片是接上次的數據庫在線備份,進行數據庫全備份后需要備份歸檔的日志文件。
1. 建立數據庫備份的腳本
在上面建立的目錄下建立如下的兩個腳本。
1.1 建立執行備份任務的腳本(批處理文件)
文件內容如下:
@echo OFF
Rem ===========================================================================
Rem NAME - archive_backup_Run.bat
Rem FUNCTION - Creates a backup script for a User Managed backup
Rem NOTES - This script will create a script and run OS copy commands
Rem on closed (cold) database
Rem MODIFIED - ksmith 01/01/02 Original File
Rem ===========================================================================
Rem For Windows, set environment variables for the root path.
set ORACLE_SID=TSTDB
set ORACLE_CONNECTSTRING=tstdb
set ORACLE_BASE=c:/oracle
set ORACLE_HOME=%ORACLE_BASE%/ora92
set ORACLE_DATA=%ORACLE_BASE%/oradata/%ORACLE_SID%
set ORACLE_ADMIN=%ORACLE_BASE%/admin/%ORACLE_SID%
%ORACLE_HOME%/bin/sqlplus /nolog @archive_backup.sql > archive_backup.log
1.2 建立完成備份認為的命令文件(sqlplus內執行的sql腳本)
文件內容如下:
Rem =====================================================================================
Rem NAME - archive_backup.sql
Rem FUNCTION - Creates a backup command file for a User Managed Archive Log backup
Rem NOTES - This script will create a script and run OS copy commands
Rem on an open or closed database.
Rem MODIFIED - Mr. Tianliang Guo 2002/08/19
Rem =====================================================================================
Rem Set SQL*Plus variables to manipulate output
set feedback off
set pagesize 0
set heading off
set verify off
set linesize 150
set trimspool on
Rem Set SQL*Plus user variables used in script
define adm = 'sys'
define pwd = 'oracle9i'
Rem for Windows
define dir = 'C:/oracle/admin/TSTDB/backup/archive log'
define fil = 'archive_backup_commands.sql'
define spo = 'archive_backup_output.lst'
define cpy = 'copy'
Rem login database
connect &adm/&pwd as sysdba;
Rem Create a file containing all the file copy commands needed for open physical backup
spool &
PRompt spool &;
prompt alter system archive log all;;
SELECT 'host &cpy 'name' &dir'
FROM v$archived_log
WHERE completion_time >= trunc(sysdate)-1
AND completion_time < trunc(sysdate);
prompt spool off;;
spool off;
Rem Run the copy file commands from the Operating system
rem @&
exit;
2. 修改教本定義的變量
在運行教本中定義的一些變量,將其改為本地數據庫安裝環境的變量。
需要修改的變量有,
在close_Backup_run.bat腳本中:
set ORACLE_SID=TSTDB
set ORACLE_CONNECTSTRING=tstdb
set ORACLE_BASE=c:/oracle
set ORACLE_HOME=%ORACLE_BASE%/ora81
在close_backup.sql腳本中:
define adm = 'sys'
define pwd = 'oracle8i'
define dir = 'C:/oracle/admin/TSTDB/backup'
define ctl = '&dir/control.ctl'
3. 執行數據庫備份任務
在$ORACLE_BASE/admin/admin_script目錄下運行open_Backup_run.bat
4. 執行自動備份
在windows系統中添加計劃任務,定期運行open_Backup_run.bat
假如你有問題可以聯系:
站內的短信:ganku
mail: peter_guo@pub.szedi.com.cn
guo_tianliang@yahoo.com