oracle异地建立目录,Oracle数据库定时异地备份

1)设置deferred_segment_creation参数

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

sqlplus / as sysdba

SQL>show parameter deferred_segment_creation

ed5dec33d192637c9599986ac63e06c3.png

注意:该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment。SQL>alter system set deferred_segment_creation=false;

034cfbc1c274eb1cc42bd13396f5c968.png

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

重启数据库服务

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值