linux服务器中如何登陆另一台Linux服务器中的Oracle数据库进行全库备份?

linux服务器中如何登陆另一台Linux服务器中的Oracle数据库进行全库备份?,第1张

1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B

例如计划任务0 0 * * * /data1/backup/expdp_db_bak.sh

expdp_db_bak.sh内容:

#!/bin/sh

. ~/.bash_profile

dst=/data1/backup/db_bak

today=`date +%F`

bakfile=expdp_db_${today}.dmp

logfile=expdp_db_${today}.log

expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \

dumpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all

scp -P22 $bakfile oracle@172.16.1.5:/data1/backup/db_bak

exit 0

2、也可以在服务器B用exp直接导出数据

exp 'user01/778899@DB01' file=$bakfile FULL=Y log=bak.log

3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B

指定路径

CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U'

全备份,默认Format

backup incremental level 0 database

增量备份

backup incremental level 1 database

将备份rsync 到服务器B

/usr/bin/rsync -av '-e ssh -p 22' oracle@172.16.1.1:/data1/rman /data1

4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据

打包备份时,dmp和log文件还没生成

你可以将crontab命令执行结果重定向一下就看出来了:

0 2 * * */home/tomc/backup/ommb/backup.sh >/tmp/backup.log 2>&1

步骤如下:

一、编写备份数据库的shell

1、创建保存shell文件的文件夹,

2、文件内容为:

#!/bin/sh

PATH=$PATH:$HOME/bin

export PATH

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_HOME

ORACLE_SID=HRDB

export ORACLE_SID

PATH=/usr/sbin:$PATH

PATH=$ORACLE_HOME/bin:$PATH

export PATH

exp fact/fact file=/backup/fact`date +%y%m%d`.dmp

log=/backup/factlog`date +%y%m%d`.log

shell文件编写完毕

一、运行以上的shell文件

看是否能生成备份的.dmp文件,如果能则表示shell文件编写成功

二、然后在此shell

文件的所在终端输入命令,将此文件授权让root用户可以执行:

三、命令为:chmod +x backup.sh

四、然后到root终端编写定时备份的语句

五、语句为:crontab –e

六、输入i

七、输入10 17 ,,,/home/backupscript/backup.sh

八、按下esc建,输入:wq 退出并保存即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7318853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存