阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux Oracle数据库自动备份Shell脚本

413次阅读
没有评论

共计 3020 个字符,预计需要花费 8 分钟才能阅读完成。

因对 Oracle RMAN 工具的使用不了解,所以网上查询自动备份数据库脚本,进行数据库备份

以下是可运行脚本创建步骤

1. 在服务器创建备份目录,并赋予权限
mkdir -p /backup/P_DATA
# 新建 shell 脚本存放路径
mkdir -p /backup/P_DB_BACK  #新建 Oracle 数据库备份目录
chown -R oracle:oinstall /backup/P_DATA    #设置目录权限为 oinstall 用户组的 oracle 用户(用户 oracle 与用户组 oinstall 是在安装 Oracle 数据库时设置的)
chown -R oracle:oinstall /backup/P_DB_BACK

2. 备份脚本
vi /backup/P_DATA/P_DB_BAK.sh #新建文件

#!/bin/sh ORACLE 信息可以通过 .bash_profile 查看

echo “ 备份脚本开始启动 …”  #打印备份进度
export ORACLE_SID=orcl1
export ORACLE_BASE=/oracle/app
export ORACLE_HOME=/oracle/app/110204
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/oracle/grid/bin

export LANG=en_US.UTF-8
export NLS_LANG=”AMERICAN_AMERICA”.AL32UTF8
# 以上代码为 Oracle 数据库运行账号 oracle 的系统环境变量设置,必须添加,否则 crontab 任务计划不能执行。

#oracle info

dateTime=`date +%Y_%m_%d`  #当前系统时间
days=5    #删除 5 天前的备份数据
orsid=’172.16.100.57:1521/orcl’
#oralce 连接信息
orowner=dbUser
# 备份此用户下面的数据
bakuser=dbUser
# 用此用户来执行备份,必须要有备份操作的权限
bakpass=dbPwd  #执行备注的用户密码
bakdir=/backup/P_DB_BACK
# 备份文件路径,已创建完毕
bakdata=$orowner”_”$dateTime.dmp
# 备份数据库名称
baklog=$orowner”_”$dateTime.log
# 备份执行时候生成的日志文件名称
ordatabak=$orowner”_”$dateTime.tar.gz
# 最后保存的 Oracle 数据库备份文件
cd $bakdir

echo “ 现在开始进行数据备份 …”

exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$bakdata log=$bakdir/$baklog #执行备份

echo “ 数据备份结束 …”

echo “ 现在开始进行压缩备份数据 …”

tar -zcvf $ordatabak $bakdata $baklog
# 压缩备份文件和日志文件

echo “ 压缩备份数据结束 …”

echo “ 删除备份数据开始 …”

find $bakdir/ -type f -name “*.log” -exec rm {} \;  #删除备份文件
find $bakdir/ -type f -name “*.dmp” -exec rm {} \;
# 删除日志文件
find $bakdir/ -type f -name “*.tar.gz” -mtime +$days -exec rm -rf {} \; #删除 5 天前的备份(注意:{} \ 中间有空格)

echo “ 删除备份数据结束 …”

echo “ 备份执行完毕 …”

# 将备份文件上传到远程服务器 如果不输人密码上传请参考  http://www.linuxidc.com/Linux/2017-11/148506.htm

:wq! 保存 退出

3. 添加脚本执行权限

chmod +x /backup/P_DATA/P_DB_BAK.sh #添加脚本执行权限

4. 编辑系统任务执行计划

crontab -e
输入一下信息:
00 03 * * * /backup/P_DATA/P_DB_BAK.sh #每天凌晨 3 点,以 oracle 用户执行 P_DB_BAK.sh 备份文件
:wq! #保存退出

5. 重启 crontab

service crond restart
从此每天的凌晨 3 点 系统会自动完成数据库的备份,压缩,并上传到远程服务器的指定路径下!

以下是无注释的脚本文件

#oracle info

 echo “ 备份脚本开始启动 …”

export ORACLE_SID=orcl1
 export ORACLE_BASE=/oracle/app
 export ORACLE_HOME=/oracle/app/110204
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
 export PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/oracle/grid/bin

 export LANG=en_US.UTF-8
 export NLS_LANG=”AMERICAN_AMERICA”.AL32UTF8

 dateTime=`date +%Y_%m_%d`
 days=5
 orsid=’ipaddress:port/orcl’
 orowner=dbuser
 bakuser=dbuser
 bakpass=dbpwd
 bakdir=/backup/WMS_DB_BACK
 bakdata=$orowner”_”$dateTime.dmp
 baklog=$orowner”_”$dateTime.log
 ordatabak=$orowner”_”$dateTime.tar.gz
 cd $bakdir

 echo “ 现在开始进行数据备份 …”

exp $bakuser/$bakpass@$orsid grants=y owner=$orowner file=$bakdir/$bakdata log=$bakdir/$baklog

 echo “ 数据备份结束 …”

echo “ 现在开始进行压缩备份数据 …”

tar -zcvf $ordatabak $bakdata $baklog

echo “ 压缩备份数据结束 …”

echo “ 删除备份数据开始 …”

find $bakdir/ -type f -name “*.log” -exec rm {} \;
 find $bakdir/ -type f -name “*.dmp” -exec rm {} \;
 find $bakdir/ -type f -name “*.tar.gz” -mtime +$days -exec rm -rf {} \;

echo “ 删除备份数据结束 …”

echo “ 备份执行完毕 …”

更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-11/148505.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计3020字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7957054
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...