软件系统运维指导手册.docx
《软件系统运维指导手册.docx》由会员分享,可在线阅读,更多相关《软件系统运维指导手册.docx(25页珍藏版)》请在冰豆网上搜索。
![软件系统运维指导手册.docx](https://file1.bdocx.com/fileroot1/2022-12/31/ad02a3b3-d75b-4ba7-875d-c23560efa6a1/ad02a3b3-d75b-4ba7-875d-c23560efa6a11.gif)
软件系统运维指导手册
系统日常维护
指导手册
1、目的
网e通宽带网络运营支撑系统使用的服务器中,服务器均采用redhatlinuxas4操作系统,数据库版本为:
oracle10g,随着业务的开展,oracle数据库中存储的数据量也不断增大,这样操作系统和数据库的日常维护就显得十分重要。
本手册详细描述了程序模块,linux操作系统,DHCP双机热备、负载平衡及oracle数据库等日常检查的主要步骤,指导现场工程师对其进行监控和维护。
2、适用范围
使用者为网e通宽带网络运营支撑系统维护工程师
3、服务器及数据库概述
服务器概述
服务器数量:
4台,基本信息如下:
服务器
机器型号
操作系统
安装的模块
主机名
Ip地址
主服务器
DELLPC
Cm鉴权数据库
业务支撑数据库
主DHCP服务
oracle01
eth0:
从服务器
DELLPC
从DHCP服务
oracle02
eth0:
数据库概述
数据库软件分别安装在主服务器上。
/dev/mapper/VolGroup00-LogVol00逻辑卷上
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/10.2.0
ORACLE_SID=oracmts
4、系统服务程序的详细说明
系统服务程序的构成
DHCP主程序:
所在服务器
主服务器(ip:
)
程序名称
Dhcpd
所在目录
/opt/dpcp
DHCP从程序:
所在服务器
程序名称
Dhcpd
所在目录
/opt/dpcp
系统服务程序的启动、关闭及维护管理
4.2.1dhcp主服务
4.2.1.1dhcp主服务说明
所在目录
程序名称
程序简要说明
/opt/dpcp
Dhcpd
Dhcp主程序
/etc/
主程序的配置文件
/var/state/dhcp/
租约数据库
4.2.1.2dhcp启动、关闭及进程查看方法
1、启动方法:
输入:
cd/opt/dpcp
./dhcpd即可
注意:
请首先确认数据库服务正常,数据库监听正常。
输出:
[root@localhostdhcp]$./dhcpd
InternetSystemsConsortiumDHCPServerV3.0.4
Copyright2004-2006InternetSystemsConsortium.
Allrightsreserved.
Forinfo,
Wrote1leasestoleasesfile.
ListeningonLPF/eth0/00:
0c
SendingonLPF/eth0/00:
0c
SendingonSocket/fallback/fallback-net
说明:
dhcp启动时,会启动1个进程,正常情况下,dhcp启动的进程数为1个。
2、关闭方法
输入:
killpid
说明:
pid为进程号,可使用进程查看获得。
如|-dhcpd(4665),则进程id为4665,则kill4665就可关闭dhcp。
3、进程查看
输入:
[root@localhostdhcp]#pstree-p|grepdhcp
输出:
|-dhcpd(4665)
4.2.1.3配置说明
启动配置文件:
etc/
可使用more或者tail命令查看
配置服务配置,更改后需要重新启动才能生效,该配置文件的设置需要与从服务器的配置文件吻合。
配置文件全文如下:
#
#DHCPServerConfigurationfile.
#
ddns-update-stylenone;
failoverpeer"buptdhcp"
{
primary;
port519;
peeraddress19
peerport520;
max-response-delay60;
max-unacked-updates10;
mclt600;
split128;
loadbalancemaxseconds3;
}
}
#---------------cisico1_cm---------------------------
filename"";
default-lease-time3600;
pool
{
failoverpeer"buptdhcp";
denydynamicbootpclients;
}
}
#---------------cisico1_iad---------------------------
shared-networkcisico1_iad{
default-lease-time3600;
pool
{
failoverpeer"buptdhcp";
denydynamicbootpclients;
}
}
}
#---------------cisico1_cpe---------------------------
shared-networkcisico1_cpe{
default-lease-time3600;
pool
{
failoverpeer"buptdhcp";
denydynamicbootpclients;
}
}
}
租约数据库/var/state/dhcp/
可使用more或者tail命令查看
记录当前服务器与对方服务器的服务状态与分配的ip租约。
示例如下:
starts22007/11/2713:
15:
22;
ends32007/11/2813:
15:
22;
tstp32007/11/2813:
15:
22;
bindingstateactive;
nextbindingstatefree;
hardwareethernet00:
11:
1a:
07:
2e:
8e;
uid"\001\000\021\032\007.\216";
:
11:
1a:
7:
2e:
8e;
}
Dhcp状态如下:
failoverpeer"name"state{
mystatenormalat2007/11/2713:
15:
22;
peerstatenormalat2007/11/2713:
15:
22;
}
4.2.2dhcp从服务
4.2.2.1dhcp从服务说明
所在目录
程序名称
程序简要说明
/opt/dpcp
Dhcpd
Dhcp主程序
/etc/
主程序的配置文件
/var/state/dhcp/
租约数据库
所在目录
程序名称
程序简要说明
/opt/dpcp
Dhcpd
Dhcp主程序
/etc/
主程序的配置文件
/var/state/dhcp/
租约数据库
4.2.2.2dhcp启动、关闭及进程查看方法
1、启动方法:
输入:
cd/opt/dpcp
./dhcpd即可
注意:
请首先确认数据库服务正常,数据库监听正常。
输出:
[root@localhostdhcp]$./dhcpd
InternetSystemsConsortiumDHCPServerV3.0.4
Copyright2004-2006InternetSystemsConsortium.
Allrightsreserved.
Forinfo,pleasevisit
Wrote1leasestoleasesfile.
ListeningonLPF/eth0/00:
0c
SendingonLPF/eth0/00:
0c
SendingonSocket/fallback/fallback-net
说明:
dhcp启动时,会启动1个进程,正常情况下,dhcp启动的进程数为1个。
2、关闭方法
输入:
killpid
说明:
pid为进程号,可使用进程查看获得。
如|-dhcpd(4665),则进程id为4665,则kill4665就可关闭dhcp。
3、进程查看
输入:
[root@localhostdhcp]#pstree-p|grepdhcp
输出:
|-dhcpd(4665)
4.2.2.3配置说明
启动配置文件:
etc/
可使用more或者tail命令查看.
配置服务配置,更改后需要重新启动才能生效,该配置文件的设置需要与主服务器的配置文件吻合。
配置文件全文如下:
#
#DHCPServerConfigurationfile.
#
ddns-update-stylenone;
failoverpeer"buptdhcp"
{
secondary;
port520;
60;
peerport519;
max-response-delay60;
max-unacked-updates10;
mclt600;
#split128;
loadbalancemaxseconds3;
}
}
#---------------cisico1_cm---------------------------
filename"";
default-lease-time3600;
pool
{
failoverpeer"buptdhcp";
denydynamicbootpclients;
}
}
#---------------cisico1_iad---------------------------
shared-networkcisico1_iad{
default-lease-time3600;
pool
{
failoverpeer"buptdhcp";
denydynamicbootpclients;
}
}
}
#---------------cisico1_cpe---------------------------
shared-networkcisico1_cpe{
default-lease-time3600;
pool
{
failoverpeer"buptdhcp";
denydynamicbootpclients;
}
}
}
租约数据库/var/state/dhcp/
记录当前服务器与对方服务器的服务状态与分配的ip租约。
示例如下:
starts22007/11/2713:
15:
22;
ends32007/11/2813:
15:
22;
tstp32007/11/2813:
15:
22;
bindingstateactive;
nextbindingstatefree;
hardwareethernet00:
11:
1a:
07:
2e:
8e;
uid"\001\000\021\032\007.\216";
:
11:
1a:
7:
2e:
8e;
}
Dhcp状态如下:
failoverpeer"name"state{
mystatenormalat2007/11/2713:
15:
22;
peerstatenormalat2007/11/2713:
15:
22;
}
4.2.3web管理模块
4.2.3.1web管理模块中主要目录说明
/opt/apache-为apache模块所在目录
/opt/taiyuan为web程序存储目录
4.2.5.2web管理模块中各程序说明
命令所在目录:
/opt/apache/bin
命令
命令说明
apachectl
ApacheHTTP服务器控制接口
httpd
Apache超文本传输协议服务器
ab
ApacheHTTP服务器性能测试工具
apxs
APache功能扩展工具
dbmmanage
建立和更新DBM形式的基本认证文件
htdigest
建立和更新摘要认证文件
htpasswd
建立和更新基本认证文件
logresolve
将Apache日志文件中的IP地址解析为主机名
rotatelogs
滚动Apache日志而无须终止服务器
4.2.5.3web站点启动、关闭及进程查看方法
命令所在目录
命令
命令说明
/opt/apache/bin
./apachectlstart
启动httpd
/opt/apache/bin
./apachectlstartssl
启动httpd并加载SSL服务
/opt/apache/bin
./apachectlstop
关闭apache
/opt/apache/bin
./apachectlstatus
查看apache的状态
4.2.5.4web日志说明
Log存放目录为:
/opt/apache/logs
/opt/apache/logs/access_log为所有访问网站的日志
/opt/apache/logs/error_log为错误信息日志
/opt/apache/log为主进程的pid号
/opt/apache/logs/ssl_engine_log为ssl引擎日志,即ssl的运行日志,可以通过查看此日志了解运行状态及错误。
/opt/apache/logs/ssl_request_log为ssl请求日志
即是哪个ip使用httpsssi协议登录web站点,请求的时间,内容,访问的页面等。
4.2.5.5日常维护
维护分为:
业务维护及系统维护
业务维护就是,利用系统管理员的身份,查看操作日志
系统维护是:
定期查看系统日志,apache日志等,看是否有运行错误,并定期备份日志。
5、服务器硬件维护(略)
6、linux系统的日常维护
定期检查磁盘空间
使用df显示磁盘空间
输入:
[oracle@localhostserver]$df
输出:
Filesystem1K-blocksUsedAvailableUse%Mountedon
说明:
这里显示了/、/boot、/home分区挂载的系统分区使用的大小,磁盘空间以k为单位。
可以加参数-h
[oracle@localhostserver]$df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/cciss/c0d0p2103G7.3G91G8%/
/dev/cciss/c0d0p199M13M82M13%/boot
2.0G2.0G%/dev/shm
/dev/cciss/c0d0p530G181M28G1%/home
注意:
当某空间使用率超过85%时,通过du查看是哪些文件占用的空间比较大
例如/home使用了85%
cd/home
以root用户查看
su
输入root用户密码
[root@localhost/]#du-m--max-depth=1
-m是以M大小显示
--max-depth=1表示只是一级子目录的大小,如果想查看二级的就写为2
找出占用很大的文件,经判断后决定删除或转移。
使用top工具监视cpu及内存的使用率
每隔5秒,top工具确定哪些进程消耗最多的cpu时间,并按递减顺序在屏幕显示。
输入:
[oracle@localhost/]$top
输出:
top-10:
52:
46up6days,39min,2users,loadaverage:
,
Tasks:
123total,1running,122sleeping,0stopped,0zombie
Cpu(s):
%us,%sy,%ni,%id,%wa,%hi,%si
Mem:
8247956ktotal,1828612kused,6419344kfree,119476kbuffers
Swap:
8385920ktotal,0kused,8385920kfree,1526064kcached
PIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND
说明:
当发现个别进程占用率很高,可以通过用“ps–axj|grep进程名”查看这个进程在进行什么操作,如果发现这个进程持续的时间很长,而且非系统必要进程;可以通过“kill–9”进程的PID号,将进程杀死。
(不确定情况下,请不要使用);
退出top用ctrl+c。
定期查看root邮件
输入:
[oracle@localhostlog]$su-l
Password:
[root@localhostroot]#mail
输出:
m"
说明:
前面为N的表示新邮件
可以在&后面输入1,代表看第一封信,ctrl+c表示退出查看这封信,h显示所有的
如果都看过的邮件,就可以通过d来删除
如果删除1-10就用
&d1-10这样就会删除1-10的信。
定期查看系统日志
系统的日志存储于/var/log目录下,需要定期查看,常用日志说明如下:
:
该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
maillog:
该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动
messages:
该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵
lastlog:
该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成
wtmp:
该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
xferlog:
该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件
cron:
该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作
7、备份策略
备份方式
为了保证数据库的高安全性,目前我们采用的数据库备份方式为物理备份和逻辑备份相结合的方式,数据库归档模式为自动归档模式。
这样当数据库出现故障时,我们就可以利用备份文件与归档方法相结合,作数据库“最新状态”的恢复。
备份计划
通过自动备份脚本实现每天进行一次热备份及逻辑备份,每周进行一次冷备份。
所备份的数据文件存储于磁阵上的硬盘。
常见故障恢复
我们首先从/opt/oracle/admin/oracmts/bdump下的日志文件判断是什么故障。
通过查看v$recover_file来确定哪些文件需要恢复,通过查看v$datafile视图查看文件ID和文件名之间的相关性
通过下面的命令查看需要恢复的数据文件的文件ID号:
selectfile#,online,errorfromv$recover_file;
通过视图返回名字和相应的文件ID:
selectname,file#fromv$datafile;
通过这些信息,决定对哪些文件进行恢复,及其采用的恢复方式。
7.3.1实例故障
当oracle实例由于突然断电或者操作系统故障而崩溃时,可以通过输入dbstart即可开启数据库,无须发布恢复命令,oracle会自动执行崩溃恢复,最好启动前后检查日志文件
7.3.2介质故障
介质故障发生在数据库结构组织出现毁坏时,在这些组织中数据库文件不能进行读写。
在数据库打开的情况下,如果是system表空间的数据文件出现介质失败,那么oracle需要在mount状态下恢复其数据文件,
如果是其他表空间,可以只对介质失败涉及到的数据文件进行恢复,即在数据库打开的状态下进行恢复。
步骤如下:
1.确定需要恢复的数据文件
2.使数据文件脱机
3.拷贝数据文件备份到原目标地址
4.恢复表空间或数据文件
5.使表空间或数据文件联机
例:
当出现以下信息时,说明是数据库的system表空间出现了问题。
ERROR:
ORA-00604:
erroroccurredatrecursiveSQLlevel1
ORA-01116:
errorinopeningdatabasefile1
ORA-01110:
datafile1:
'/opt/oracle/oradata/oracmts/'
ORA-27041:
unabletoopenfile
LinuxError:
2:
Nosuchfileordirectory
Additionalinformation:
3
System出现介质失败,表示被误删或被损坏,可以执行如下:
1)首先登录SQL*PLUS并启用SYSDBA权限
输入:
:
sqlplususer/passwd@oracmts;
connect/assysdba;(启动SYSDBA权限)
shutdownabort(关闭数据库)
startupmount(加载数据库)
也可以通过查看视图,确定哪个文件需要恢复
SQL>selectfile#,errorfromv$recover_file;
FILE#ERROR
---------------------------------------------------------------------------
1FILENOTFOUND
查看v$datafile视图查看对应关系
SQL>selectfile#,namefromv$datafile;
FILE#
----------
NAME
--------------------------------------------------------------------------------
1
/opt/oracle/oradata/oracmts/
2
/opt/oracle/oradata/oracmts/
3
/opt/oracle/oradata/oracmts/
FILE#
----------
NAME
--------------------------------------------------------------------------------
4
/opt/oracle/oradata/oracmts/
知道要恢复的是1():
2)在SQL>提示符下输入
alterdatabasedatafile'/opt/oracle/oradata/oracmts/'offline;
3)再打开一个终端:
将备份数据文件拷贝到原目标地址,即:
cp/opt/backup/opt/oracle/oradata/oracmts/
4)然后进行恢复
SQL>recoverdatafile1;或recoverdatafile'/opt/oracle/oradata/oracmts/';
如果不需要归档日志文件进行恢复,即输出
Mediarecoverycomplete.
如果需要归档日志文件参与恢复,即输出:
ORA-00279:
change2246878generatedat07/22/200516:
28:
13neededforthread1
ORA-00289:
suggestion:
/opt/oracle/oradata/archive
ORA-00280:
change2246878forthread1isinsequence#167
Specifylog:
{=suggested|filename|AUTO|CANCEL}
输入:
auto即可自动完成恢复。
输出:
ORA-00279:
change2366990generatedat07/25/200500:
00:
09neededforthread1
ORA-00289:
suggestion:
/opt/oracle/oradata/arch