oracle查看备份策略,linux下Oracle数据库常见备份策略

常见备份策略:

数据库每天自动备份数据需求

第一:每天自动备份当天的数据库的数据信息 。

第二:把当天备份的数据和日志一起打成.tar.gz包,这样会减少所占硬盘的空间。

第三:用FTP把当天的数据.tar.gz包上传到外面的服务器做备份。

第四:每天的数据日益增加,硬盘的容量有限。所以只保留最近一个月(30天)的备份,删除之前的备份。

自动备份实现步骤(从数据库服务器1备份到服务器2)

1、在数据库服务器1编写backup.sh文件

用安装Oracle数据库的用户(这里的用户为oracle)在数据库服务器的/home/databackup创建并编写backup.sh文件。该文件先定义Oracle的环境变量,然后导出当天的数据,并创建相关的日志,然后把当天的数据和日志打包成.tar.gz文件。

脚本文件内容:(#为注释)

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

#Oracle的字符集,Oracle数据库的中文字符集为AMERICAN_AMERICA.ZHS16GBK

export ORACLE_HOME=/oracle/product/10.2.0/db_1

#Oracle数据库的根目录

/oracle/product/10.2.0/db_1/bin/exp dbtest@ora10g file=dbtest`date +%Y%m%d`.dmp log=dbtest`date +%Y%m%d`.log owner=dbtest

#导出当日的数据库的数据并写日志。

tar -cf dbtest`date +%Y%m%d`.tar dbtest`date +%Y%m%d`.dmp dbtest`date +%Y%m%d`.log

#把数据文件和日志打包

gzip dbtest`date +%Y%m%d`.tar

#把tar包压缩成.tar.gz包

cat dbtest`date +%Y%m%d`.log | mail -s ‘dbtest Web Backup’ test@163.com

#把当天日志发送到test@163.com邮箱

rm -f dbtest`date +%Y%m%d`.dmp

rm -f dbtest`date +%Y%m%d`.log

#删除备份.dmp文件和.log日志

mv dbtest`date +%Y%m%d`.tar.gz /home/databackup

#把当前目录的.tar.gz包移动到/home/databackup目录下

rm -f /home/databackup/dbtest`date -d -30day +%Y%m%d`.tar.gz

#删除/home/databackup/目录下30天前的数据

2、在数据库服务器1创建FTP服务的autoftp.sh文件

从数据库服务器1的当天备份数据用FTP上传到另一服务器2。在数据库服务器1的/home/databackup的目录下创建并编写autoftp.sh文件。

脚本文件内容如下:

#!/bin/sh

ftp -i -v -n <

#启动 FTP 连接服务器2,***.***.***.***为服务器2的ip地址

user dbtest ******

#dbtest为用户名,******为密码

Binary

#以二进制传输

prompt off

lcd /home/databackup

#在数据库服务器1的目录

cd /home/dbtest/OracleBackup

#在服务器2的目录

mput dbtest`date +%Y%m%d`.tar.gz

#上传数据

close

bye

!

————————————————–

3、在数据库服务器1上给两个shell文件赋予权限

用oracle用户给backup.sh赋予相应的权限,启动一个终端,执行切换用户命令:su – oracle ,然后输入用户的密码。执行赋予权限命令:chmod +x /home/databackup/backup.sh

然后再执行命令:chomd +x /home/databackup/autoftp.sh

4、在数据库服务器1中的crontab来定时执行shell

用oracle用户启动一个终端,输入命令进行编写:crontab –e

内容如下:

30 19 * * * /home/databackup/backup.sh 2>&1

30 22 * * * /home/databackup/autoftp.sh 2>&1

保存,可以用命令:crontab –l

来查看.

上述的作用:每天19:30执行backup.sh文件,每天22:30执行autoftp.sh文件。

5、在服务器2上创建删除30天前的shell文件

因为上传的用户名为dbtest,所以用dbtest用户在服务器2的/home/dbtest/OracleBackup目录下创建并编写delete.sh文件。

内容如下:

rm -f /home/dbtest/OracleBackup/dbtest`date -d -30day +%Y%m%d`.tar.gz

#删除30天前的数据

6、在服务器2上给delete.sh文件赋予权限

执行赋予权限命令:chmod +x /home/dbtest/OracleBackup/delete.sh

7、在服务器2中的crontab定时执行delete.sh文件

与上同,输入命令进行编写:crontab –e

内容如下:

30 23 * * * /home/risesoft/67OracleBackup/delete.sh 2>&1

————————————————–

保存,可以用命令:crontab –l

上述作用:在每天的23:30自动执行delete.sh文件。

(注:gz的解压命令:(如:Test.tar.gz)

1 先解压成tar包: gunzip? Test.tar.gz

2 在解压Test.tar包:tar xvfm Test.tar)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值