1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > linux sybase 自动备份 sybase数据库 Linux环境下 每天定时全量备份+sybase数据库 stripe on 还原...

linux sybase 自动备份 sybase数据库 Linux环境下 每天定时全量备份+sybase数据库 stripe on 还原...

时间:2019-11-09 21:13:47

相关推荐

linux sybase 自动备份 sybase数据库 Linux环境下 每天定时全量备份+sybase数据库 stripe on 还原...

一、数据库备份

OA数据库使用的是linux版本的sybase数据库,目前的备份方法是:

1、从windows server服务器上启动定时服务,执行一个bat脚本,远程启动linux上Sybase的备份,备份文件自动存放于linux的存储中。

2、从windows server服务器上启动定时服务,执行一个bat脚本,通过linux上的FTP服务,将文件获取到window server服务器上,同时删除linux服务器上备份文件(防止linux可用存储变小)。

3、从windows server服务器上启动定时服务,执行一个bat脚本,将windowsServer上的备份文件 同步到 另外一台的windows server服务器上,实现两块存储同时备份。

所有脚本文件放置于42服务器的桌面 dbBackup_56 文件夹

步骤详解:

1、定时器定时触发 backup 下的 sql.bat

sql.bat

内容: isql -Usa -P-S56db -isql.sql>>0.txt

描述:远程登录56数据库,执行sql.sql中的语句,并将日志记录在0.txt中

sql.sql

内容:dump database oa to"/sybase/data/dbBackup/oa_1.dmp"

stripe on"/sybase/data/dbBackup/oa_2.dmp"

stripe on"/sybase/data/dbBackup/oa_3.dmp"

stripe on"/sybase/data/dbBackup/oa_4.dmp"

stripe on"/sybase/data/dbBackup/oa_5.dmp"

stripe on"/sybase/data/dbBackup/oa_6.dmp"

go

描述:将表结构和数据 备份并分成6个包。存放到sybase/data/dbBackup下。

2、定时器定时触发ftpGet文件夹下的 Update.bat,从56 linux服务器将/sybase/data/dbBackup下的6个备份文件通过FTP 下载到 42服务器

update.bat

@echo off

setbak=%date:~0,4%%date:~5,2%%date:~8,2% //生成时间戳

e: //进入E盘

cd dbBackup //进入dbBackup

md %bak% //创建以时间戳命名的文件夹

echo open139.0.31.56>a.txt //将内容写入到a.txt

echosybase>>a.txt //将内容写入到a.txt

echosybase>>a.txt //将内容写入到a.txt

echo cd/sybase/data/dbBackup>>a.txt//将内容写入到a.txt

echo bin>>a.txt//将内容写入到a.txt

echo get oa_1.dmp e:/dbBackup/%bak%/oa_1.dmp>>a.txt//将内容写入到a.txt

echo get oa_2.dmp e:/dbBackup/%bak%/oa_2.dmp>>a.txt//将内容写入到a.txt

echo get oa_3.dmp e:/dbBackup/%bak%/oa_3.dmp>>a.txt//将内容写入到a.txt

echo get oa_4.dmp e:/dbBackup/%bak%/oa_4.dmp>>a.txt//将内容写入到a.txt

echo get oa_5.dmp e:/dbBackup/%bak%/oa_5.dmp>>a.txt//将内容写入到a.txt

echo get oa_6.dmp e:/dbBackup/%bak%/oa_6.dmp>>a.txt//将内容写入到a.txt

echo deleteoa_1.dmp>>a.txt //将内容写入到a.txt

echo delete oa_2.dmp>>a.txt //将内容写入到a.txt

echo deleteoa_3.dmp>>a.txt //将内容写入到a.txt

echo deleteoa_4.dmp>>a.txt //将内容写入到a.txt

echo deleteoa_5.dmp>>a.txt //将内容写入到a.txt

echo deleteoa_6.dmp>>a.txt //将内容写入到a.txt

echo bye>>a.txt//将内容写入到a.txt

ftp -s:a.txt//以a.txt中的内容登录到56ftp下载文件

3、定时器定时触发ftpPut 文件夹下的 Update.bat,将42服务器内的6个备份文件传送到异地备份服务器,以防止磁盘崩溃

update.bat

@echo off

setbak=%date:~0,4%%date:~5,2%%date:~8,2% //生成时间戳

echo open139.36.0.249>a.txt

echogyoaFTP>>a.txt

echo gyoaFTP>>a.txt

echo cd/z-dbBackup>>a.txt

echo mkdir%bak%>>a.txt

echo cd%bak%>>a.txt

echo bin>>a.txt

echo pute:/dbBackup/%bak%/oa_1.dmp>>a.txt

echo pute:/dbBackup/%bak%/oa_2.dmp>>a.txt

echo pute:/dbBackup/%bak%/oa_3.dmp>>a.txt

echo pute:/dbBackup/%bak%/oa_4.dmp>>a.txt

echo pute:/dbBackup/%bak%/oa_5.dmp>>a.txt

echo pute:/dbBackup/%bak%/oa_6.dmp>>a.txt

echo bye>>a.txt

ftp -s:a.txt//通过a.txt的内容将备份文件传输至备份服务器

二、数据库还原

1、新建数据库与数据库设备

数据还原有一个前提,目标数据库一定要比原数据库大,这个大小指的是:

例如,正式环境中,OA数据库的大小是50000M,那你要还原的大小必须超过50000M

那这个大小如何设置呢?

这个大小说的就是“数据库设备”的大小的综合,每个数据库都可以添加多个数据库设备,sybase将数据和日志 存储在数据库设备中,如果某一天发现数据库设备不够了,可以新建一个“数据库设备”,然后将这个数据库设备添加进 数据库。

例子:

这里新添加了两个数据库设备,sysdump5(30000M)和sysdump6(32000M)

然后再新建一个数据库 oa3

为oa3数据库添加两个“数据库设备”

所以oa3的总大小为 sysdump5分配的大小+sysdump6分配的大小

二、结构与数据还原

1、还原之前,首先断开所有数据库连接工具与应用的连接,确保数据库不被占用

2、将6个数据库备份文件拷贝到目标数据库所在的磁盘中。如 E:\dbBackup\1210

3、确保sybase 备份与还原服务处于打开状态

SybaseBCKServer

4、打开一个客户端连接工具,数据库选中master

执行以下语句:

loaddatabase oa3 from "E:\dbBackup\1210\oa_1.dmp"

stripeon "E:\dbBackup\1210\oa_2.dmp"

stripeon "E:\dbBackup\1210\oa_3.dmp"

stripeon "E:\dbBackup\1210\oa_4.dmp"

stripeon "E:\dbBackup\1210\oa_5.dmp"

stripeon "E:\dbBackup\1210\oa_6.dmp"

onlinedatabase oa3

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。