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

来源:互联网 发布:nginx 来源ip转发 编辑:程序博客网 时间:2024/04/25 20:42

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

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

    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 

原创粉丝点击