软件系统运维手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统运维手册
1、目的 (3)
2、适用范围 (3)
3、服务器及数据库概述 (3)
3.1 服务器概述 (3)
3.2 数据库概述 (3)
4、系统服务程序的详细说明 (3)
4.1系统服务程序的构成 (3)
4.2 系统服务程序的启动、关闭及维护管理 (4)
4.2.1 dhcp主服务 (4)
4.2.2 dhcp从服务 (5)
4.2.3 web管理模块 (5)
5、服务器硬件维护(略) (6)
6、windows 2003系统的日常维护 (6)
6.1 定期检查磁盘空间 (6)
6.2 维护系统注册表 (7)
6.3 定期备份系统注册表 (7)
6.4清理system路径下的无用的dll文件 (7)
7、备份策略 (8)
7.1 备份方式 (8)
7.2 备份计划 (8)
7.3 常见故障恢复 (8)
9、数据库的日常维护 (11)
9.1 检查数据库的基本状况 (11)
9.2 检查数据库日志文件 (11)
9.4监控数据库表空间的使用情况(字典管理表空间) (11)
9.4.1 判断是否需要碎片整理 (11)
10、命令解释 (12)
1、目的
楚天行消费卡管理系统运营支撑系统使用的服务器中,服务器均采用windows xp操作系统,数据库版本为:sql server 2000,随着业务的开展,sql server 数据库中存储的数据量也不断增大,这样操作系统和数据库的日常维护就显得十分重要。
本手册详细描述了程序模块,windows xp操作系统,负载平衡及sql server 数据库等日常检查的主要步骤,指导现场工程师对其进行监控和维护。
2、适用范围
使用者为网e通宽带网络运营支撑系统维护工程师
3、服务器及数据库概述
3.1 服务器概述
3.2 数据库概述
数据库软件分别安装在主服务器上。
4、系统服务程序的详细说明
4.1系统服务程序的构成
4.2 系统服务程序的启动、关闭及维护管理
4.2.1 dhcp主服务
4.2.1.1 dhcp主服务说明
4.2.1.2 dhcp启动、关闭及进程查看方法
1、启动方法:
输入:cd /opt/dpcp
./dhcpd即可
注意:请首先确认数据库服务正常,数据库监听正常。
输出:
[root@localhost dhcp]$ ./dhcpd
Internet Systems Consortium DHCP Server V3.0.4
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit /sw/dhcp/
Wrote 1 leases to leases file.
Listening on LPF/eth0/00:0c:29:fb:d4:32/192.168.50/24
Sending on LPF/eth0/00:0c:29:fb:d4:32/192.168.50/24
Sending on Socket/fallback/fallback-net
说明:dhcp启动时,会启动1个进程,正常情况下,dhcp启动的进程数为1个。
2、关闭方法
输入:kill pid
说明:pid为进程号,可使用进程查看获得。
如|-dhcpd(4665),则进程id为4665,则kill 4665就可关闭dhcp。
3、进程查看
输入:[root@localhost dhcp]# pstree -p | grep dhcp
输出:
|-dhcpd(4665)
4.2.1.3 配置说明
4.2.2 dhcp从服务
4.2.2.1 dhcp从服务说明
4.2.2.2 dhcp启动、关闭及进程查看方法4.2.2.3 配置说明
4.2.3 web管理模块
4.2.3.1 web管理模块中主要目录说明
/opt/apache-2.0.52为apache模块所在目录
/opt/taiyuan 为web 程序存储目录
4.2.
5.2 web管理模块中各程序说明
4.2.
5.3 web站点启动、关闭及进程查看方法
4.2.
5.4 web日志说明
Log存放目录为:/opt/apache/logs
/opt/apache/logs/access_log为所有访问网站的日志
/opt/apache/logs/error_log为错误信息日志
/opt/apache/logs/httpd.pid为主进程的pid号
/opt/apache/logs/ssl_engine_log 为ssl引擎日志,即ssl的运行日志,可以通过查看此日志了解运行状态及错误。
/opt/apache/logs/ssl_request_log 为ssl请求日志
即是哪个ip使用https ssi协议登录web站点,请求的时间,内容,访问的页面等。
4.2.
5.5 日常维护
维护分为:业务维护及系统维护
业务维护就是,利用系统管理员的身份,查看操作日志
系统维护是:定期查看系统日志,apache日志等,看是否有运行错误,并定期备份日志。
5、服务器硬件维护(略)
6、windows 2003系统的日常维护
6.1 定期检查磁盘空间
这是最简单、最直接的方法。
一般来说,你可以使用windows系统自身提供的"磁盘碎片整理"和"磁盘扫描程序"来对磁盘文件进行优化。
这两个工具都非常简单。
如果你是一位对windows系统有一定了解的用户,建议你使用norton utilities 3.05提供的norton disk doctor和norton speed disk,这都是由symantec于1998年最新推出的磁盘维护工具,其显著特点是运行速度快,功能强大。
而值得称道的是,norton speed disk的磁盘碎片整理速度比windows内建的同类工具要快出十几倍,而且程序提供了非常多的优化控制,是一个非常值得使用的工具。
这两个工具的使用方法都非常简单,你只需要选择好需要进行磁盘扫描或优化的驱动器,并执行相应程序界面中的命令即可开始操作。
此外,除了进行磁盘文件排列的优化和错误扫描。
我们还可以使用windows自身提供的"磁盘清理工具"或norton utilities提供的space wizard对磁盘中的各种无用文件扫描。
它们都可以非常安全地删除系统各路径下存放的临时文件、无用文件、备份文件等等,完全释放磁盘空间。
6.2 维护系统注册表
我们知道,windows的注册表是控制系统启动、运行的最底层设置,其文件为windows 安装路径下的system.dat和user.dat。
这两个文件并不是以明码方式显示系统设置的,普通用户根本无从修改。
而我们知道,如果你经常地安装/卸载应用程序,这些应用程序在系统注册表中添加的设置通常并不能够彻底删除,时间长了会导致注册表变得非常大,系统的运行速度就会受到影响。
目前市面上流行的专门针对windows注册表的自动除错、压缩、优化工具也非常多,可以说norton utilities提供的windows doctor是最好的,它不但提供了强大的系统注册表错误设置的自动检测功能,而且提供了自动修复功能。
使用该工具,即使你对系统注册表一无所知,也可以非常方便进行操作,因为你只需使用鼠标单击程序界面中的"next"按钮,就可完成系统错误修复。
6.3 定期备份系统注册表
对系统注册表进行备份是保证windows系统可以稳定运行、维护系统、恢复系统的最简单、最有效的方法。
我们知道,系统的注册表信息保存在 windows文件夹下的,其文件名是system.dat和user.dat。
这两文件具有隐含和系统属性,现在你需要做的就是对这两个文件进行备份,你可以使用regedit的导出功能直接将这两个文件复制到备份文件路径下,当系统出错时再将备份文件导人到windows路径下,覆盖源文件即可恢复系统。
此外,如果你使用的是windows98,可以使用它提供的scanreg.exe进行系统备份与恢复,这样更简单一些。
你在dos提示符下直接键入 scanreg/backup即可对当前的系统注册表快速备份。
当需要恢复注册表时,可在dos提示符下键人scanreg/restore即可。
对于这个工具,应该在dos环境下使用。
6.4清理system路径下的无用的dll文件
这项维护工作大家可能并不熟悉,但它也是影响系统能否快速运行的一个至关重要的因素。
我们知道,应用程序安装到windows中后,通常会在windows的安装路径下的system 文件夹中复制一些dll文件。
而当你将相应的应用程序的删除后,其中的某些dll文件通常会保留下来;当该路径下的dll文件不断增加时,将在很大程度上影响系统整体的运行速度。
而对于普通用户来讲,进行dll文件的手工删除是非常困难的。
针对这种情况,建议使用clean system自动dll文件扫描、删除工具,这个工具的下载网址是www..au/kevsol/sware.html,你只要在程序界面中选择可供扫描的驱动器,然后单击界面中的"start scanning"按钮就可以了,程序会自动分析相应磁盘中的文件与system路径下的dll文件的关联,然后给出与所有文件都没有关联的dll文件列表,此时你可单击界面中的ok按钮进行删除和自动备份。
曾使用它安全删除了7m之多的dll文件,没有引起系统中的应用程序错,效果非常好。
7、备份策略
7.1 备份方式
为了保证数据库的高安全性,目前我们采用的数据库备份方式为物理备份和逻辑备份相结合的方式,数据库归档模式为自动归档模式。
这样当数据库出现故障时,我们就可以利用备份文件与归档方法相结合,作数据库“最新状态”的恢复。
7.2 备份计划
通过SQL server 2000 的企业管理器,数据库维护计划来自动备份数据库,或者采用自动备份脚本实现每天进行一次热备份及逻辑备份,每周进行一次冷备份。
所备份的数据文件存储于磁阵上的硬盘。
7.3 常见故障恢复
我们首先sql server 事务日志可以通过这个文件,排除故障
故障一:服务器意外关闭造成的损失。
数据库服务器如果因为突然断电或者其他一些原因意外当机时,再重新启动服务器后会出现一些数据的损失。
这主要是因为数据库中的数据发生更改后,并不会在第一时间就把数据写入到硬盘中。
为了提高数据库的运行效率,往往是先把数据写入到数据高速缓存中;同时把更改的情况写入到事务日志中。
等到一定的情况数据库系统才会把数据写入到硬盘文件中。
此时,如果数据库服务器系统突然发生故障,数据库系统就有可能还没有把缓存中的修改后的数据写入到硬盘中,即数据文件内有未完成事务所做的修改。
如果确实有这种情况,则当启动SQL Server
实例时,如果没有事务日志或者事务日志损坏时,修改后的数据就无法恢复过来了。
但是,如果当事务日志可用的话,则当实例启动时,系统会丢每个数据库执行恢复操作。
前滚日至中记录的、可能尚未写入数据文件的每个修改。
在事务日志中找到的每个未完成的事务都将回滚,以确保数据库数据的完整性。
所以当数据库服务器意外故障时,数据库管理员最好能够确认一下事务日志是否可用。
如果事务日志已经损坏,那么就需要先恢复事务日志然后再重新启动数据库实例。
否则的话,数据库实例在重新启动时不能够正常恢复数据。
这一点在遇到服务器突发行的故障时一定要注意。
否则的话,很可能破坏数据库数据的完整性。
故障二:解决服务器意外关闭造成的损失。
有时候出于数据库高可用性的目的,需要在生产服务器之外的地方再部署一台数据库服务器。
当生产服务器出现故障不可用时,则可以马上启用这个备用的服务器。
故就需要保证生产服务器与备用服务器之间数据的同步。
那么SQL Server数据库是通过什么技术来达到这个生产服务器与备份服务器之间的数据同步的呢?简单的说,就是通过这个事务日志的复制来实现数据同步的。
具体的来说,SQL Server 数据库提供了两种解决方案,分别为数据镜像与日志传送。
这两个方案都是在事务日志复制的基础上来实现的。
在日志传送方案中,生产服务器将生产数据库的活动事务日志发送到一个或多个目标服务器。
每个辅助服务器将该日志还原为其本地的辅助数据库,从而实现备用服务器与生产服务器之间数据的一致性。
使用日志传送,您可以自动将“主服务器”实例上“主数据库”内的事务日志备份发送到单独“辅助服务器”实例上的一个或多个“辅助数据库”。
事务日志备份分别应用于每个辅助数据库。
可选的第三个服务器实例(称为“监视服务器”)记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时引发警报。
日志传送配置中的主服务器是作为生产服务器的SQL Server 数据库引擎实例。
主数据库是主服务器上希望备份到其他服务器的数据库。
通过数据库进行的所有日志传送配置管理都是在主数据库中执行的。
另外需要注意的是,如果采用日志传送方案对于生产服务器的工作模式有限制。
生产数据库必须使用完整恢复模式或大容量日志恢复模式。
如果将数据库切换为简单恢复模式会导致日志传送停止工作。
一台备用服务器可以包含多台不同生产服务器中数据库的备份副本。
例如,某个集团公司可能有三台数据库服务器,每台服务器都运行关键数据库系统。
在这种情况下,可以只使用一台辅助服务器,而不必使用三台单独的辅助服务器。
三个主系统上的备份都可以加载到这个备份系统中,从而减少所需的资源数量并节省开支,也可以数据库管理员的工作量。
另外也可以通过数据库镜像方案中来解决生产服务器与备用服务器之间的数据同步问题。
生产数据库的每次更新都在独立的、完整的备份数据库中立即重新生成。
主体服务器实例立即将每个日志记录发送到镜像服务器实例,镜像服务器实例将传入的日志记录应用于镜像数据库,从而将其继续前滚。
“数据库镜像”是用于提高数据库可用性的首选软件解决方案。
镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库。
简单恢复模式和大容量日志恢复模式不支持数据库镜像。
因此,所有大容量操作始终被完整地记入日志。
数据库镜像可使用任意支持的数据库兼容级别。
在“数据库镜像模式”中,主体服务器和镜像服务器作为伙伴进行通信和协作。
两个伙伴在会话中扮演互补的角色:主体角色(生产服务器)和镜像角色(备份服务器)。
在任何给定的时间,都是一个伙伴扮演生产服务器角色,另一个伙伴扮演备用服务器角色。
如果生产服务器角色出现故障时,则备份服务器角色马上会顶替出现故障的生产服务器角色,转变为生产服务器角色。
从而实现数据库的高可用性。
数据库镜像方案有两种镜像运行模式。
一种是“高安全性模式”,它支持同步操作。
在高安全性模式下,当会话开始时,镜像服务器将使镜像数据库尽快与主体数据库同步,一旦同步了数据库,事务将在伙伴双方处提交,这会延长事务滞后时间。
第二种运行模式,即高性能模式,它与第一种模式的主要差异就在于异步运行。
镜像服务器尝试与主体服务器发送的日志记录保持同步。
镜像数据库可能稍微滞后于主体数据库。
但是,数据库之间的时间间隔通常很小。
但是,如果主体服务器的工作负荷过高或镜像服务器系统的负荷过高,则时间间隔会增大。
在高性能模式中,主体服务器向镜像服务器发送日志记录之后,会立即再向客户端发送一条确认消息。
它不会等待镜像服务器的确认。
这意味着事务不需要等待镜像服务器将日志写入磁盘便可提交。
此异步操作允许主体服务器在事务滞后时间最小的条件下运行,但可能会丢失某些数据。
具体采用哪种模式,则需要数据库管理员根据企业对待数据损失的态度与工作负荷等来确定。
可见现在可用的备份服务器与生产服务器之间的数据同步解决方案都是基于事务日志来实现的。
故障三:解决数据一致性问题。
假设现在有这么一种情况。
在一个银行系统中,某个用户需要转帐。
这个转帐作业主要是通过两个步骤来完成。
第一个步骤就是扣减用户帐户中的金额; 第二个步骤是把钱转入到另外一个用户那里。
现在如果在转帐的过程中,第一步成功了,但是第二个步骤因为某种原因出错了。
如用户提供的帐户名字与实际转帐的帐户名字不符,则第二个操作就会失败。
此时整个转帐操作就会以失败而告终。
但是现在的问题是,第一个扣减的动作在数据库zhon给已经完成了。
而实际却是没有转帐成功,就救造成了数据一致性的问题。
实际过程中如果应用程序发出ROLLBACK 语句,或者数据库引擎检测到错误,就使用日志记录回滚未完成的事务所做的修改。
也就是说,当第二个操作失败的话,应用程序要发出一个ROLLBACK 语句,利用事务日志回滚功能,恢复第一步的操作。
也就是说,把扣减金额的操作进行恢复,从而实现数据的一致性。
类似的应用,在数据库开发过程中很频繁。
故障四:数据库时点恢复的问题。
如现在遇到这么一种故障。
数据库系统在上午11点突然发现故障,启动不起来了。
而数据库系统是在昨天晚上12点刚做完一个完全备份。
在这种情况下,如果只是从完全备份中恢复数据的话,只能够恢复到昨天晚上12点的数据。
那从昨天晚上12点到今天上午11点的数据就不能够恢复了吗?
其实不然。
因为用户在对数据库做的任何一个修改都会保存在事务日志当中。
为此只要事务日志不损坏的情况下,数据库管理员可以把数据恢复到上午11点那个时刻的数据。
具体的操作方法很简单,就好先利用完全备份文件恢复数据库系统,此时数据库中的数据位昨天晚上12点的数据。
然后再利用日
志恢复功能把数据恢复到今天上午11点的数据。
可见事务日志可以帮助管理员把数据恢复到某一个具体的时点
9、数据库的日常维护
9.1 检查数据库的基本状况
主要介绍如何对数据库的基本情况进行检查,内容共分三部分,分别为:sql server 进程;检查日志和数据库文件
9.2 检查数据库日志文件
Sql server 可以将某些系统时间和用户自定义的时间记录到sql server 错误日志和windows 应用程序日志中.这两中日志都会标志上时间
Windows 中事件查看器.可以查看事件的记录
SQL server 的错误日志存在系统的sql server 目录下的LOG 目录下文件名称为ERRORLOG.X 其中X是数字.用记事本可以打开来看
9.4监控数据库表空间的使用情况(字典管理表空间)
数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,维护工程师应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。
9.4.1 判断是否需要碎片整理
在整理索引碎片之前去进行收缩数据库,
设置自动收缩
Exec spdboption ‘dbname’
Trunk. Log on chkpt.
Tor page detecation
Auto shrink
Auto create statistics
Auto update satatistice
USE [DabaBaseName]
GO
DECLARE @TABLENAME VARCHAR(50)
DECLARE RECINDEX_CURSOR CURSOR FOR SELECT NAME FROM SY SOBJECTS WHERE XTYPE= 'U ' --取出所有用户表
OPEN RECINDEX_CURSOR
FETCH NEXT FROM RECINDEX_CURSOR INTO @TABLENAME
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX (@TABLENAME, ' ',70) --(表名或表ID, ' ',95)
FETCH NEXT FROM RECINDEX_CURSOR INTO @TABLENAME END
CLOSE RECINDEX_CURSOR
DEALLOCATE RECINDEX_CURSOR
10、命令解释
•ps:操作系统用来检查系统进程的命令。
•pstree:操作系统用来检查系统进程的命令。
•tail:操作系统中用来查看文件内容的特殊方法,加参数-f使tail不停地去读最新的内容
•cd:操作系统中用来切换目录。
•top:操作系统用来显示,管理执行中的程序。
•su:操作系统中用来变更用户身份。
•du:操作系统用来显示目录或文件的大小。
•mail:操作系统E-mail的管理程序
•df:操作系统用来显示磁盘空间。
•cat:操作系统用来浏览一个文件的命令。
•more:操作系统用来浏览一个文件的命令,类似与cat。
•ls:操作系统用来显示文件和目录的命令。
•grep:操作系统用来在文件中进行字符串查找的命令。
•sqlplus:Oracle提供的一个工具,用来执行标准SQL语句,以对数据库进行操作。
•lsnrctl:Oracle提供的一个工具,可以用来启动、停止Oracle监听进程以及检查Oracle 监听进程的状态。