资源描述
系统日常维护
指导手册
目录
1、目的 4
2、适用范围 4
3、服务器及数据库概述 4
3.1 服务器概述 4
3.2 数据库概述 4
4、系统服务程序的详细说明 5
4.1系统服务程序的构成 5
4.2 系统服务程序的启动、关闭及维护管理 5
4.2.1 dhcp主服务 5
4.2.1.1 dhcp主服务说明 5
4.2.1.2 dhcp启动、关闭及进程查看方法 5
4.2.1.3 配置说明 6
4.2.2 dhcp从服务 6
4.2.2.1 dhcp从服务说明 6
4.2.2.2 dhcp启动、关闭及进程查看方法 6
4.2.2.3 配置说明 7
4.2.3 web管理模块 7
4.2.3.1 web管理模块中主要目录说明 7
4.2.5.2 web管理模块中各程序说明 8
4.2.5.3 web站点启动、关闭及进程查看方法 8
4.2.5.4 web日志说明 8
4.2.5.5 日常维护 8
5、服务器硬件维护(略) 9
6、linux系统的日常维护 9
6.1 定期检查磁盘空间 9
6.2 使用top工具监视cpu及内存的使用率 10
6.3 定期查看root邮件 10
6.4 定期查看系统日志 11
7、备份策略 11
7.1 备份方式 11
7.2 备份计划 11
7.3 常见故障恢复 11
7.3.1 实例故障 12
7.3.2 介质故障 12
9、数据库的日常维护 14
9.1 检查数据库的基本状况 14
9.1.1 检查oracle的进程 14
9.1.2 检查oracle监听进程 15
9.1.3 检查oracle实例状态 16
9.2 检查数据库日志文件 17
9.3 检查oracle对象的状态 17
9.3.1 检查oracle控制文件状态 17
9.3.2 检查oracle在线日志状态 18
9.3.3 检查oracle表空间的状态 18
9.3.4 检查oracle所有数据文件状态 18
9.3.5检查Oracle所有回滚段的状态 19
9.3.6检查Oracle所有表、索引、存储过程、触发器等对象的状态 19
9.4监控数据库表空间的使用情况(字典管理表空间) 19
9.4.1 判断是否需要碎片整理 20
9.4.2 判断是否需要扩展表空间 20
9.5 查看数据库的连接情况 21
9.6术语解释 22
10、命令解释 22
1、目的
网e通宽带网络运营支撑系统使用的服务器中,服务器均采用red hat linux as 4操作系统,数据库版本为:oracle 10g ,随着业务的开展,oracle 数据库中存储的数据量也不断增大,这样操作系统和数据库的日常维护就显得十分重要。
本手册详细描述了程序模块,linux操作系统,DHCP双机热备、负载平衡及oracle数据库等日常检查的主要步骤,指导现场工程师对其进行监控和维护。
2、适用范围
使用者为网e通宽带网络运营支撑系统维护工程师
3、服务器及数据库概述
3.1 服务器概述
服务器数量:4台,基本信息如下:
服务器
机器型号
操作系统
安装的模块
主机名
Ip地址
主服务器
DELL PC
RedHat linux AS 4.0
Cm鉴权数据库
业务支撑数据库
主DHCP服务
oracle01
eth0:192.168.20.60
从服务器
DELL PC
RedHat linux AS 4.0
从DHCP服务
oracle02
eth0: 192.168.20.61
3.2 数据库概述
数据库软件分别安装在主服务器上。
/dev/mapper/VolGroup00-LogVol00 逻辑卷上
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/product/ 10.2.0
ORACLE_SID=oracmts
4、系统服务程序的详细说明
4.1系统服务程序的构成
DHCP主程序:
所在服务器
主服务器(ip: 192.168.20.60)
程序名称
Dhcpd
所在目录
/opt/dpcp
DHCP从程序:
所在服务器
从服务器(ip: 192.168.20.61)
程序名称
Dhcpd
所在目录
/opt/dpcp
4.2 系统服务程序的启动、关闭及维护管理
4.2.1 dhcp主服务
4.2.1.1 dhcp主服务说明
所在目录
程序名称
程序简要说明
/opt/dpcp
Dhcpd
Dhcp主程序
/etc/dhcpd.conf
主程序的配置文件
/var/state/dhcp/dhcpd.leases
租约数据库
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 http://www.isc.org/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 配置说明
启动配置文件:etc/dhcpd.conf
可使用more 或者 tail 命令查看
配置服务配置,更改后需要重新启动才能生效,该配置文件的设置需要与从服务器的配置文件吻合。配置文件全文如下:
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
ddns-update-style none;
failover peer "buptdhcp"
{
primary;
address 192.168.20.60;
port 519;
peer address 192.168.20.61;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
mclt 600;
split 128;
load balance max seconds 3;
}
subnet 192.168.20.0 netmask 255.255.255.0{
}
#---------------cisico1_cm---------------------------
subnet 10.10.128.0 netmask 255.255.240.0{
option routers 10.10.128.1;
filename "Disable.cm";
next-server 192.168.20.60;
default-lease-time 3600;
pool
{
failover peer "buptdhcp";
deny dynamic bootp clients;
range 10.10.128.2 10.10.143.254;
}
}
#---------------cisico1_iad---------------------------
shared-network cisico1_iad{
subnet 10.8.80.0 netmask 255.255.255.0{
option routers 10.8.80.1;
option domain-name-servers 219.150.32.132, 219.150.150.150, 219.146.0.130;
default-lease-time 3600;
pool
{
failover peer "buptdhcp";
deny dynamic bootp clients;
range 10.8.80.2 10.8.80.254;
}
}
}
#---------------cisico1_cpe---------------------------
shared-network cisico1_cpe{
subnet 219.234.16.0 netmask 255.255.248.0{
option routers 219.234.16.1;
option domain-name-servers 219.150.32.132, 219.150.150.150, 219.146.0.130;
default-lease-time 3600;
pool
{
failover peer "buptdhcp";
deny dynamic bootp clients;
range 219.234.16.2 219.234.23.254;
}
}
}
租约数据库/var/state/dhcp/dhcpd.leases
可使用more 或者 tail 命令查看
记录当前服务器与对方服务器的服务状态与分配的ip租约。
示例如下:
lease 192.168.5.254 {
starts 2 2007/11/27 13:15:22;
ends 3 2007/11/28 13:15:22;
tstp 3 2007/11/28 13:15:22;
binding state active;
next binding state free;
hardware ethernet 00:11:1a:07:2e:8e;
uid "\001\000\021\032\007.\216";
option agent.remote-id 0:11:1a:7:2e:8e;
}
Dhcp状态如下:
failover peer " name " state {
my state normal at 2007/11/27 13:15:22 ;
peer state normal at 2007/11/27 13:15:22 ;
}
4.2.2 dhcp从服务
4.2.2.1 dhcp从服务说明
所在目录
程序名称
程序简要说明
/opt/dpcp
Dhcpd
Dhcp主程序
/etc/dhcpd.conf
主程序的配置文件
/var/state/dhcp/dhcpd.leases
租约数据库
所在目录
程序名称
程序简要说明
/opt/dpcp
Dhcpd
Dhcp主程序
/etc/dhcpd.conf
主程序的配置文件
/var/state/dhcp/dhcpd.leases
租约数据库
4.2.2.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 http://www.isc.org/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.2.3 配置说明
启动配置文件:etc/dhcpd.conf
可使用more 或者 tail 命令查看.
配置服务配置,更改后需要重新启动才能生效,该配置文件的设置需要与主服务器的配置文件吻合。配置文件全文如下:
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
#
ddns-update-style none;
failover peer "buptdhcp"
{
secondary;
address 192.168.20.61;
port 520;
peer address 192.168.20.60;
peer port 519;
max-response-delay 60;
max-unacked-updates 10;
mclt 600;
#split 128;
load balance max seconds 3;
}
subnet 192.168.20.0 netmask 255.255.255.0{
}
#---------------cisico1_cm---------------------------
subnet 10.10.128.0 netmask 255.255.240.0{
option routers 10.10.128.1;
filename "Disable.cm";
next-server 192.168.20.60;
default-lease-time 3600;
pool
{
failover peer "buptdhcp";
deny dynamic bootp clients;
range 10.10.128.2 10.10.143.254;
}
}
#---------------cisico1_iad---------------------------
shared-network cisico1_iad{
subnet 10.8.80.0 netmask 255.255.255.0{
option routers 10.8.80.1;
option domain-name-servers 219.150.32.132, 219.150.150.150, 219.146.0.130;
default-lease-time 3600;
pool
{
failover peer "buptdhcp";
deny dynamic bootp clients;
range 10.8.80.2 10.8.80.254;
}
}
}
#---------------cisico1_cpe---------------------------
shared-network cisico1_cpe{
subnet 219.234.16.0 netmask 255.255.248.0{
option routers 219.234.16.1;
option domain-name-servers 219.150.32.132, 219.150.150.150, 219.146.0.130;
default-lease-time 3600;
pool
{
failover peer "buptdhcp";
deny dynamic bootp clients;
range 219.234.16.2 219.234.23.254;
}
}
}
租约数据库/var/state/dhcp/dhcpd.leases
记录当前服务器与对方服务器的服务状态与分配的ip租约。
示例如下:
lease 192.168.5.254 {
starts 2 2007/11/27 13:15:22;
ends 3 2007/11/28 13:15:22;
tstp 3 2007/11/28 13:15:22;
binding state active;
next binding state free;
hardware ethernet 00:11:1a:07:2e:8e;
uid "\001\000\021\032\007.\216";
option agent.remote-id 0:11:1a:7:2e:8e;
}
Dhcp状态如下:
failover peer " name " state {
my state normal at 2007/11/27 13:15:22 ;
peer state normal at 2007/11/27 13:15:22 ;
}
4.2.3 web管理模块
4.2.3.1 web管理模块中主要目录说明
/opt/apache-2.0.52为apache模块所在目录
/opt/taiyuan 为web 程序存储目录
4.2.5.2 web管理模块中各程序说明
命令所在目录:/opt/apache/bin
命令
命令说明
apachectl
Apache HTTP服务器控制接口
httpd
Apache超文本传输协议服务器
ab
Apache HTTP服务器性能测试工具
apxs
APache功能扩展工具
dbmmanage
建立和更新DBM形式的基本认证文件
htdigest
建立和更新摘要认证文件
htpasswd
建立和更新基本认证文件
logresolve
将Apache日志文件中的IP地址解析为主机名
rotatelogs
滚动Apache日志而无须终止服务器
4.2.5.3 web站点启动、关闭及进程查看方法
命令所在目录
命令
命令说明
/opt/apache/bin
./apachectl start
启动httpd
/opt/apache/bin
./apachectl startssl
启动httpd并加载SSL服务
/opt/apache/bin
./apachectl stop
关闭apache
/opt/apache/bin
./apachectl status
查看apache的状态
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、linux系统的日常维护
6.1 定期检查磁盘空间
使用df显示磁盘空间
输入:
[oracle@localhost server]$ df
输出:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p2 107938336 7612144 94843208 8% /
/dev/cciss/c0d0p1 101086 12308 83559 13% /boot
none 2073908 4 2073904 1% /dev/shm
/dev/cciss/c0d0p5 30976636 185056 29218016 1% /home
说明:
这里显示了/、 /boot、/home分区 挂载的系统分区使用的大小,磁盘空间以k为单位。
可以加参数 -h
[oracle@localhost server]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p2 103G 7.3G 91G 8% /
/dev/cciss/c0d0p1 99M 13M 82M 13% /boot
none 2.0G 4.0K 2.0G 1% /dev/shm
/dev/cciss/c0d0p5 30G 181M 28G 1% /home
注意:
当某空间使用率超过85%时,通过du查看是哪些文件占用的空间比较大
例如/home使用了85%
cd /home
以root用户查看
su
输入root用户密码
[root@localhost /]# du -m --max-depth=1
-m是以M大小显示
--max-depth=1表示只是一级子目录的大小,如果想查看二级的就写为2
找出占用很大的文件,经判断后决定删除或转移。
6.2 使用top工具监视cpu及内存的使用率
每隔5秒,top工具确定哪些进程消耗最多的cpu时间,并按递减顺序在屏幕显示。
输入:[oracle@localhost /]$ top
输出:
top - 10:52:46 up 6 days, 39 min, 2 users, load average: 0.12, 0.09, 0.02
Tasks: 123 total, 1 running, 122 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2% us, 0.2% sy, 0.0% ni, 99.3% id, 0.4% wa, 0.0% hi, 0.0% si
Mem: 8247956k total, 1828612k used, 6419344k free, 119476k buffers
Swap: 8385920k total, 0k used, 8385920k free, 1526064k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 16 0 3004 552 472 S 0.0 0.0 0:01.02 init
2 root RT 0 0 0 0 S 0.0 0.0 0:01.28 migration/0
3 root 34 19 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/0
4 root RT 0 0 0 0 S 0.0 0.0 0:01.28 migration/1
5 root 34 19 0 0 0 S 0.0 0.0 0:00.04 ksoftirqd/1
6 root RT 0 0 0 0 S 0.0 0.0 0:00.65 migration/2 说明:
当发现个别进程占用率很高,可以通过用“ps –axj | grep 进程名”查看这个进程在进行什么操作,如果发现这个进程持续的时间很长,而且非系统必要进程;可以通过“kill –9” 进程的PID号,将进程杀死。(不确定情况下,请不要使用);
退出top用ctrl+c。
6.3 定期查看root邮件
输入:
[oracle@localhost log]$ su -l
Password:
[root@localhost root]# mail
输出:
1 root@localhost.local Fri Sep 8 16:23 18/704 "HP Insight Management Agents Trap Alarm"
N 2 root@localhost.local Fri Sep 8 16:23 18/684 "HP Agent Trap Alert"
N 3 root@localhost.local Fri Sep 8 16:23 19/748 "HP Insight Management Agents Trap Alarm"
说明:
前面为N的表示新邮件
可以在& 后面输入1,代表看第一封信,ctrl+c表示退出查看这封信,h显示所有的
如果都看过的邮件,就可以通过d来删除
如果删除1-10就用
&d 1-10这样就会删除1-10的信。
6.4 定期查看系统日志
系统的日志存储于/var/log目录下,需要定期查看,常用日志说明如下:
boot.log:该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
maillog: 该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动
messages: 该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵
lastlog: 该日志文件记录最近成功登录的事件和最后一次不成功的登录事件,由login生成
wtmp: 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件
xferlog: 该日志文件记录FTP会话,可以显示出用户向FTP服务器或从服务器拷贝了什么文件
cron: 该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作
7、备份策略
7.1 备份方式
为了保证数据库的高安全性,目前我们采用的数据库备份方式为物理备份和逻辑备份相结合的方式,数据库归档模式为自动归档模式。这样当数据库出现故障时,我们就可以利用备份文件与归档方法相结合,作数据库“最新状态”的恢复。
7.2 备份计划
通过自动备份脚本实现每天进行一次热备份及逻辑备份,每周进行一次冷备份。所备份的数据文件存储于磁阵上的硬盘。
7.3 常见故障恢复
我们首先从/opt/oracle/admin/oracmts/bdump下的日志文件判断是什么故障。通过查看v$recover_file 来确定哪些文件需要恢复,通过查看v$datafile视图查看文件ID和文件名之间的相关性
通过下面的命令查看需要恢复的数据文件的文件ID号:
select file#, online, error from v$recover_file;
通过视图返回名字和相应的文件ID:
select name, file# from v$datafile;
通过这些信息,决定对哪些文件进行恢复,及其采用的恢复方式。
7.3.1 实例故障
当oracle实例由于突然断电或者操作系统故障而崩溃时,可以通过输入dbstart即可开启数据库,无须发布恢复命令,oracle会自动执行崩溃恢复,最好启动前后检查日志文件
7.3.2 介质故障
介质故障发生在数据库结构组织出现毁坏时,在这些组织中数据库文件不能进行读写。
在数据库打开的情况下,如果是system表空间的数据文件出现介质失败,那么oracle需要在mount状态下恢复其数据文件,
如果是其他表空间,可以只对介质失败涉及到的数据文件进行恢复,即在数据库打开的状态下进行恢复。
步骤如下:
1.确定需要恢复的数据文件
2.使数据文件脱机
3.拷贝数据文件备份到原目标地址
4.恢复表空间或数据文件
5.使表空间或数据文件联机
例:
当出现以下信息时,说明是数据库的system表空间出现了问题。
ERROR:
ORA-00604: error occurred at recursive SQL level 1
ORA-01116: error in opening database file 1
ORA-01110: data file 1: '/opt/oracle/oradata/oracmts/system01.dbf'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
System出现介质失败,表示被误删或被损坏,可以执行如下:
1)首先登录SQL*PLUS并启用SYSDBA权限
输入::sqlplus user/passwd@oracmts;
connect / as sysdba; (启动SYSDBA权限)
shutdown abort (关闭数据库)
startup mount (加载数据库)
也可以通过查看视图,确定哪个文件需要恢复
SQL> select file#,error from v$recover_file;
FILE# ERROR
---------- -----------------------------------------------------------------
1 FILE NOT FOUND
查看v$datafile视图查看对应关系
SQL> select file#,name from v$datafile;
FILE#
----------
NAME
--------------------------------------------------------------------------------
1
/opt/oracle/oradata/oracmts/system01.dbf
2
/opt/oracle/oradata/oracmts/undotbs01.dbf
3
/opt/oracle/oradata/oracmts/sysaux01.dbf
FILE#
----------
NAME
---------------------------
展开阅读全文