
为了能在系统出错后重建数据库,对系统上所有文件周期性地做备份是十分重要的。数据可能受到各种外来因素的影响而破坏其完整性甚至崩溃,这时利用数据库的备份来进行恢复就显得尤为重要。一般采用硬件防护、定期热备份、异地备份3种方式来确保数据备份的安全性。
(1)硬件防护
数据库是一个系统的核心,为了保证系统运行的高效性和可靠性,从硬件的角度必须选择性能优越、稳定可靠的服务器,如采用HP ML530G2服务器,对服务器的硬盘通过RAID5技术,把3块硬盘做成一块逻辑硬盘,以提高当硬盘硬件出现故障时数据的安全性。
(2)定期热备份
系统可基于SQL Server 2000中的备份和还原组件实现整个数据库周期性地备份与还原,可以将数据库转换成MDF格式的数据,而且该格式可以方便快捷地倒回到原来的系统中。真正做到系统能在数据损坏、丢失等情况下将备份倒回,实现数据恢复。
另外,做好异地备份。
(二)系统完善
当软件开发完成并进入运行维护阶段,在该阶段软件完善主要考虑以下几个方面。
(1)改正性维护
其目的是为了纠正运行阶段发现的软件性能上的缺陷、排除应用中的误用以及软件 *** 作习惯。把“BUG”减少到最少的程度,保证系统长期正常运转。
(2)适应性维护
随着计算机技术的发展,当软件的外部环境或者数据环境发生变化时,用户往往会对软件提出新的功能和性能需求,为了满足这些需求,需要修改或再开发软件。
(3)预防性维护
预防性维护的目的是为了提高软件的可维护性和可靠性等,在发生意外的软、硬件故障等情况下,能够很好地处理并给出错误报告,并且能够得到及时恢复,减少不必要的损失。
(三)数据更新
浙江省农业地质环境数据库的数据更新是一个难题。农业地质环境调查是一项长期公益性工作,需要对农业地质环境进行定期监测和分析,土壤、地下水、农产品监测数据及相关地图数据均要求导入到AGEIS系统数据库中,因此作为浙江省农业地质环境数据管理平台,需要提供能实现数据更新的接口。数据更新主要包括图形数据、属性数据、调查数据的更新3部分。浙江省农业地质环境信息系统是以数据管理和应用为目的,图层数据的更新功能相对薄弱,如果要复杂的编辑还需第三方软件进行辅助解决。本次仅强调属性数据和调查数据的更新。
属性数据的更新有2种情况,数据库字段的变更和数据库属性内容的变更。对于数据库字段的变更,可以直接更改数据库结构,在保证关键字段不变的前提下,任何的改变都不影响系统的正常运行。数据库内容的变化,相对而言比较简单,直接修改字段内容。
调查数据(包括定期监测数据)的更新包括添加、修改及删除等。根据项目的特点,调查数据一般以点的形式存在,系统提供了2种方式实现调查数据的更新,一是将调查数据表转换成空间数据图层,但数据调查表的格式应按《浙江省农业地质环境数据库图层及属性文件格式要求》中相关要求进行编制,系统可以直接读取Access格式的数据;另一种就是借用第三方软件,将数据表转换成以度为单位的ShapeFiles文件格式(也可为Arc/Info或DXF格式),通过系统维护子系统的数据导入功能即可。
1、 打开命令行窗口
#db2cmd
2、 打开控制中心
# db2cmd db2cc
3、 打开命令编辑器
db2cmd db2ce
===== *** 作数据库命令=====
4、 启动数据库实例
#db2start
5、 停止数据库实例
#db2stop
如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force
6、 创建数据库
#db2 create db [dbname]
7、 连接到数据库
#db2 connect to [dbname] user [username] using [password]
8、 断开数据库连接
#db2 connect reset
9、 列出所有数据库
#db2 list db directory
10、 列出所有激活的数据库
#db2 list active databases
11、 列出所有数据库配置
#db2 get db cfg
12、 删除数据库
#db2 drop database [dbname]
(执行此 *** 作要小心)
如果不能删除,断开所有数据库连接或者重启db2
========= *** 作数据表命令==========
13、 列出所有用户表
#db2 list tables
14、列出所有系统表
#db2 list tables for system
15、列出所有表
#db2 list tables for all
16、 列出系统表
#db2 list tables for system
17、列出用户表
#db2 list tables for user
18、 列出特定用户表
#db2 list tables for schema [user]
19、 创建一个与数据库中某个表(t2)结构相同的新表(t1)
#db2 create table t1 like t2
20、 将一个表t1的数据导入到另一个表t2
#db2 "insert into t1 select from t2"
21、 查询表
#db2 "select from table name where "
22、 显示表结构
#db2 describe table tablename
23、 修改列
#db2 alter table [tablename] alter column [columname] set data type varchar(24)
======脚本文件 *** 作命令=======
24、 执行脚本文件
#db2 -tvf scriptssql
25、帮助命令
查看命令帮助
#db2 db2start
查看错误码信息
#db2 22001
memo: 详细命令请使用"db2 <command>"进行查看。
=========================
26、备份数据库
#db2 backup db <db name>
备注:执行以上命令之前需要断开数据库连接
27、在线备份数据库
#db2 -v "BACKUP DATABASE <database name> ONLINE TO <path> WITH 2 BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"
28、恢复数据库
#db2 restore db <source db name>
29、在线恢复数据库
#db2 "RESTORE DB <database name> TO <db path> LOGTARGET <logpath> WITHOUT PROMPTING"
#db2 "ROLLFORWARD DB <database name> TO END OF LOGS AND STOP"
30、导出数据文件
#db2move <db name> export
[-sn <模式名称,一般为db2admin>]
[-tn <表名,多个之间用逗号分隔>]
31、导入数据文件
#db2move <db name> import
32、获取db2数据库管理配置环境信息
#db2 get dbm cfg
33、获取db2某个数据库数据库管理配置环境信息
#db2 get db cfg for <db name>
或者:连接至某个数据库以后执行db2 get db cfg
34、更改db2日志空间的大小
备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
#db2 UPDATE DB CFG FOR <db name> USING logretain OFF logprimary 3 logsecond 2 logfilsiz 25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。256004KB=102400KB。
35、创建临时表空间
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACEF1' 10000)
EXTENTSIZE 256
36、获取数据库管理器的快照数据
#db2 –v get snapshot for dbm
37、显示进行程号
#db2 list applications show detail
===================================================
一、加载数据:
1、 以默认分隔符加载,默认为“,”号
db2 "import from btpopertxt of del insert into btpoper"
2、 以指定分隔符“|”加载
db2 "import from btpopertxt of del modified by coldel| insert into btpoper"
二、卸载数据:
1、 卸载一个表中全部数据
db2 "export to btpopertxt of del select from btpoper"
db2 "export to btpopertxt of del modified by coldel| select from btpoper"
2、 带条件卸载一个表中数据
db2 "export to btpopertxt of del select from btpoper where brhid='907020000'"
db2 "export to cmmcodetxt of del select from cmmcode where codtp='01'"
db2 "export to cmmcodetxt of del modified by coldel| select from cmmcode where codtp='01'"
三、查询数据结构及数据:
db2 "select from btpoper"
db2 "select from btpoper where brhid='907020000' and oprid='0001'"
db2 "select oprid,oprnm,brhid,passwd from btpoper"
四、删除表中数据:
db2 "delete from btpoper"
db2 "delete from btpoper where brhid='907020000' or brhid='907010000'"
五、修改表中数据:
db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'"
六、联接数据库
db2 connect to btpdbs
七、清除数据库联接
db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force applications all 断开所有数据库连接
八、备份数据库
1、 db2 backup db btpdbs
2、 db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttblsql
九、恢复数据库
1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdbsql
crtdbsql文件内容:create db btpdbs on /db2catalog
db2 -stvf crttblsql
db2move btpdbs import
十、DB2帮助命令:
db2
db2 restroe
db2 sqlcode (例:db2 sql0803) 注:code必须为4位数,不够4位,前面补0
十一、bind命令:将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind
(1) db2 bind br8200bnd
(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd
十二、查看数据库参数:
db2 get dbm cfg
db2 get db cfg for btpdbs
十三、修改数据库参数:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2 update db cfg for btpdbs using LOGFILSIZ 5120
改完后,应执行以下命令使其生效:
db2 stop
db2 start
补充:
db2 set schema btp 修改当前模式为"btp"
db2 list tablespaces show detail 查看当前数据库表空间分配状况
db2 list tablespace containers for 2 show detail 查看tablespace id=2使用容器所在目录
db2 list application
db2 list db directory 列出所有数据库
db2 list active databases 列出所有活动的数据库
db2 list tables for all 列出当前数据库下所有的表
db2 list tables for schema btp 列出当前数据库中schema为btp的表
db2 list tablespaces show detail 显示数据库空间使用情况
db2 list packages for all
db2 "import from tab76ixf of ixf commitcount 5000 insert into achact"
db2 "create table achact_t like achact"
db2 "rename table achact_t to achact"
db2 "insert into achact_t select from achact where txndt>=(select lstpgdt from
acmact where actno=achactactno)"
db2 get snapshot for dynaimic sql on jining
删除一个实例:
# cd /usr/lpp/db2_07_01/instance
# /db2idrop InstName
列出所有DB2实例:
# cd /usr/lpp/db2_07_01/bin
# /db2ilist
为数据库建立编目
$ db2 catalog db btpdbs on /db2catalog
取消已编目的数据库btpdbs
$ db2 uncatalog db btpdbs
查看版本
# db2level
显示当前数据库管理实例
$ db2 get instance
设置实例系统启动时是否自动启动。
$ db2iauto -on 自动启动
$ db2iauto -off 不自动启动
数据库优化命令:
reorg、runstats
当数据库经过一段时间使用,数据空间会变得越来越庞大。一些delete掉
的数据仍存放在数据库中,占用数据空间,影响系统性能。因此需要定期
运行reorg、runstats命令,清除已delete的数据,优化数据结构。
db2 reorg table 表名
db2 runstats on table 表名 with distribution and indexes all
因为要优化的表比较多,所以在/btp/bin目录下提供了一个sh程序runsall,
可在当天业务结束后,运行runsall,对数据库进行优化
在DB2的开发过程中,贯穿整个开发过程还有很重要的一部分工作就是数据库的维护;对于维护一个庞大信息系统来说是非常必要的;留一份简易的维护手册,以备不时之需;以下收集到的部分维护命令,以飨我们的维护工程师和项目经理。
=================================================================
38、更改db2日志空间的大小
备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
# db2 UPDATE DB CFG FOR <db name> USING logretain OFF logprimary 3 logsecond 2 logfilsiz 25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。256004KB=102400KB。
39、创建临时表空间
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY DATABASE USING (FILE 'D:\DB2_TAB\STMASPACEF1' 10000) EXTENTSIZE 256
40、创建表空间
rem 创建缓冲池空间 8K
#db2 connect to gather
#db2 CREATE BUFFERPOOL STMABMP IMMEDIATE SIZE 25000 PAGESIZE 8K
rem 创建表空间:STMA
rem 必须确认路径正确
rem D:\DB2Container\Stma
#db2 drop tablespace stma
#db2 CREATE REGULAR TABLESPACE STMA PAGESIZE 8 K MANAGED BY SYSTEM USING ('D:\DB2Container\Stma' ) EXTENTSIZE 8 OVERHEAD 105 PREFETCHSIZE 8 TRANSFERRATE 014 BUFFERPOOL STMABMP DROPPED TABLE RECOVERY OFF
#db2 connect reset
41、将暂挂的数据恢复到前滚状态
#db2 ROLLFORWARD DATABASE TESTDB TO END OF LOGS AND COMPLETE NORETRIEVE
42、备份表空间
#BACKUP DATABASE YNDC TABLESPACE ( USERSPACE1 ) TO "D:\temp" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING
43、创建db2工具数据库
#db2 create tools catalog systools create new database toolsdb
44、如何进行增量/差量备份
增量:上一次完整备份至本次备份之间增加的数据部分;
差量(delta):上次备份以来(可能是完整备份、增量备份或者差量备份)至本次备份之间增加的数据部分;
45、更新所有表的统计信息
#db2 -v connect to DB_NAME
#db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibmsysindexes"
#db2 -v reorgchkupdate statistics on table all
#db2 -v "select tbname, nleaf, nlevels, stats_timefrom sysibmsysindexes"
#db2 -v terminate
46、对一张表运行统计信息
#db2 -v runstatson table TAB_NAMEand indexes all
47、查看是否对数据库执行了RUNSTATS
#db2 -v "select tbname, nleaf, nlevels,stats_timefrom sysibmsysindexes"
48、更改缓冲池的大小
缓冲池中,当syscatbufferpools的npages是-1时,由数据库的配置参数bufferpage控制缓冲池的大小。
将npages的值更改为-1的命令:
#db2 -v connect to DB_NAME
#db2 -v select from syscatbufferpools
#db2 -v alter bufferpoolIBMDEFAULTBP size -1
#db2 -v connect reset
#db2 -v terminate
更改数据库配置参数BufferPages的命令如下:
#db2 -v update db cfgfor dbnameusing BUFFPAGE bigger_value
#db2 -v terminate
49、看数据库监视内容列表
#db2 -v get monitor switches
50、打开某个数据库监视内容
#db2 -v update monitor switches using bufferpoolon
51、获取数据库快照
#db2 -v get snapshot for all databases > snapout
#db2 -v get snapshot for dbm>> snapout
#db2 -v get snapshot for all bufferpools>> snapout
#db2 -v terminate
52、重置数据库快照
#db2 -v reset monitor all
53、计算缓冲池命中率
理想情况下缓冲池命中率在95%以上,计算公式如下:
(1 -((buffer pool data physical reads + buffer pool index physical reads)
/(buffer pool data logical reads + pool index logical reads))) 100%
=========数据库实例========================
54、创建db2实例
#db2icrt <实例名称>
55、删除db2实例
#db2idrop <实例名称>
56、设置当前db2实例
#set db2intance=db2
57、显示db2拥有的实例
#db2ilist
58、恢复离线增量备份数据库的命令
#DB2 RESTORE DATABASE YNDC INCREMENTAL AUTOMATIC FROM D:\backup\autobak\db2 TAKEN AT 20060314232015
59、创建样本数据库
在unix平台,使用:
#sqllib/bin/db2sampl <path>
在windows,os/2平台,使用:db2sampl e,e是可选参数,指定将创建数据库的驱动器
60、设置联合数据库为可用(默认联合数据库不可用)
#db2 update dbm cfg using federated yes
61、列出数据库中所有的表
#db2 list tables
62、数据迁移方法1
export脚本示例
#db2 connect to testdb user test password test
#db2 "export to aa1ixf of ixf select from table1"
#db2 "export to aa2ixf of ixf select from table2"
#db2 connect reset
import脚本示例
#db2 connect to testdb user test password test
#db2 "load from aa1ixf of ixf replace into table1 COPY NO without prompting "
#db2 "load from aa2ixf of ixf replace into table2 COPY NO without prompting "
#db2 connect reset
是一种 *** 纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称dbms
它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性
用户通过dbms访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作
它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库
它使用户能方便地定义和 *** 纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库
1、准备项目计划书。项目计划书是医院信息系统实施过程中第一个最重要的文件。它勾画了医院要建设的医院信息系统总轮廓。通常是委托一家咨询公司完成一份项目计划书的标书,该标书的内容为医院准备建设医院信息系统的动机和全面、具体、细致的需求。
然后将标书发给参加竞标的厂商,在收到各厂商的计划书后,进行认真的评价,决定最终执行方案。
2、选择软硬件的集成商、供应商和合作伙伴,通常委托有资质的咨询公司或特别的专家小组进行方案评估。
3、需求分析。首先通过对目标医院使用者的访问、调查,详细了解用户的流程与需求,最后形成文档:《项目结构》文档、《目标范围说明书》文档、《用户需求说明书》文档、初步的《用户界面说明书》文档、《测试战略》文档、《测试规范与通过标准》文档。
4、系统设计与软件客户化。设计阶段要做的工作:把用户的需求变成技术上可实现的步骤;完善用户界面演示程序,让用户完全接受系统的界面形式;制订《客户沟通计划》,收集和控制用户需求;完成《功能规格说明书》的签署并冻结。
初步完成《测试规格》文档;风险评估。要完成的文档:《用户界面说明书》、《概念设计》、《逻辑设计》、《物理设计》、《功能规格说明书》、《测试计划和时间表》、《测试规格》文档和大部分的《测试用例》文档、《项目时间表》。
5、数据准备与装入。数据准备是指将医院的基础数据按照系统的要求统一、规范、格式化的表达出来,并录人系统基础数据库。这些是系统赖以正常运作的基础。
6、系统测试。在系统测试阶段要做的工作:代码错误修改;进行ALPHA测试、BETA测试和RELEASE测试;继续保持与客户/用户的紧密联系,控制用户的期望值;编写联机帮助和用户使用手册;进行用户培训和项目验收;风险评估。
要完成的文档:《用户 *** 作手册》、《实施维护手册》、《测试报告》、《验收报告》、《联机帮助》。阶段到达标准后进行审核。
7、用户培训。供应商应该有事先安排好的计划,专门的教师与教材,要准备设备完善的培训教室和环境。对用户的培训可以为对医院计算机技术人员的培训和对最终用户的培训。
以上就是关于系统维护与更新全部的内容,包括:系统维护与更新、想从事银行方面的c语言开发,他上面还要了解db2数据库的常用 *** 作、数据库运维管理系统是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)