Linux中怎样定时备份Oracle表数据?

 时间:2026-02-14 02:52:38

1、    在Linux备份机中配置执行定时任务时的用户环境变量。这也是再执行定时任务时遇到的第一个坑。在没有配置环境变量的前提下,即使脚本能够手动执行并且没有问题。但添加到系统定时任务后还是会执行失败。

定时任务执行时需要载入当前执行用户的环境变量,否则执行时会找不到sqlplus命令。

1、查看已经配置好的环境变量,一般会在文件最底部,图例仅供参考。

      less /ect/profile

Linux中怎样定时备份Oracle表数据?

2、复制环境变量,粘贴至定时任务执行用户的环境变量中并保存。

     vim /home/username/.bash_profile 

3、编写备份脚本

#!/bin/bash

if [ -f ~/.bash_profile ]

then

 . ~/.bash_profile

fi

rq=`date +%Y%m%d%H%M%S`

lastname='.zip'

mkdir /home/username/temp/$rq

sqlplus -S /nolog > /home/username/logs/$rq.log <<EOF

conn user/password@orcl

set echo off

set head off

set headsep off

set newp none

set linesize 500

set pagesize 0

set trimspool ON

set trimout on

set termout off

set feedback off

set timing off

spool /home/username/temp/$rq/TABLENAME.csv

select ID||','||AGENTNO||','||NAME||','||ADDRESS2||','||OCODE||','||ENTITY_ID from TABLENAME;

spool off

exit

EOF

#加密压缩

zip -rP 123456 /home/username/zip/$rq$lastname /home/username/temp/$rq

# 保留最近14天的备份

ls -t /home/username/zip/ | awk 'NR>14{print "rm -rf " $0}' | xargs rm -rf

4、在shell执行用户中添加定时任务,之后用root重启cron服务即可

crontab -e

0 0 * * * /home/username/shellname.sh

cron 重启命令(不同系统可能命令不同):

service crond restart

  • PLSQL如何导入EXCEL数据到ORACLE
  • rabbitmq如何清缓存
  • Linux 平台安装Oracle Database 12c详细步骤
  • oracle使用expdp遭遇ORA-3900139000 39142
  • shell如何调用sqlplus(各种情况示例)
  • 热门搜索
    海洋手抄报图片 节约粮食手抄报内容 三年级感恩手抄报 爱国手抄报大全 家庭教育手抄报 语文手抄报花边 小学四年级英语手抄报 关于三国演义的手抄报 文明礼仪手抄报模板 关于感恩手抄报图片