首页 > 数据库 > Oracle > 正文

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表