首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 备份恢复 >> 正文

T-SQL语句实现数据库备份与还原功能

        应用案例2

        生产数据核心库:PRODUCE

        备份方案如下:

        1.设置三个作业,分别对PRODUCE库进行每日备份,每周备份,每月备份

        2.新建三个新库,分别命名为:每日备份,每周备份,每月备份

        3.建立三个作业,分别把三个备份库还原到以上的三个新库。

        目的:当用户在produce库中有任何的数据丢失时,均可以从上面的三个备份库中导入相应的TABLE数据。

        declare @sql varchar(8000)

        --1.建立每月备份和生成月备份数据库的作业,每月每1天下午16:40分进行:

         set @sql='
          declare @path nvarchar(260),@fname nvarchar(100)
          set @fname=''PRODUCE_''+convert(varchar(10),getdate(),112)+''_m.bak''
          set @path=dbo.f_getdbpath(null)+@fname
             --备份
          exec p_backupdb @dbname=''PRODUCE'',@bkfname=@fname
          --根据备份生成每月新库
          exec p_RestoreDb @bkfile=@path,@dbname=''PRODUCE_月''
          --为周数据库恢复准备基础数据库
          exec p_RestoreDb @bkfile=@path,@dbname=''PRODUCE_周'',@retype=''DBNOR''
          --为日数据库恢复准备基础数据库
          exec p_RestoreDb @bkfile=@path,@dbname=''PRODUCE_日'',@retype=''DBNOR''
          exec p_createjob @jobname='每月备份',@sql,@freqtype='month',@time=164000

       --2.建立每周差异备份和生成周备份数据库的作业,每周日下午17:00分进行:

         set @sql='
          declare @path nvarchar(260),@fname nvarchar(100)
          set @fname=''PRODUCE_''+convert(varchar(10),getdate(),112)+''_w.bak''
          set @path=dbo.f_getdbpath(null)+@fname
              --差异备份
          exec p_backupdb @dbname=''PRODUCE'',@bkfname=@fname,@bktype=''DF''
          --差异恢复周数据库
          exec p_backupdb @bkfile=@path,@dbname=''PRODUCE_周'',@retype=''DF''
          '
          exec p_createjob @jobname='每周差异备份',@sql,@freqtype='week',@time=170000
 
        --3.建立每日日志备份和生成日备份数据库的作业,每周日下午17:15分进行:

        set @sql='
          declare @path nvarchar(260),@fname nvarchar(100)
          set @fname=''PRODUCE_''+convert(varchar(10),getdate(),112)+''_l.bak''
          set @path=dbo.f_getdbpath(null)+@fname
          --日志备份
          exec p_backupdb @dbname=''PRODUCE'',@bkfname=@fname,@bktype=''LOG''
          --日志恢复日数据库
          exec p_backupdb @bkfile=@path,@dbname=''PRODUCE_日'',@retype=''LOG''
          '
          exec p_createjob @jobname='每周差异备份',@sql,@freqtype='day',@time=171500
        set @sql='
          declare @path nvarchar(260),@fname nvarchar(100)
          set @fname=''PRODUCE_''+convert(varchar(10),getdate(),112)+''_l.bak''
          set @path=dbo.f_getdbpath(null)+@fname  --日志备份
          exec p_backupdb @dbname=''PRODUCE'',@bkfname=@fname,@bktype=''LOG''
          --日志恢复日数据库
          exec p_backupdb @bkfile=@path,@dbname=''PRODUCE_日'',@retype=''LOG''
          '
          exec p_createjob @jobname='每周差异备份',@sql,@freqtype='day',@time=171500

上一页  [1] [2] [3] [4] 

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航