免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3967 | 回复: 4
打印 上一主题 下一主题

【原创】oracle数据库备份与恢复 a piece of cake (4) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-08-31 13:31 |只看该作者 |倒序浏览
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 @&amp;
                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

论坛徽章:
0
2 [报告]
发表于 2006-01-13 22:25 |只看该作者
请问在UNIX系统下用exp做ORACLE数据库备份时如何把数据按设定文件大小备份到多个.dmp文件?

论坛徽章:
0
3 [报告]
发表于 2006-01-14 08:26 |只看该作者
mknod pipe.dmp p
split -b 1024m < pipe.dmp &
exp system/manager file=pipe.dmp full=y
rm pipe.dmp

论坛徽章:
0
4 [报告]
发表于 2006-03-18 15:20 |只看该作者
支持!

论坛徽章:
0
5 [报告]
发表于 2007-12-25 09:20 |只看该作者

回复 #1 Ganku 的帖子

thank you very much~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP