Oracle数据库备份与恢复之日志备份

Oracle数据库备份与恢复之日志备份

  以前大家了解了 Oracle数据库的在线 备份,另外,进行数据库全备份后需要备份归档的日志文件。

1. 建立数据库备份的脚本

在上面建立的目录下建立如下的两个脚本。

1.1 建立<nobr oncontextmenu="return false;" onmousemove="kwM(1);" id="key1" onmouseover="kwE(event,1, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">执行</nobr>备份任务的脚本(批处理文件)

文件内容如下:

@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 = '<nobr oncontextmenu="return false;" onmousemove="kwM(2);" id="key2" onmouseover="kwE(event,2, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">oracle8i</nobr>'
define dir = 'C:/oracle/admin/TSTDB/backup'
define ctl = '&dir/control.ctl'

3. 执行数据库备份任务

在$ORACLE_BASE/admin/admin_script目录下运行open_Backup_run.bat

4. 执行自动备份

在windows<nobr oncontextmenu="return false;" onmousemove="kwM(0);" id="key0" onmouseover="kwE(event,0, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC();" onmouseout="kwL(event, this);" target="_blank">系统</nobr>中添加计划任务,定期运行open_Backup_run.bat

你可能感兴趣的:(oracle数据库)