1、 使用oracle用户,登录linux 1.1使用命令创建一个目录,用来存放备份,例: Mkdir -p/data/backup/ 1.2 将新建的目录,赋于给oracle和oracle用户组,例: 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
|