山东省国税系统CTAIS数据备份和日常维护
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
》
--------------------------------------------------------------------------------
2007-01-23 12:31:55 标签:备份 方案 [推送到技术圈]
【发布单位】山东省国家税务局
【发布文号】鲁国税函[2003]103号
【发布日期】2003-04-24
【是否有效】有效
各市国家税务局:
随着我省税收信息化建设的不断深入,CTAIS的正常运行成为信息安全的重要内容,CTAIS数据的备份和日常维护工作也成为信息化建设的基础性工作之一。为切实用技术手段和管理措施保障CTAIS运行,省局在充分考虑各市局现行备份方案的基础上,研究制定了《山东省国税系统CTAIS数据备份和日常维护方案》,现下发给你们,并提出如下要求,请遵照执行:
一、要高度重视CTAIS的安全运行和日常维护工作,要重点加强管理人员和备份设备的配备,应至少配备两人负责CTAIS的数据管理工作。
二、应按照省局方案要求,结合本市的硬件设备和CTAIS数据量大小的具体情况,对本市方案进行优化完善。在方案完善过程中,要本着多人管理、手工与自动备份相结合、异地备份和多种备份方式并举的原则进行,要保存不同时间的多个备份版本,以便出现问题时进行紧急恢复。
三、为保证CTAIS的正常运行,各市在数据备份前要执行必要的数据库检测,并充分利用查询机进行恢复测试工作,确保备份数据的可用性。
附件:山东省国税系统CTAIS数据备份和日常维护方案
(此件不另发纸质文件)
二OO三年四月二十四日
山东省国税系统CTAIS数据备份和日常维护方案
一、系统描述
(一)应用模式: CTAIS数据市局集中。在全省17市局分别建立CTAIS数据库,依托金税广域网,以市局为单位完成征管数据的集中处理。
(二)数据库服务器:两台HP9000系列或IBM M80(S7A)高档小型机,分别用作业务处理和数据查询。
(三)数据库类型:Sybase12.0
(四)复制服务器:Sybase Replication Server12.0
(五)集群软件:HP MC/Service Guard或IBM HACMP
二、备份目的:
防止因以下情况造成的数据库故障:1、磁盘阵列损坏;2、数据库瘫痪;3、管理员误操作;4、系统升级故障;5、现场灾难;6、其他原因。
三、备份原则:
(一)多人管理。CTAIS的数据管理实行多人(两人以上)管理的原则,确保每天都有CTAIS数据库管理员(DBA)检查系统运行和备份情况。在重要情况下,如较大规模升级、数据恢复时要保证两名以上数据库管理员同时在场。
(二)手工与自动备份相结合。正常情况下采取自动备份的方式进行本地备份和异地备份,特殊情况下,如系统升级前、扩设备和数据库等以手动备份进行有关数据库备份,做到两者有机结合。
(三)异地备份。为保证数据安全,CTAIS数据库必须采取异地(如某区县局国税局机房)备份方式,在本地保存备份的同时,在异地建立备份存储设备,通过多种方式将备份数据传输到异地保存。
(四)多种备份方式。在做好CTAIS和系统数据库全库备份的同时,采用BCP方法对CTAIS中用户表进行备份。
四、数据备份
(一)备份内容:
1、业务机CTAIS数据库;
2、业务机MASTER数据库;
3、CTAIS数据库中用户表;
4、复制服务器的RSSD数据库。
(二)备份介质:业务机或查询机磁盘阵列、磁带(库)或专用备份服务器;
(三)存放地点:机房、专用磁介质橱柜、异地机房;
(四)备份前提:备份之前执行DBCC检查,确认没有数据库逻辑错误;
(五)日常备份:
1、CTAIS数据库备份。每天凌晨零时以后,利用批处理文件、Shell文件或Windows的任务计划执行CTAIS数据库自动备份到磁盘阵列、磁带,自动压缩后FTP传输到异地保存,做到机房和异地都有备份;
2、CTAIS用户表备份。每天利用BCP方法自动备份CTAIS数据库中用户表;
3、MASTER数据库备份:每次在系统中增加(修改)数据库设备、扩充用户数据库大小、增加用户等操作后,及时备份MASTER数据库,同时保存这些操作的脚本。
4、RSSD数据库备份:RSSD是复制服务器的系统数据库,存储着复制服务器的系统表,也要经常作备份。
(六)升级备份:大规模升级之前进行MASTER和CTAIS数据库全库备份;
(七)关机备份:较长时间节假日,按照上级部门
通知
关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知
要求,在关机之前,进行MASTER和CTAIS数据库全备份;
(八)保留的最新备份:最近连续五个工作日的备份,备份存储介质可循环使用;
(九)存档的备份:年度末备份、大规模版本升级前备份,每月末备份;
(十)备份人员:CTAIS数据管理人员;
(十一)备份管理:备份人员每天上午检查磁盘阵列、磁带中备份文件、异地备份文件情况;及时更换磁带,将备份磁带放至专用磁介质橱柜;
(十二)恢复演练:通过把业务机CTAIS库恢复到查询机或利用测试机和备份出的BCP数据进行演练恢复。数据库管理员两人以上同时在场,详细记录恢复过程,确保数据安全。
五、数据恢复
发生故障确需恢复数据时,经领导同意,数据库管理员两人以上同时在场,详细记录恢复过程,确保数据安全;数据恢复工作按照紧急
预案
社区应急预案下载社区应急预案下载社区应急预案下载应急救援预案下载应急救援预案下载
处理办法进行,并及时报上级部门和有关技术支持公司进行技术支持。
六、日常维护
(一)监测业务机、查询机运行情况。每日查看数据库系统日志,包括每个数据库(含系统数据库)已使用空间、剩余空间、日志空间,检查进程死锁以及系统日志文件记录等情况,检查系统文件区大小,检查磁盘和CPU状态,记录系统运行日志。
(二)监测复制服务器运行情况。包括Partition已使用空间、主点从点的Agent状态、稳定队列状态等情况。
(三)定期利用DBCC命令检查系统状态,利用Update Statistics命令更新统计值(可编写批处理文件,每次备份后自动执行)。
七、CTAIS升级注意事项:
(一)制订详细升级方案,提前下发升级通知;
(二)建立模拟运行环境,升级前进行充分测试,发现问题及时向上级部门和总局CTAIS技术支持中心反馈;
(三)按照升级要求,在
规定
关于下班后关闭电源的规定党章中关于入党时间的规定公务员考核规定下载规定办法文件下载宁波关于闷顶的规定
时限内完成升级工作;
(四)升级前进行MASTER和CTAIS数据库全库备份和BCP备份;
(五)首先进行后台升级,然后进行前台客户端升级;
(六)通知用户退出,对用户加锁后方可进行后台升级;
(七)根据升级要求确定是否断开复制服务器;业务机和查询机同时升级;
(八)后台升级后,对数据库重新建索引、更新分析统计值、重新编译后台视图、存储过程、触发器等;
(九)详细记录升级步骤和升级现象;
(十)升级完成后,及时形成系统升级总结
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
。
附:自动备份建议技术方案和日常维护命令
一、Shell文件实现自动备份
1、编写命令脚本autobackup.sh :
#!/bin/sh
DATE=`date +%Y%m%d_%H%M%S`
filePath="/ctais_dumps"
fileName="ctais_${DATE}.dmp"
remoteIP="市局Ctais备份服务器IP地址"
remotePath="/ctaisbackup"
nfsPath="/ctaisbackup"
cd /sybase/ASE-12_0/install
rm ${filePath}/ctais*
print "starting dump database at `date +%Y/%m/%d-%T`" > ctaisbackup.err
isql -Usa -Ppassword >>ctaisbackup.err 2>&1 <
4) print"rm ", $0}' | sh
cd $currentPath
print "staring copy database at `date +%Y/%m/%d-%T`" >>ctaisbackup.err
ftp -inv >>ctaisbackup.err 2>&1 <>ctaisbackup.err
2、以root身份登录
3、crontab –e
4、加入命令0 3 * * * su - sybase -c "/sybase/ASE-12_0/install/autobackup.sh"
系统自动备份并拷贝文件到市局Ctais备份服务器(配置Ftp)。
二、Windows任务计划、批处理文件实现自动备份
(一)编制DUMP数据库的脚本文件
在CTAIS库中主要备份MASTER和CTAIS两个数据库。脚本由SYBASE的客户端应用程序ISQL调用,以实现数据库的DUMP操作,文件名为:AUTOBACK.SQL,其内容如下:
declare @outobackup varchar(50)
select @ outobackup =‘beginning dump’ +convert(varchar(20),getdate())
print @ outobackup
go
dump transaction ctais with no_log
go
declare @wxd varchar(29)
select @wxd=
'/ctaisdump/ctais'+convert(char(4),getdate(),102)+substring(convert(char(10),getdate(),102),6,2)+substring(convert(char(10),getdate(),102),9,2)+".dmp"
dump database ctais to @wxd
go
declare @ outobackup varchar(50)
select @ outobackup =
'end dump ' +convert(varchar(20),getdate())
print @ outobackup
go
该文件自动形成名为“CTAIS年份_月份_日期.DMP“的备份文件,这样从日志中便于知道数据的备份日期。
(二)编制批处理文件bf.bat
编制批处理文件,命名为bf.bat,其内容如下:
isql –-U**** –-P****** -Sctais_sybase -iautoback.sql -oerr.log
其中,-U 后为登录CTAIS的用户名;-P 后为响应用户的口令;-S 后为服务器名;-i autoback.sql 指定引入文件autoback.spl,执行数据备份;-oerr.log 最后输出错误日志。
(三)制定计划任务,实现数据定期自动备份
应用WINDOWS系统的计划任务,定制计划任务 ,安排每天晚零时执行bf.bat文件,实现每天的数据备份工作。
三、备份文件的自动压缩,自动FTP传输
方法一:
(一)备份数据的自动压缩
由于备份文件非常庞大,将其压缩会明显的缩小存储空间、缩短传输时间。
Tar –cvf CTAIS????????.DAT CTAIS????????.DMP
(二)备份数据的自动传输
备份数据的传输通过FTP服务实现。在远程备份机上启动FTP服务。在传输之前,应确定远程备份机是连通的,可以在在本地CTAIS服务器上SHELL中用ping命令来进行检测。其内容如下:
ping -c 4 $PUTHOST >/tmp/p
sleep 10
grep 'icmp_seq=0' /tmp/p >/tmp/p1
cs=`echo $?`
if test "$cs" != "0"
then
echo "backup server not open">>$RESFILE
exit 0
else
echo "backup server ok ">>$RESFILE
fi
在远程机上,利用WINDOWS的SHELL命令编写了脚本程序aaaa.vbs。执行此程序会生成相应的ftp1.txt文件,该文本文件负责从服务器上取得当天的备份文件。
脚本程序内容如下:
DIM cmd, os,y, m, d, zipfile
set os=wscript.createobject("wscript.shell")
y = year(date)
m = month(date)
d = day(date)
if m < 10 then
m = "0" & m
end if
if d < 10 then
d = "0" & d
end if
cmd = "command.com /c DEL FTP1.TXT"
os.run cmd
cmd = "command.com /c echo user root *****>FTP1.TXT" (*****代表密码)
os.run cmd
cmd = "command.com /c echo bin>>FTP1.TXT"
os.run cmd
cmd = "command.com /c echo cd ctaisdumps>>FTP1.TXT"
os.run cmd
zipfile = "get CTAIS" & y & m & d & ".DMP"
cmd = "command.com /c echo " & zipfile &" >>FTP1.TXT"
os.run cmd
cmd = "command.com /c echo bye>>FTP1.TXT"
os.run cmd
生成的ftp1.txt文件内容如下:
user **** ******
bin
cd ctaisdumps
get CTAIS_Y_M_D.DMP
bye
其中 get 后的DMP文件名格式为“CTAIS+当前日期(年月日)“,例如,CTAIS20021005.DMP
然后建立传输备份文件的批处理文件ftp.bat.
其内容如下:
echo off
ECHO 正在寻找备份的CTAIS目录并监测硬盘空间.......
IF not EXIST D:\data1\01\CTAIS200?????.DMP del REM d:\data1\02\CTAIS*.DMP
IF not EXIST D:\data1\01\CTAIS200?????.DMP CD D:\DATA1\01
IF not EXIST D:\data1\01\CTAIS200?????.DMP GOTO TABLE
IF not EXIST D:\data1\02\CTAIS200?????.DMP del REM d:\data1\03\CTAIS*.DMP
IF not EXIST D:\data1\02\CTAIS200?????.DMP CD D:\DATA1\02
IF not EXIST D:\data1\02\CTAIS200?????.DMP GOTO TABLE
IF not EXIST D:\data1\03\CTAIS200?????.DMP del REM d:\data1\04\CTAIS*.DMP
IF not EXIST D:\data1\03\CTAIS200?????.DMP CD D:\DATA1\03
IF not EXIST D:\data1\03\CTAIS200?????.DMP GOTO TABLE
IF not EXIST D:\data1\04\CTAIS200?????.DMP del REM d:\data1\01\CTAIS*.DMP
IF not EXIST D:\data1\04\CTAIS200?????.DMP CD D:\DATA1\04
:TABLE
ECHO 正在远程登陆CTAIS服务器.......
ftp -n -i -s:d:\data1\FTP1.TXT IP地址
del FTP1.TXT
IF EXIST CTAIS????????.DMP echo 备份完成!!!
IF not EXIST CTAIS????????.DMP echo 连接CTAIS服务器失败或没有已经备份的CTAIS文件!!!
rem 结束
echo
利用上述方法可以实现数据库的完整DUMP本地和远程备份。
方法二:
(一)将备份文件进行自动压缩
1.在Ctais备份服务器上安装winrar软件(提供690k大小的winrar安装程序)
2.安装结束后, 需要对系统环境变量PATH进行设置,具体通过控制面板——〉系统——〉高级——〉环境变量——〉系统变量
3.编辑变量Path,将winrar安装目录D:\program files\winrar 加入。
4.将压缩指定目录下备份文件的命令写入批处理文件(autobackup.bat)
rar a -ag -df -ibck -ilog f:\testbackup\dmp.rar f:\testbackup\*.dmp
此命令会对需要压缩的*.dmp文件在后台进行压缩,并形成名字为dmp+具体压缩时间.rar的压缩文件,压缩结束后自动删除*.dmp文件,并将记下压缩日志,可以通过运行winrar程序——〉选项——〉查看日志对日志文件进行核实。
(二)将压缩后的备份文件通过FTP自动上传到异地的FTP服务器
1、在Ctais备份服务器f:\ctais_autobackup目录下新建一个autoftp.txt文件,内容如下:
user username passwd(可以登陆远程FTP服务器,且具有写入权限的用户名username和密码passwd)
cd \
cd remote_ftp
lcd f:\testbackup
mput *.rar /n
bye
2、在远程的ftp服务器中新建一个名为remote_ftp的ftp目录。
3、将自动ftp备份目录下已压缩备份文件的命令写入autobackup.bat批处理文件。
ftp -n -i -s:f:\ctais_autobackup\autoftp.txt 远程ftp服务器的ip地址
(三)将压缩后的备份文件存储到具体存放备份文件的磁盘目录或磁带上
如将f:\testbackup\*.rar移动到f:\ctais_backup\目录下,命令写入autobackup.bat中。
move /Y f:\testbackup\*.rar f:\ctais_backup\
(四)将以上所有的步骤形成的autobackup.bat批处理文件,添加到windows中的任务计划里。具体设置如下:
控制面板——〉任务计划——〉添加任务计划——〉按照向导(浏览)选定autobackup.bat——〉可根据实际情况设定执行时间。
(五)完全的autobackup.bat文件如下:
cd f:\ctais_autobackup
isql -Usa –S***** –P******* -iautoback.sql -obackup.log
rar a -ag -df -ibck -ilog f:\testbackup\dmp.rar f:\testbackup\*.dmp
ftp -n -i -s:f:\testbackup\autoftp.txt (远程ftp服务器ip地址)
move /Y f:\testbackup\*.rar f:\ctais_backup\
(六)实现定期对备份文件进行清理的方案
由于是每天执行,所以存储备份文件的可用空间会越来越少,从而需要根据实际情况定期对备份文件进行清理,以便腾出可用的磁盘空间。自动清理备份文件的功能同样可以通过windows的任务计划来实现。具体实施步骤如下:
1.根据以上所述的自动备份方案,备份数据最终会存储到f:\ctais_backup目录下,为了对这个目录下的数据按周进行自动清理,我们再建立一个名为f:\ctais_refresh_backup的目录,定期将最新一周的数据转储到此目录下。
2.建立一个实现此功能的批处理文件autorefresh.bat,具体内容如下:
cd f:\ctais_refresh_backup
del /Q *.rar
cd f:\ctais_backup
move /Y f:\ctais_backup\*.rar f:\ctais_refresh _backup\
3. autorefresh.bat批处理文件,添加到windows中的任务计划里,具体的设置方法同上。
四、CTAIS系统异构平台数据恢复方法
主要采用数据迁移方法(BCP)实现异构平台数据备份、数据恢复等工作。异构平台的数据备份恢复方法,也可以通过任务计划,添加数据库自动备份、恢复的执行计划,每天晚上定时执行,实现数据的自动备份、恢复。通过异地数据传输也可以实现异地备份恢复。
(一)备份CTAIS数据库的建库脚本,以及CTAIS数据库中table、view、trigger、procedure等SQL运行脚本,以及CTAIS数据库后台安装程序的脚本。
(二)生成BCP的批处理脚本
--生成导出数据的批处理,执行完,将执行结果保存成ctaisbcpout.bat文件,注意修改用户、口令和服务器名称
select "/sybase/OCS-12_0/bin/bcp ctais.."+name+
" out "+name+".dat -Usa -Pyantai -c -Sctais -e"+
name+".err -t '||' -r '^^^' -T1000000 -E -b1000 >>bcpout.sql"
from sysobjects
where type = "U"
order by name
go
--生成导入数据的批处理,执行完,将执行结果保存成ctaisbcpin.bat文件,注意修改用户、口令和服务器名称
select "bcp ctais.."+name+" in data\"+name+".bcp -U[user] -P[password] -S[dest_server] -c >>result.txt"
from sysobjects
where type="U"
order by name
go
--对于含Identity字段的用户表导入脚本:
select "/sybase/OCS-12_0/bin/bcp ctais.."+name+" in "+name+".dat -Usa -Pyantai -c -Sctais -e"+name
+".err -t '||' -r '^^^' -T1000000 -E -b1000 >>"+name+".sql"
from sysobjects
where type = "U"
and exists (select 1
from syscolumns
where syscolumns.status = 128
and sysobjects.id = syscolumns.id
)order by name
--不含Identity字段的用户表导入脚本
select "/syb12/OCS-12_0/bin/bcp ctais.."+name+" in "+name+".dat -Usa -Pyantai -c -Sctais -e"+name
+".err -t '||' -r '^^^' -T1000000 -b1000 >> "+name+".sql"
from sysobjects
where type = "U"
and not exists (select 1
from syscolumns
where syscolumns.status = 128
and sysobjects.id = syscolumns.id
)order by name
(三)将生成BCP的导出数据批处理文件,通过WINDOWS98或2000系统中自带附件中系统工具中的任务计划,添加数据库自动导出数据的执行计划,每天晚上定时执行。实现数据的自动备份。
(四)在异构平台(非HP-UX或IBM UX操作系统)的服务器上,安装SYABSE12.0,并建立相应的CTAIS数据库,并建立相应的数据表、视图、触发器、存储过程等内容。
(五)将目标CTAIS数据库中的表的内容全部清空。(由于有参照,脚本多执行几次)
select "truncate table "+name+char(10)+"go"
from sysobjects
where type="U"
r by name
其中,表DM_JGJC、DM_SB_ZZSFBXM、DM_SWJG、DM_XZQH和DM_YWHJ由于有自参照,所以只能用delete来删除。
(六)在命令行状态下执行导入的ctais_bcpin.bat批处理,将数据导入到目标数据库。
(七)通过CTAIS前台程序,恢复用户组和用户。
五、日常维护命令
(一)系统检测
1、附加设备检测 执行ioscan –fn命令,显示所有设备应未CLAIMED状态。
2、网卡测试: 执行lanscan 命令,显示所有网卡网络畅通情况。执行ifconfig命令,显示网卡状态应为UP。
3、文件系统检查:执行dbf命令,根据显示的内容,及时发现文件的使用情况。在实际工作中,由于复制等原因,出现有的文件系统使用超过80%,这时,要及时对异常文件进行处理。
4、内存检查:执行dmesg命令,查看内存数量和相关信息。
5、cluster状态检查:执行cmviewcl查看包和各个节点的状态,若带-v 参数可得到详细信息。
6、硬盘检查:执行diskinfo 命令检查硬盘相关信息。
7、参数配置检查:一般情况下,系统参数不需要修改。在实际工作中,如运行纳税评估初始化时,造成系统异常,复制中断。执行rs_configure 命令查看“cache_size”和 memory_linit”的大小,修改参数,可能解决问题。
8、检查VG信息:执行vgdisplay –v 显示相关信息,发现异常情况,及时处理,
(二)数据库日常维护
1、sp_helpdb ctais 命令,检查CTAIS数据库的基本情况。
2、dbcc checkdb,dbcc checkcatalog,dbcc checkalloc命令,检查数据库和表的数据一致性,发现问题,及时处理。在执行命令出现的信息中,提示一个ID有异常情况,可以使用select object_name(ID号),查出表名。
3、统计值更新
选择SB_SBXX等几个常用的表,执行以下两条语句:
select count(*) from tablename
sp_spaceused tablename
看两条命令统计的表的行数是否一致,如果不一致,则需进行统计值更新。生成更新统计值脚本,并运行脚本。
select 'print "'+name+'" '+char(10)+'update statistics '+name from sysobjects where type='U' and name not like 'pb%' order by name
将生成的一系列语句在用SQL ADVANTAGE在CTAIS数据库中执行。
4、数据库重建索引、触发器和存储过程刷新
定期进行数据库重建索引、触发器和存储过程刷新,利用刷新脚本ctais_vpt.bat进行刷新,特注意在CTAIS升级后,必须进行数据库索引重建、触发器和存储过程刷新。
5、存储过程重新编译脚本:
select "sp_recompile "+name+char(10)+"go" from sysobjects
where type ="U"
order by name
(三)数据复制维护
1、利用Sybase RSM复制服务器管理器及时监控复制服务器运行情况。
2、查看复制是否正常进行的命令:admin who_is_down、admin who、admin health。
3、查看稳定队列命令: admin disk_space看stable queue的使用情况。
4、复制中断的处理:如果复制的DSI status出现down,首先使用resume connection to servername.databasename (exec transaction)执行事务重启,如果状态不能变成UP,可以使用resume connection to servername.databasename (skip transaction)跳过事务重启,可以使用多次跳过事务重启,这时,业务机和查询机的数据出现不一致,使用rs_helpexception命令,查出最大的ID号,执行rs_helpexception,ID号,v 找出原因,修改查询机上的数据,确保业务机和查询机的数据一致性。