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列为要运行的命令(如果有多个命令用 && 隔开)。

原文链接:,转发请注明来源!