Linux中的Oracle数据库备份并自动上传到FTP服务器
简介:本文主要介绍在Linux环境中,怎么将Oracle数据库进行备份并自动上传到指定的FTP服务器,实现数据库的异地备份。其具体措施是提前部署好FTP服务器,然后编写脚本将Oracle数据库进行备份,并在备份成功后将生成的数据库文件上传到FTP服务器的对应文件夹下,在FTP服务器异地保存。确保了本地和FTP服务端各存一份,实现数据异地备份,提高数据库灾备的安全级别。
详细内容请参考下文。
一、登录linux系统
二、登陆oracle数据库
切换oracle用户的时候提示
原因分析:应该是ORACLE_HOME和PATH没有配置好
解决办法:先执行指令vim .bash_profile修改配置文件,在最后增加两行配置文件。
export ORACLE_HOME=/oracle/app/product/19C/db_home
export PATH=$ORACLE_HOME/bin:$PATH
然后执行命令# source .bash_profile启用该资源文件
三、编写脚本实现数据库文件的备份和自动上传
1、测试否能正确连接数据库
执行指令$ sqlplus / as sysdba
2、创建保存目录expdp_backup
执行指令# mkdir expdp_backup
3、创建本地每日备份脚本文件expdp_day.sh
执行指令# vim /usr/local/expdp_day.sh
4、创建FTP脚本文件ftp.sh
执行指令# vim ftp.sh
#!/bin/bash
date=`date "+%Y%m%d"`
ftp -in <<!
open 172.16.*.* #备份服务器IP地址
user username password #备份服务器用户和密码
bin
lcd /expdp_backup/ #本地待备份文件
cd /Backup #指定备份服务器目录
mput *$date.dmp
bye
5、设置文件执行权限
执行指令# chmod 755 expdp_day.sh
执行指令# chmod 755 ftp.sh
6、编制crontab计划任务
执行指令# crontab -e
格式说明:第1列为分钟,0~59;第2列为小时,0~23;第3列为日期,1~31;第4列为月份,1~12;第5列为星期,0~7(0和7表示星期天);第6列为要运行的命令(如果有多个命令用 && 隔开)。