教你用Linux完成Oracle自动物理备份

2016-02-19 17:23 3 1 收藏

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的教你用Linux完成Oracle自动物理备份,希望大家看完后能赶快学习起来。

【 tulaoshi.com - 编程语言 】

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

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

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

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

  $vi database.srcipt

  spool database.parm

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

  select * from v$parameter;

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

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  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。 

  $vi startup.script

  spool StartStatus.readme

  --开始启动数据库

  startup

  --数据库启动完成,可以查看StartStatus.readme文件检查数据库启动情况

  spool off

  exit

  !  

  5.为节省磁盘空间和复制到其他存储位置,建立Shell文件gzip.script来完成备份数据文件的压缩。注意生成备份文件时,在文件名中注明时间。  

  $vi gzip.sh

  echo 开始进行备份文件的压缩过程

  thedate=‘date + %Y.%m.%d.%H.%M’

  #注意:字符串前后都有一个反引号,不是单引号

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  outfile=$thedate

  tar -cvf backup$outfile.tar backup/*

  #将备份到backup目录下的所有文件生成一档案文件

  gzip backup$outfile.tar

  #把档案文件进行压缩,以节省硬盘空间

  rm -R backup #删除那些没有压缩的文件  

  6.把上面第2步到第5步生成的内容组织成一个Shell文件begin.sh,但这之前还需要先运行以下命令:  

  $chmod +x alterbackup.sh

  $chmod +x gzip.sh

  $vi begin.sh

  echo 开始进行数据库的自动物理备份过程,该Shell将在当前目录下生成backup.gz文件,

  该文件中包含数据库的一些参数信息及数据库的物理文件

  mkdir backup

  sqlplus internal/oracle database.srcipt

  . alterbackup.sh

  sqlplus internal/oracle startup.script

  . gzip.sh

  echo 数据库自动进行物理备份过程结束,请在当前目录下检查backup.tar.gz  

  7.增加数据库参数文件的备份语句。  

  数据库参数文件通常存储在ORACLE/ADMIN/数据库名/pfile/目录下,其文件命名规则为init+数据库名.ora,数据库名缺省名称为orcl,可根据数据库安装名称来进行修改。如果不知道该文件存储在什么位置,可使用下面命令进行查找:  

  $find $ORACLE_HOME -name ‘initorcl.ora’  

  该语句可能显示出/u01/app/oracle/product/8.1.7/dbs/initorcl.ora,由于在Linux中有一种链接文件,所以要查看显示出的文件是不是链接文件,如果是,还需要进一步查看其原始文件。  

  $ll /u01/app/oracle/product/8.1.7/dbs/initorcl.ora  

  本例中显示出该文件是一个链接文件,它指向/u01/app/oracle/admin/orcl/pfile/initorcl.ora。为此,可以修改第3步的alterbackup.sh,修改结果如下(粗体显示,该语句需要根据数据库安装情况进行修改):  

  

  chmod +x backup.sh

  cp /u01/app/oracle/admin/orcl/pfile/initorcl.ora backup/initorcl.ora

  . backup.sh

  #注意:点号.与backup.sh之间有一空格  

  8.在准备进行备份时,先使用ls -l(或ll)命令检查当前目录下,此时应该有这样几个文件:alterbackup.Sh,begin.sh,database.script,gzip.sh,startup.script。  

  此后,还应执行命令:  

  $chmod +x begin.sh

  如果一切完成,就可以执行begin.sh来完成备份过程了:  

  . begin.sh

  #注意begin.sh与前面点号之前有一空格。  

  以后每次需要做备份时,只需运行begin.sh即可。这里也可以使用crontab自动完成按计划备份,有关如何使用crontab,请参考相关资料,也可在网上查询,本文不再做介绍。  

  使用此方法进行物理备份过程,不仅备份了数据库的数据文件,也同时记录了数据库的一些重要信息(第2步的database.parm 文件中),这对于以后恢复数据是非常重要的。最后要提醒读者注意的是,本文提供的方法要求有足够大的剩余磁盘空间(尽管最后只保留了备份文件的压缩文件),这个缺撼留给读者去弥补。

来源:http://www.tulaoshi.com/n/20160219/1615106.html

延伸阅读
原图 效果图 01、打开图片,ctrl+j两次,得到图层1和图层1副本。点击红圈处,创建新图层,得到图层2把这层放于图层1与背景层之间,并填充颜色,这里填充了绿色,作为检验效果和新的背景层。 02、在图层1执行滤镜--抽出命令。在强制前景处打勾,颜色选择白,为抽取头发的高光发丝。用高光器工具涂抹绿色,人物边缘的...
标签: 摄影入门 摄影
Rebekka GuðleifRebekka Guðleif,冰岛视觉艺术家和摄影师。 Rebekka Guðleif,冰岛视觉艺术家和摄影师,她的摄影题材很广泛,从美丽的冰岛风光到动物到人像。Rebekka自2005年来一直为华尔街日报、纽约时报、花花公子、BBC等众多著名机构进行拍摄工作。虽然涉足各种商业拍摄任务,但Rebekka仍然对艺术摄影情有独钟。目前她和...
正在看的ORACLE教程是:数据库Oracle数据的异地的自动备份。在大型商业应用中,数据的异地容灾备份十分重要,也必不可少。笔者根据自己的实践经验,设计了一套简洁地实现异地数据自动备份的方法,可供数据库管理人员参考。文中所有的程序都经过测试,运行良好。这里模拟的异地运行环境为一主一备两套Sun Solaris系统,所采用的备份方法为Oracle数...
本文主要讲述用APF和BFD来加强Linux防火墙,BFD: (穷举破解侦测),与APF: (高级规则防火墙),均是由 Rf-x Networks 出品的Linux安全工具。 在安装BFD前,请务必确认您已经安装了APF,因为BDF将用到APF中的部分功能和特性。如果您还未安装APF,请点击这里阅读菜鸟油提供的APF的安装与设置。 下载最新版的BFD:wget http://www.rfxnetworks...

经验教程

910

收藏

50
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部