首页  登陆  注册  博客集  下载频道  网络硬盘  学院论坛  家园
IT学院 网站地图 网站地图
收藏本站 收藏本站
高级搜索 高级搜索
 新闻IT新闻 互联网 微软 黑客新闻 网络网络协议 故障 网络管理 TCP/IP 无线技术 解决方案 黑客技术 漏洞 软件评测 安全资讯
 数据MSsql Oracle Mysql PL/SQL 备份 系统:Linux vista Windows FTP 防火墙 注册表 服务器行情 服务器应用 解决方案 WEB服务器
 墙纸风景壁纸 游戏壁纸 体育壁纸 汽车壁纸 人文壁纸 影视壁纸 广告壁纸 花卉壁纸 节日壁纸 动漫壁纸 明星壁纸 绘画壁纸 月历壁纸
当前位置: > 主页>数据库技术>Oracle>备份与恢复>ORACLE 数据库备份技术
热门文章排行
 
热门文章排行 Oracle 课程描述
Oracle数据库的灾难恢复
Oracle8i 概述
ORACLE 数据库备份技术
Oracle数据库系统使用经
在oracle中运行OS命令
Oracle dba 日常管理
ORACLE数据库的启动和关
如何在两个oracle服务器
关于恢复数据库的说明
精采文章推荐
 
精采文章推荐 Oracle数据库冷备份恢复
最新更新文章
 
最新更新文章 Oracle数据库冷备份恢复
ORACLE FOR SUN SOLARIS
Oracle 8.0使用技巧
其他数据库向Oracle8i的
Re: 紧急求救:oracle的
Re: 关于oracle的备份与
关于恢复数据库的说明
如何在两个oracle服务器
ORACLE数据库的启动和关
Oracle dba 日常管理

ORACLE 数据库备份技术

