首页 > 数据库 > Oracle > 正文

oracle数据库备份与恢复 a piece of cake(2)

2024-08-29 13:42:35
字体:
来源:转载
供稿:网友
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    $ORACLE_HOME/bin/sqlplus/nolog@close_backup.sql>close_backup.log    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点执行数据库关闭,数据库备份,数据库重启。    具体的方式自己定义。


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