2006-12-22

用Linux命令完成Oracle自动物理备份

来源: 本站收集整理 作者:佚名 评论 0 条
 

Oracle数据库提供了几种数据备份方法,但用得最多的还是使用exp进行逻辑备份,而物理备份(包括联机备份和脱机备份)过程用得并不多。其主要原因是物理备份过程比较复杂,不易把握。本文以Oracle数据库在Linux下自动物理备份(脱机备份)的实现为例描述物理备份的操作步骤,希望能帮助更多的Oracle数据库治理员了解这一物理备份过程,避免不必要的数据丢失。

本文的目标是通过执行一Shell脚本来完成Oracle数据库自动备份的全过程,而且能够在当前目录下生成其压缩文件。具体实现步骤如下:

1.以Oracle用户身份登录到Linux系统下。

2.建立database.srcipt文件,以便生成备份数据库的一些参数信息并保存在文件database.parm中。

这些信息对于以后恢复数据库具有重要的参考作用,所以在物理备份的过程中,需要保存这些信息,也可以把其他一些重要的信息写在这个脚本里。

  

  $vi database.srcipt 

  

  spool database.parm 

  

  --这是当前备份数据库的系统参数列表 

  

  select * from v$parameter; 

  

  --这是当前备份数据库的字符集部分参数 

  

  select * from props$; 

  

  --这是当前备份数据库数据文件存储位置及名称 

  

  select * from v$datafile; 

  

  --这是当前备份数据库控制文件存储位置及名称 

  

  select * from v$controlfile; 

  

  --这是当前备份数据库日志文件存储位置及名称 

  

  select * from v$logfile; 

  

  --可以在这里添加其他一些重要信息 

  

  --开始生成备份shell文件,可参考backup.sh 

  

  spool off 

  

  spool backup.sh 

  

  select 'cp '||name || ' backup/' from v$datafile ; 

  

  select 'cp '||name || ' backup/' from v$controlfile ; 

  

  select 'cp '||member || ' backup/' from v$logfile; 

  

  spool off 

  

  shutdown immediate 

  

  exit 

  

  !

  

3.修改上一步中生成的backup.sh文件,并执行它来完成数据库文件的操作系统备份。为清楚起见,将这段脚本命名为文件alterbackup.sh。

  

  $vi alterbackup.sh 

  

  echo “该脚本完成把数据库数据文件、控制文件、日志文件的复制到当前目录的过程” 

  

  cat backup.sh|grep ‘cp /’>c.sh 

  

  #该语句把backup.sh中所有以“cp /”开头的语句提取出来生成新的文件c.sh 

  

  rm backup.sh 

  

  mv c.sh backup.sh 

  

  chmod  x backup.sh 

  

  . backup.sh 

  

  #注重:点号“.”与backup.sh之间有一空格

  

4.建立数据库启动脚本,以便完成备份之后启动数据库,将这段脚本命名为startup.script。


共3页: 上一页 1 [2] [3] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:Oracle10g/PSQL8/MySQL5特性比拼  
下一篇:Oracle10g对回滚操作时间的准确评估
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号