编辑:   来源:  日期:2008-02-06   我要投稿      家园

 1 引言
  
  ---- ORACLE数据库是一种大型关系型的数据库,可以存贮达到存贮TB的数据,那么如何保证这些数据的安全尤其至关重要,我们从1998年开始使用ORACLE数据库,通过这些年的使用,我们制定了一整套的ORACLE数据库的备份制度。现在把我们的备份制度介绍给大家,供大家参考。
  
  ---- 2 根据实际需要决定数据库的运行方式
  
  ---- ORACLE数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时最大限度恢复所有已提交的事物;二是不归档方式(NOARCHIVELOG),恢复数据库到最近的回收点。我们根据数据库的高可用性和用户可承受丢失的工作量的多少,把我们正式运行的数据库采用为归档方式;那些正在开发和调试的数据库采用不归档方式。
  
  ---- 3 如何改变数据库的运行方式
  
  ---- 3.1在创建数据库时设置数据库的运行的方式
  
  ---- 在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。
  
  ---- 3.2改变不归档方式为为归档方式
  
  关闭数据库,备份已有的数据
  改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
  
  启动Instance ,Mount数据库但不打开数据库,来改变归档方式
  sqldba lmode=y(svrmgrl)
  sqldba>connect internal
  sqldba>startup mount
  sqldba>alter database archivelog;
  
  
  使能自动存档
  在初始化文件init*.ora(一般放ORACLE根目录的下层目录dbs下)加参数:
  log_archive_start=true
  
  指定存档的重做登录文件名和存放的位置
  同样是在初始化文件init*.ora中加入下面的参数:
  log_archive_format=%S.arc
  log_archive_dest=/arch12/arch (arch12 是日志文件存放的目录)
  
  
  关闭数据库,重新启动数据库,归档方式转换完成。
  ---- 4 回收制度
  ---- 4.1根据数据库的运行方式和可承受丢失的工作量来决定数据库的回收制度对于不归档方式,我们用的是ORACLE数据库的逻辑备份Export ,回收的制度是:一个月作一次全备份(x01.dmp),一周作一次累积备份(c*.dmp),一天一次增量备份(I*.dmp),具体的是星期一到星期五作增量备份,星期六做累积备份或全备份,每次做完备份后自动传到其它的机器上存储。这些备份都是自动执行的,后面给出程序文本。
  
  ---- 对于归档方式,我们用的是ORCALE的物理备份:当数据库创建好以后,做一次物理上的全备份,平时在不关闭数据库的前提下,一个星期对经常改变的数据文件做联机的数据库数据文件的物理备份;当数据库的结构发生改变,如:增加表空间,加数据文件等,如允许关机,正常关闭数据库,重新做数据库全备份,否则,备份控制文件,备份数据文件照常。联机的日志文件我们是写在阵列上的,不用镜象和备份。
  
  ---- 4.2回收的方法
  
  ---- 4.2.1不归档方式
  
  ---- 我们拿曙光AIX操作系统为例,来讲解以下如何做自动备份:
  
  ---- a.首先建UNIX用户 demo/demo
  
  ---- b.拷贝oracle用户下的 .profile 到 demo 用户下,以保证 demo 用户可以用 Export命令
  
  ---- c.用root用户登录,编辑 /var/adm/cron/cron.allow 加入用户名demo,这样demo用户就有权自动执行数据库备份的shell程序;
  
  ---- d.创建数据库备份程序,放到本用户的下层目录bin下,并且这些文件要有可 执行权文件zlbf1:(增量备份1,星期一执行的程序)
  
  . /u11/demo/.profile
  exp system/manager inctype=INCREMENTAL file=i01.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put i01.dmp
  close
  bye
  !
  文件zlbf2:(增量备份2, 星期二执行的程序)
  . /u11/demo/.profile
  exp system/manager inctype=INCREMENTAL file=i02.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put i02.dmp
  close
  bye
  !
  文件zlbf3:(增量备份3, 星期三执行的程序)
  . /u11/demo/.profile
  exp system/manager inctype=INCREMENTAL file=i03.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put i03.dmp
  close
  bye
  !
  文件zlbf4:(增量备份4, 星期四执行的程序)
  . /u11/demo/.profile
  exp system/manager inctype=INCREMENTAL file=i04.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put i04.dmp
  close
  bye
  !
  文件zlbf5:(增量备份5, 星期五执行的程序)
  . /u11/demo/.profile
  exp system/manager inctype=INCREMENTAL file=i05.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put i05.dmp
  close
  bye
  !
  文件zlbf6:(增量备份6, 星期六执行的程序)
  . /u11/demo/.profile
  js=`ls c*.dmp|wc -l`
  if test $js = 0
  then
  exp system/manager inctype=CUMULATIVE file=c01.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put c01.dmp
  close
  bye
  !
  fi
  if test $js = 1
  then
  exp system/manger inctype=CUMULATIVE file=c02.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put c02.dmp
  close
  bye
  !
  fi
  if test $js = 2
  then
  exp system/maneger inctype=CUMULATIVE file=c03.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put c03.dmp
  close
  bye
  !
  fi
  if test $js = 3
  then
  exp system/manager inctype=COMPLETE file=x01.dmp
  ftp -n< < !
  open 10.10.10.40
  user demo demo
  binary
  prompt
  cd backup40
  put x01.dmp
  close
  bye
  !
  rm c*.dmp
  fi
  
  ---- e.在demo 用户下建一个文件,假如叫:cron.demo,文件内容如下
  59 22 * * 1 bin/zlbf1
  59 22 * * 2 bin/zlbf2
  59 22 * * 3 bin/zlbf3
  59 22 * * 4 bin/zlbf4
  59 22 * * 5 bin/zlbf5
  59 22 * * 6 bin/zlbf6
  
  ---- f.在demo用户下执行下面的命令:
  crontab cron.demo 执行的结果放到
  /var/spool/cron/crontabs/demo文件里
  
  ---- g.重新启动cron 进程,命令:kill -1 进程号
  ---- h.执行结果放在本用户的邮件里
  
  ---- i.查看结果是否执行,请看:/var/adm/cron/log文件
  
  ---- 4.2.2归档方式
  
  ---- a. 找到要回收的数据文件、联机重做登录文件、控制文件和参数文件
  
  ---- b. 正常关闭数据库,作一次全回收(用操作系统的TAR命令,可以写成shell程序),然后打开数据库供正常使用,shell程序如下:
  
  tar cvf /dev/rmt/ctape2 /u1/oracle/dbs/ctrl1ora7.ctl
  /u1/oracle/dbs/ctrl2ora7.ctl
  /u1/oracle/dbs/ctrl3ora7.ctl
  /u1/oracle/dbs/systora7.dbf
  /u1/oracle/dbs/rbsora7.dbf
  /u1/oracle/dbs/tempora7.dbf
  /u1/oracle/dbs/toolora7.dbf
  /u1/oracle/dbs/usrora7.dbf
  /ls1/ls1.dbf
  /u1/oracle/dbs/log1ora7.dbf
  /u1/oracle/dbs/log2ora7.dbf
  /u1/oracle/dbs/log3ora7.dbf
  ---- a. 经常作联机的表空间和数据文件的部分回收
  首先标记联机表空间回收的开始
  alter tablespace 表空间名 begin backup;
  用操作系统命令备份数据文件
  
  最后标记联机的表空间回收结束
  alter tablespace 表空间名 end backup
  ---- 多个表空间可以一起做标记,备份做标记的所有数据文件后,一起标记结束。
  ---- d. 当数据库结构发生改变后,要对它的控制文件做回收
  
  sqldba >alter database backup
  controlfile to '文件名' reuse;
  
  ---- 5 结束语
  
  ---- 一套完善的备份制度是数据库安全运行的有利保障,文章所介绍的可供同行们参考。


上一篇:Oracle8i 概述  
下一篇:Oracle数据库系统使用经验六则
 关键字:  
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:

   文章评论:(0条)
  
 请留名: 匿名评论   点击查看所有评论
 

  责任编辑:IT学院  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。