Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1214269
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-13 13:36:26

oracle数据库冷备份:(unixorlinux平台)

    1.建立教本管理目录/u01/app/oracle/admin/admin_script

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

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

    2.1建立执行备份任务的脚本(shellscript)

    文件内容如下:

    #!/bin/sh
    Rem==============================
    RemNAME-close_Backup_run.sh
    RemFUNCTION-CreatesabackupscriptforaUserManagedbackup
    RemNOTES-ThisscriptwillcreateascriptandrunOScopycommands
    Remonclosed(cold)database
    RemMODIFIED-Mr.TianliangGuo02/08/08OriginalFile
    Rem=================================

    RemForunix,setenvironmentvariablesfortherootpath.
    ORACLE_SID=TSTDB
    ORACLE_CONNECTSTRING=tstdb
    ORACLE_BASE=/u01/app/oracle
    ORACLE_HOME=$ORACLE_BASE/product/8.1.7
    ORACLE_DATA=$ORACLE_BASE/oradata/$ORACLE_SID
    ORACLE_ADMIN=$ORACLE_BASE/admin/$ORACLE_SID
    exportORACLE_SIDORACLE_CONNECTSTRINGORACLE_BASEORACLE_

HOMEORACLE_DATAORACLE_ADMIN

   

    2.2建立完成备份认为的命令文件(sqlplus内执行的sql脚本)

    文件内容如下:

    Rem===============================
    RemNAME-close_backup.sql
    RemFUNCTION-CreatesabackupscriptforaUserManagedbackup
    RemNOTES-ThisscriptwillcreateascriptandrunOScopycommands
    Remonclosed(cold)database
    RemMODIFIED-ksmith01/01/02OriginalFile
    Rem-TianliangGuo2002/08/18
    Rem====================================
    RemSetSQL*Plusvariablestomanipulateoutput

    setheadingoff
    setverifyoff
    setpagesize0
    setlinesize600
    setfeedbackoff

    RemSetSQL*Plususervariablesusedinscript

    defineadm='sys'
    definepwd='oracle8i'

    RemLinuxorUnixUservariables
    definebkdir='/u05/oracle/oradata/tstdb/backup'
    definefilcbc='/tmp/closed_backup_commands.sql'
    definecopy='cp'

    Remlogindatabase
    connect&adm/&pwdassysdba;

    RemCreateafilecontainingallthefilecopycommandsneededforphysicalbackup

    spool&filcbc
    promptRemNAME-close_backup.sql
    prompt
    promptRemShutdownthedatabasecleanly
    promptshutdownimmediate;;
    prompt
    promptRembackupdatafile
    select'host?'||name||'&bkdir'fromv$datafileorderby1;
    prompt
    promptRembackuplogfile
    select'host?'||member||'&bkdir'fromv$logfileorderby1;
    prompt
    promptRembackupcontrolfile
    select'host?'||name||'&bkdir'fromv$controlfileorderby1;
    prompt
    promptRembackuptemporayfile
    select'host?'||name||'&bkdir'fromv$tempfileorderby1;
    prompt
    promptalterdatabasebackupcontrolfiletotrace;;
    prompt
    promptRemStartthedatabaseagain
    promptstartup;;
    prompt

    spooloff;

    RemRunthecopyfilecommands

    @&

    exit;

    3.修改教本定义的变量

    在运行教本中定义的一些变量,将其改为本地数据库安装环境的变量。

    需要修改的变量有,
   
    在close_Backup_run.bat脚本中:
    setORACLE_SID=TSTDB
    setORACLE_CONNECTSTRING=tstdb
    setORACLE_BASE=/u01/app/oracle/
    setORACLE_HOME=$ORACLE_BASE/product/8.1.7
    在close_backup.sql脚本中:
    defineadm='sys'
    definepwd='oracle8i'
    definebkdir='/u05/oracle/oradata/TSTDB/backup'

    4.执行数据库备份任务

    在$ORACLE_BASE/admin/admin_script目录下运行close_Backup_run.sh

    [oracle@RHTadmin_script]./close_Backup_run.sh

    5.执行自动备份。

    在crontab文件中添加如下的一行

    003**6$ORACLE_BASE/admin/admin_script/close_Backup_run.sh

    解释:每周六凌晨3点执行数据库关闭,数据库备份,数据库重启。

    具体的方式自己定义。

阅读(254) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~