Oracle数据库怎么定时异地备份

开发技术 作者:chen 2024-03-29 04:50:01
这篇文章主要讲解了“Oracle数据库怎么定时异地备份”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle...

这篇文章主要讲解了“Oracle数据库怎么定时异地备份”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle数据库怎么定时异地备份”吧!

1)设置deferred_segment_creation参数

下面设置不管是不是空表都分配segment空间。

su - oracle
sqlplus / as sysdba
SQL>show parameter deferred_segment_creation

Oracle数据库怎么定时异地备份

注意:该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。

SQL>alter system set deferred_segment_creation=false;

Oracle数据库怎么定时异地备份

注意:该值设置后对以前导入的空表不产生作用,仍不能导出,只能对后面新增的表产生作用。

重启数据库服务

2)配置ssh信任

配置ssh信任,备份脚本中的scp命令可以免密码传输文件到从服务器(192.168.1.21)上

在主服务器上执行:

ssh-keygen -t rsa        //一直回车即可
cd /root/.ssh/
scp id_rsa.pub root@192.168.1.21:/root/.ssh/

在从服务器上执行:

cd /root/.ssh/
mv id_rsa.pub authorized_keys

这样在主服务器上可以scp免密码拷贝文件到从服务器上

3)自动备份脚本

先在从服务器上创建备份文件存储目录

mkdir -p /home/backup/oracledata/
chmod 777 /home/backup/oracledata/

在主服务器上编写脚本

vim /home/backup/oracledata/oraclebk.sh

# /usr/bin
#路径名,指定备份的路径
FILEPATH=/home/backup/oracledata
 
#根据指定日期格式,定义备份数据库文件名
FILENAME=`date +"%Y%m%d_%H%M"`
 
#切换至指定路径,并创建文件夹
cd $FILEPATH
mkdir $FILENAME
chmod 775 $FILENAME
 
#oracle变量设置
export USER=oracle;
export ORACLE_SID=ecology;
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;
export PATH=$ORACLE_HOME/bin:$PATH;
 
#导出数据库
exp ecology/ecology file="$FILENAME/$FILENAME".dmp log="$FILENAME/$FILENAME".log owner=ecology
 
#打包
tar -zcvf $FILENAME.tar.gz $FILENAME
rm -rf $FILENAME
scp $FILENAME.tar.gz root@192.168.1.21:$FILEPATH/
find ./ -mtime +15 -name \\*.gz |xargs rm -f
exit
EOF

4)添加计划任务

crontab -e
00 03 * * * sh /home/backup/oracledata/oraclebk.sh

5)重启crond服务

systemctl restart crond.service

感谢各位的阅读,以上就是“Oracle数据库怎么定时异地备份”的内容了,经过本文的学习后,相信大家对Oracle数据库怎么定时异地备份这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是捷杰建站,小编将为大家推送更多相关知识点的文章,欢迎关注!

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_1794.html
oracle