Oracle自动备份的脚本

发表于:2009-11-24 10:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

#
Oracle

  可以参照如下自己定制自己的备份脚本:

  1.创建一个文件名字为bak.sh的脚本

  放在/home目录下面即/home/bak.sh,bak.sh中的内容如下:

  #!/bin/sh

  export ORACLE_BASE=/opt/oracle;

  ORACLE_HOME=/opt/oracle/product/10.2.1; export ORACLE_HOME

  ORACLE_SID=cms40; export ORACLE_SID

  ORACLE_TERM=xterm; export ORACLE_TERM

  LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH

  PATH=$PATH:/bin:/usr/bin:/usr/sbin:/root:/opt/bin

  PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin

  export PATH

  CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

  CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

  LANG=EN.us; export LANG

  export LD_ASSUME_KERNEL=2.4.21

  exp cmsuser/xyz file=/home/oracle/111`date +'%Y%m%d'`.dmp log=/home/oracle/111`date +'%Y%m%d'`.log

  注意:文章中部分的环境变量的来源是:

  #su - oralce

  $cat  ~/.bash_profile

  Cmsuser是要登陆的数据库的名称,xyz是要登陆的数据库的密码,/home/oracle是存放导出的数据的路径,这个路径是oracle所应有的权限,正是因为oracle用户在home下面,所以用这个目录。

  2. 为脚本添加执行权限

  #chmod +x bak.sh

  3. 编辑crontab:

  #vi /etc/crontab

  在最后一行中加入:

  30 0 * * * oracle /home/bak.sh (bak.sh 的路径)

  每天5点运行脚本,也可以修改5为其他指定时间。

  注意:30 16 * * 5 root /home/bak.sh

  代表意义  分钟  小时  日期  月份  周

  数字范围  0-59  0-23  1-31  1-12  0-6

  以下是各部分的取之范围:

  分钟 0~59

  小时 0~23

  日期 1~31

  月份 1~12

  周    0~6

  其中周的范围0~6,0代表星期天,1~6代表周一~周六。

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号