重庆思庄Oracle、Redhat认证学习论坛

标题: linux自动执行oracle的expdp任务 [打印本页]

作者: 王亮    时间: 2020-7-26 19:24
标题: linux自动执行oracle的expdp任务
1、 使用oracle用户,登录linux
1.1使用命令创建一个目录,用来存放备份,例:
   Mkdir -p/data/backup/
  1.2 将新建的目录,赋于给oracleoracle用户组,例:
   Chown -Roracle:oinstall /data/backup
2、 连接到数据库,创建导出文件存放目录
2.1使用sqlplus 连接到数据库
2.2将之前创建的目录,指定为oracle进行expdp导出的目录,例:
Createdirectory expdp_bak_dir as ‘/data/backup‘;
  2.3 给新指定的directory赋于system的权限,同样在sqlplus里执行命令。例:
   Grantcreate any directory to system;
  2.4 退出sqlplus ,使用vi命令创建一个备份脚本,例:
   Vi/data/backup/oradatabak.sh
  2.5 脚本内容可参照下面
   #bin/sh
   Export ORACLE_SID=ORCL
   ExportORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
   ExportDATA_DIR=/data/backup
   Now=`date+%Y%m%d%H%M%S`
  Dmpfile=db$now.dmp
   Echo startexpdp $dmpfile …
  /u01/app/oracle/product/11.2.0/dbhome_1/bin/expdp system/******@ORCLdumpfile=$dmpfile directory=expdp_bak_dir full=y
   Echo delete the file backup befor6 days …
   Find /data/backup/ +mtime +6 -name“*.dmp” -exec rm -rf ‘{}‘ \;
   Echo “Delete the file backupsuccessfully.”
   Echo “backup completed.”
2.6 保存退出脚本
2.7 为刚添加的脚本赋于执行的权限,命令如下:chmod +x /data/backup/oradatabak.sh
2.8 验证一下脚本能否执行成功,或不能,则对脚本进行调整,可将脚本的命令逐一执行,查看具体哪儿语句有问题然后进行调整。
3、设置系统自动定时执行备份脚本
3.1 使用vi命令,编辑/etc/crontab。在系统任务计划文本最后添加一行。内容参照如下:
  30  0 *  *  *  oracle  /data/backup/oradatabak.sh
意思是每天凌晨30分,以oracle用户执行 /data/backup下的oradatabak.sh脚本。
  Crontab中任务计划格式参照如下:
  格式:[] [] [] [] [] [用户] [脚本的路径
3.2 重启系统的任务计划,命令如下:service crondrestart






欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2