当前位置:操作系统 > Unix/Linux >>

oracle数据库备份与恢复apieceofcake(4)

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本文来自:http://doc.xiaoyaxiao.com/3471.html
发表您的高见!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,