最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

系统日常维护指导手册-超详细

来源:动视网 责编:小OO 时间:2025-09-23 19:27:09
文档

系统日常维护指导手册-超详细

系统日常维护指导手册1、目的网e通宽带网络运营支撑系统使用的服务器中,服务器均采用redhatlinuxas4操作系统,数据库版本为:oracle10g,随着业务的开展,oracle数据库中存储的数据量也不断增大,这样操作系统和数据库的日常维护就显得十分重要。本手册详细描述了程序模块,linux操作系统,DHCP双机热备、负载平衡及oracle数据库等日常检查的主要步骤,指导现场工程师对其进行监控和维护。2、适用范围使用者为网e通宽带网络运营支撑系统维护工程师3、服务器及数据库概述3.1服务器
推荐度:
导读系统日常维护指导手册1、目的网e通宽带网络运营支撑系统使用的服务器中,服务器均采用redhatlinuxas4操作系统,数据库版本为:oracle10g,随着业务的开展,oracle数据库中存储的数据量也不断增大,这样操作系统和数据库的日常维护就显得十分重要。本手册详细描述了程序模块,linux操作系统,DHCP双机热备、负载平衡及oracle数据库等日常检查的主要步骤,指导现场工程师对其进行监控和维护。2、适用范围使用者为网e通宽带网络运营支撑系统维护工程师3、服务器及数据库概述3.1服务器
系统日常维护

指导手册

1、目的

网e通宽带网络运营支撑系统使用的服务器中,服务器均采用red hat linux as 4操作系统,数据库版本为:oracle 10g ,随着业务的开展,oracle 数据库中存储的数据量也不断增大,这样操作系统和数据库的日常维护就显得十分重要。

本手册详细描述了程序模块,linux操作系统,DHCP双机热备、负载平衡及oracle数据库等日常检查的主要步骤,指导现场工程师对其进行监控和维护。

2、适用范围

使用者为网e通宽带网络运营支撑系统维护工程师

3、服务器及数据库概述

3.1 服务器概述

服务器数量:4台,基本信息如下:

服务器机器型号操作系统安装的模块主机名Ip地址

主服务器

DELL PCRedHat linux AS 4.0

Cm鉴权数据库

业务支撑数据库

主DHCP服务

oracle01

eth0:192.168.20.60

从服务器

DELL PCRedHat 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

S0c:29:fb:d4:32/192.168.50/24

说明:dhcp启动时,会启动1个进程,正常情况下,dhcp启动的进程数为1个。

2、关闭方法

输入:kill pid

说明:pid为进程号,可使用进程查看获得。如|-dhcpd(4665),则进程id为4665,则kill 4665就可关闭dhcp。

3、进程查看

输入:[root@localhost dhcp]# pstree -p | grep dhcp 

输出:

4.2.1.3 配置说明

启动配置文件:etc/dhcpd.conf 

可使用more 或者 tail 命令查看

配置服务配置,更改后需要重新启动才能生效,该配置文件的设置需要与从服务器的配置文件吻合。配置文件全文如下:

#

# DHCP Server Configuration file.

#

ddns-update-style none;

failover peer "buptdhcp"

{

}

subnet 192.168.20.0 netmask 255.255.255.0{  

}

#---------------cisico1_cm---------------------------

subnet 10.10.128.0 netmask 255.255.240.0{

}

#---------------cisico1_iad---------------------------

shared-network cisico1_iad{

     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{

}

租约数据库/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/dpcpDhcpd

Dhcp主程序

/etc/dhcpd.conf主程序的配置文件
/var/state/dhcp/dhcpd.leases租约数据库
所在目录程序名称程序简要说明
/opt/dpcpDhcpd

Dhcp主程序

/etc/dhcpd.conf主程序的配置文件
/var/state/dhcp/dhcpd.leases租约数据库
4.2.2.2 dhcp启动、关闭及进程查看方法

1、启动方法:

输入:cd /opt/dpcp

 即可

注意:请首先确认数据库服务正常,数据库监听正常。

输出:

[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

S0c:29:fb:d4:32/192.168.50/24

说明:dhcp启动时,会启动1个进程,正常情况下,dhcp启动的进程数为1个。

2、关闭方法

输入:kill pid

说明:pid为进程号,可使用进程查看获得。如|-dhcpd(4665),则进程id为4665,则kill 4665就可关闭dhcp。

3、进程查看

输入:[root@localhost dhcp]# pstree -p | grep dhcp 

输出:

4.2.2.3 配置说明

启动配置文件:etc/dhcpd.conf 

可使用more 或者 tail 命令查看.

配置服务配置,更改后需要重新启动才能生效,该配置文件的设置需要与主服务器的配置文件吻合。配置文件全文如下:

#

# DHCP Server Configuration file.

#

ddns-update-style none;

failover peer "buptdhcp"

{

}

subnet 192.168.20.0 netmask 255.255.255.0{  

}

#---------------cisico1_cm---------------------------

subnet 10.10.128.0 netmask 255.255.240.0{

}

#---------------cisico1_iad---------------------------

shared-network cisico1_iad{

     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{

}

租约数据库/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服务器控制接口

httpdApache超文本传输协议服务器

abApache HTTP服务器性能测试工具

apxsAPache功能扩展工具

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,  19344k free,   119476k buffers

Swap:  8385920k total,        0k used,  8385920k free,  15260k 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 ********************  Fri Sep  8 16:23  18/704   "HP Insight Management Agents Trap Alarm"

 N  2 ********************  Fri Sep  8 16:23  18/684   "HP Agent Trap Alert"

 N  3 ********************  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; 

 (启动SYSDBA权限)

shutdown abort  (关闭数据库)

startup mount (加载数据库)

也可以通过查看视图,确定哪个文件需要恢复

SQL> select file#,error from v$recover_file;

---------- -----------------------------------------------------------------

查看v$datafile视图查看对应关系

SQL> select file#,name from v$datafile;

----------

NAME

--------------------------------------------------------------------------------

/opt/oracle/oradata/oracmts/system01.dbf

/opt/oracle/oradata/oracmts/undotbs01.dbf

/opt/oracle/oradata/oracmts/sysaux01.dbf

----------

NAME

--------------------------------------------------------------------------------

/opt/oracle/oradata/oracmts/users01.dbf

知道要恢复的是1(system01.dbf):

2)在SQL>提示符下输入

alter database datafile '/opt/oracle/oradata/oracmts/system01.dbf' offline;

3)再打开一个终端:

将备份数据文件拷贝到原目标地址,即:

cp /opt/backup/system01.dbf /opt/oracle/oradata/oracmts/

4)然后进行恢复

SQL> recover datafile 1;或recover datafile '/opt/oracle/oradata/oracmts/system01.dbf';

如果不需要归档日志文件进行恢复,即输出

Media recovery complete.

如果需要归档日志文件参与恢复,即输出:

ORA-00279: change 2246878 generated at 07/22/2005 16:28:13 needed for thread 1

ORA-002: suggestion : /opt/oracle/oradata/archive /1_167_562355694.dbf

ORA-00280: change 2246878 for thread 1 is in sequence #167

Specify log: {=suggested | filename | AUTO | CANCEL}

输入:auto即可自动完成恢复。

输出:

ORA-00279: change 2366990 generated at 07/25/2005 00:00:09 needed for thread 1

ORA-002: suggestion : /opt/oracle/oradata/archive/1_185_562355694.dbf

ORA-00280: change 2366990 for thread 1 is in sequence #185

ORA-00278: log file '/opt/oracle/oradata/archive /1_184_562355694.dbf' no longer needed for this

recovery

ORA-00279: change 2375106 generated at 07/25/2005 04:00:54 needed for thread 1

ORA-002: suggestion : /opt/oracle/oradata/archive /1_186_562355694.dbf

ORA-00280: change 2375106 for thread 1 is in sequence #186

ORA-00278: log file '/opt/oracle/oradata/archive /1_185_562355694.dbf' no longer needed for this

recovery

Log applied.

Media recovery complete.(表示恢复结束)

5)在SQL>提示符下输入

alter database datafile '/opt/oracle/oradata/oracmts/system01.dbf' online;

6)打开数据库即可,在SQL>提示符下输入

alter database open

其他数据文件恢复方法类似,只需要把数据文件的名字更改即可。

注:如果维护工程师没有数据库恢复经验,或判断不出数据库的故障原因,请联系我们的工程师,我们一起协商解决。

9、数据库的日常维护

9.1 检查数据库的基本状况

主要介绍如何对数据库的基本情况进行检查,内容共分三部分,分别为:检查oracle的进程;检查oracle监听进程;检查oracle实例状态。

9.1.1 检查oracle的进程

输入:ps -ef |grep "ora_" |grep -v grep

输出:

1  8510  8510  8510 ?           -1 Ss     500   0:00 ora_pmon_oracmts

1  8512  8512  8512 ?           -1 Ss     500   0:05 ora_psp0_oracmts

1  8514  8514  8514 ?           -1 Ss     500   0:00 ora_mman_oracmts

1  8516  8516  8516 ?           -1 Ss     500   0:04 ora_dbw0_oracmts

1  8518  8518  8518 ?           -1 Ss     500   0:04 ora_lgwr_oracmts

1  8520  8520  8520 ?           -1 Ss     500   0:11 ora_ckpt_oracmts

1  8522  8522  8522 ?           -1 Ss     500   0:09 ora_smon_oracmts

1  8524  8524  8524 ?           -1 Ss     500   0:00 ora_reco_oracmts

1  8526  8526  8526 ?           -1 Ss     500   0:05 ora_cjq0_oracmts

1  8528  8528  8528 ?           -1 Ss     500   0:14 ora_mmon_oracmts

1  8530  8530  8530 ?           -1 Ss     500   0:05 ora_mmnl_oracmts

1  8532  8532  8532 ?           -1 Ss     500   0:00 ora_d000_oracmts

1  8534  8534  8534 ?           -1 Ss     500   0:00 ora_s000_oracmts

1  8539  8539  8539 ?           -1 Ss     500   0:00 ora_arc0_oracmts

1  8541  8541  8541 ?           -1 Ss     500   0:00 ora_arc1_oracmts

1  8545  8545  8545 ?           -1 Ss     500   0:00 ora_qmnc_oracmts

1  8580  8580  8580 ?           -1 Ss     500   0:00 ora_q000_oracmts

1  8583  8583  8583 ?           -1 Ss     500   0:00 ora_q001_oracmts

说明:

在检查oracle的进程命令输出后,输出显示至少应包括以下一些进程:

⏹oracle写数据文件的进程,输出显示为:“ora_dbw0_oracmts”

⏹oracle写日志文件的进程,输出显示为:“ora_lgwr_oracmts”

⏹oracle监听实例状态的进程,输出显示为:“ora_smon_oracmts”

⏹oracle监听客户端连接进程状态的进程,输出显示为:“ora_pmon_oracmts”

⏹oracle进行归档的进程,输出显示为:“ora_arc0_oracmts”

⏹oracle进行检查点的进程,输出显示为:“ora_ckpt_oracmts”

⏹oracle进行恢复的进程,输出显示为:“ora_reco_oracmts”

⏹注:上面进程中的oracmts是数据库的实例名,必须为oracmts,否则为错误。

9.1.2 检查oracle监听进程

输入:lsnrctl status

输出:

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 24-OCT-2006 17:22:28

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle02)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date                24-OCT-2006 17:22:23

Uptime                    0 days 0 hr. 0 min. 5 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      ON

Listener Parameter File   /opt/oracle/product/10.2.0/network/admin/listener.ora

Listener Log File         /opt/oracle/product/10.2.0/network/log/listener.log

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle02)(PORT=1521)))

  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "oracmts" has 1 instance(s).

  Instance "oracmts", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

说明:

“Services Summary”项表示oracle的监听进程正在监听哪些数据库的实例,输出显示中至少应该有“oracmts”这一项。

9.1.3 检查oracle实例状态

输入:

[oracle@localhost oracle]$ sqlplus /nolog

SQL> connect / as sysdba;

SQL> select instance_name,version,status,database_status from v$instance;

输出:

INSTANCE_NAME    VERSION           STATUS      DATABASE_STATUS

---------------- ----------------- ------------ -----------------

oracmts         10.2.0.1.0        OPEN         ACTIVE

说明:

其中“STATUS”表示oracle当前的状态,必须为“OPEN”;“DATABASE_STATUS”表示oracle当前数据库的状态,必须为“ACTIVE”。

输入:

SQL> archive log list;

输出:

Database log mode           Archive Mode

Automatic archival           Enabled

Archive destination           /opt/oracle/oradata/archive

Oldest online log sequence     5

Next log sequence to archive   7

Current log sequence         7

说明:

其中Database log mode 表示oracle当前的归档方式,“Archive Mode”表示数据库运行在归档模式下,我们数据库必须运行在归档方式下。

9.2 检查数据库日志文件

Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:

⏹数据库的启动、关闭,启动时的非缺省参数;

⏹数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;

⏹对数据库进行的某些操作,如创建或删除表空间、增加数据文件;

⏹数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)

输入:

cat /opt/oracle/admin/oracmts/bdump/alert_oracmts.log |grep -i ora-

cat /opt/oracle/admin/oracmts/bdump/alert_oracmts.log |grep -i fail

cat /opt/oracle/admin/oracmts/bdump/alert_oracmts.log |grep -i err

说明:查看“ora-”,“fail”,“err”等出错信息。

有关“ora-”错误信息,可以到oracle官方网站上查询。

9.3 检查oracle对象的状态

主要介绍检查相关oracle对象的状态,内容包括五个部分,分别为:检查oracle控制文件状态;检查oracle在线日志状态;检查oracle表空间的状态;检查oracle所有数据文件状态;检查Oracle所有回滚段的状态。

9.3.1 检查oracle控制文件状态

输入:SQL> select * from v$controlfile;

输出:

STATUS  NAME  IS_ BLOCK_SIZE  FILE_SIZE_BLKS

/opt/oracle/oradata/oracmts/control01.ctl

NO       16384            430

/opt/oracle/oradata/oracmts/control02.ctl

NO       16384            430

/opt/oracle/oradata/oracmts/control03.ctl

NO       16384            430

说明:输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空,状态为空表示控制文件状态正常。

9.3.2 检查oracle在线日志状态

输入:SQL> select * from v$logfile;

输出:

GROUP# STATUS  TYPE    MEMBER                              IS_

3                ONLINE  /opt/oracle/oradata/oracmts/redo03.log       NO

2                ONLINE  /opt/oracle/oradata/oracmts/redo02.log       NO

1                ONLINE  /opt/oracle/oradata/oracmts/redo01.log       NO

说明:其中“STATUS”应该都为“ONLINE”。

9.3.3 检查oracle表空间的状态

输入:SQL> select tablespace_name,status from dba_tablespaces;

输出:

TABLESPACE_NAME                STATUS

------------------------------ ---------

SYSTEM                         ONLINE

UNDOTBS1                       ONLINE

SYSAUX                         ONLINE

TEMP                           ONLINE

USERS                          ONLINE

APPTBS01                       ONLINE

说明:其中“STATUS”都应该为“ONLINE”。

9.3.4 检查oracle所有数据文件状态

输入:SQL> select name,status from v$datafile;

输出:

NAME                                STATUS

/opt/oracle/oradata/oracmts/system01.dbf    SYSTEM

/opt/oracle/oradata/oracmts/undotbs01.dbf   ONLINE

/opt/oracle/oradata/oracmts/sysaux01.dbf    ONLINE

/opt/oracle/oradata/oracmts/users01.dbf     ONLINE

/opt/oracle/oradata/oracmts/apptbs01.dbf    ONLINE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

说明:输出结果中“STATUS”应该为“ONLINE”,其中system01.dbf状态值为SYSTEM,

9.3.5检查Oracle所有回滚段的状态

输入:SQL> select segment_name,status from dba_rollback_segs;

输出:

SEGMENT_NAME                   STATUS

------------------------------ ----------------

SYSTEM                         ONLINE

_SYSSMU1$                      ONLINE

_SYSSMU2$                      ONLINE

_SYSSMU3$                      ONLINE

_SYSSMU4$                      ONLINE

_SYSSMU5$                      ONLINE

_SYSSMU6$                      ONLINE

_SYSSMU7$                      ONLINE

_SYSSMU8$                      ONLINE

_SYSSMU9$                      ONLINE

_SYSSMU10$                     ONLINE

说明:输出结果中所有回滚段的“STATUS”应该为“ONLINE”。

9.3.6检查Oracle所有表、索引、存储过程、触发器等对象的状态

输入:select owner,object_name,object_type from dba_objects where status!='VALID' and owner!='SYS' and owner!='SYSTEM';

输出:no rows selected

说明:如果有记录返回,则说明存在无效的对象。若这些对象与我们应用相关,那么需要重新生成这个对象。

9.4监控数据库表空间的使用情况(字典管理表空间)

数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,维护工程师应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。

9.4.1 判断是否需要碎片整理

输入:select tablespace_name,

count(*) chunks ,

max(bytes/1024/1024) max_chunk

        from dba_free_space

group by tablespace_name;

输出:

TABLESPACE_NAME                    CHUNKS  MAX_CHUNK

UNDOTBS1                              13      7.9375

SYSAUX                                 1      3.3125

APPTBS01                                1      1847.9375

USERS                                   1      42.5625

SYSTEM                                 2      9.9375

说明:其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,可以尝试用以下的SQL命令进行表空间相邻碎片的接合:

alter tablespace 表空间名 coalesce;

然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。

9.4.2 判断是否需要扩展表空间

  输入:select b.file_id "File #

        b.tablespace_name,

        b.bytes All_space,

        sum(nvl(a.bytes,0)) "free

        (sum(nvl(a.bytes,0))/(b.bytes))*100 "%free"

 from dba_free_space a, dba_data_files b

 where a.file_id = b.file_id

 group by b.tablespace_name, b.file_id,b.bytes

 order by b.tablespace_name;

输出:

     File # TABLESPACE_NAME  ALL_SPACE     free      %free

         5 APPTBS01             21474838   1937702912  90.2313232

         3 SYSAUX              314572800    3473408  1.10416667

         1 SYSTEM              513802240    10813440  2.10459184

         2 UNDOTBS1           26214400   17170432       65.5

         4 USERS               77332480    44630016   57.71184

说明:ALL_SPACE表示表空间总的字节数,free表示空闲的字节数,%free为空闲的百分率,当空闲的百分率小于10时,就需要增加数据文件来扩展表空间,而不要是用数据文件的自动扩展功能。

扩展表空间的方法:

输入:

alter database datafile '数据文件的位置' resize 扩展后的大小;

例如扩展system表空间到800M

alter database datafile '/opt/oracle/oradata/oracmts/system01.dbf' resize 800M;

输出:

Database altered.

再查看表空间的使用情况,输出:

File # TABLESPACE_NAME                 ALL_SPACE       free      %free

---------- ------------------------------ ---------- ---------- ----------

可以看出表空间扩展成功了。       

9.5 查看数据库的连接情况

DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。同时,对一些“挂死”的连接,可能会需要DBA手工进行清理。

输入:

select sid,serial#,username,program,machine,status from v$session;

输出:

SID SERIAL# USERNAME PROGRAM MACHINE                                                          STATUS

141  8698 oracle@oracle02 (J000)oracle02                                                         ACTIVE

1 462 SYS sqlplus@oracle02 (TNS V1-V3) oracle02                                                         ACTIVE

说明:SID    会话(session)的ID号;

SERIAL#    会话的序列号,和SID一起用来唯一标识一个会话;

USERNAME    建立该会话的用户名;

PROGRAM    这个会话是用什么工具连接到数据库的;

STATUS    当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;

 如果DBA要手工断开某个会话,则执行:

alter system kill session 'SID,SERIAL#';

注意,上例中SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这些会话进行任何操作。

 9.6术语解释

• Oracle的实例:由Oracle的内存结构和Oracle进程组成的集合。一般由ORACLE_SID环境变量定义。 

• Oracle的监听进程:Oracle是一个基于client/server体系结构的应用程序。Oracle服务进程和客户端进程之间通过Oracle监听进程进行连接和转发。Oracle监听进程一般在数据库服务器的1521号端口进行监听。 

• Oracle控制文件:Oracle系统文件之一。用来存放Oracle主要的控制信息,如:日志文件的位置,数据文件的位置,数据库名字,数据库归档信息等等。

• Oracle在线日志:Oracle所有增、删、改等操作都记录在在线日志中。通过在线日志和归档日志,Oracle就可以跟踪所有的数据库更改操作,就可以做完整的数据恢复。 

• Oracle表空间:Oracle所有对象都存储在表空间中,表空间是Oracle数据库中的逻辑存储单元。它在数据库中的概念类似于操作系统中文件的概念,不同的是每个表空间可以由一个或多个数据文件构成。 

• Oracle回滚段:Oracle用回滚段来保存用户已经修改但没有递交的信息。回滚段中的信息可以用来将没递交的信息进行回退,同时也可以保证用户视图的读一致性。 

• Oracle检查点:Oracle将内存中所有已经修改但没有写入数据文件的信息集中写入的过程叫做检查点,checkpoint。 

• Oracle的归档和非归档模式:Oracle在归档模式下时只有当一个在线日志已经归档结束后才能被Oracle实例重新写入。非归档模式下在线日志不用归档完成就可以被Oracle实例重新写入。 

• Cron:Unix操作系统的一个进程,它可以定时执行一些脚本。

• ORACLE_BASE:安装所有管理脚本和其他与oracle相关的文件的基本目录。

• ORACLE_HOME:安装所有oracle软件的位置。

• ORACLE_SID:oracle实例名。

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监听进程的状态。 

文档

系统日常维护指导手册-超详细

系统日常维护指导手册1、目的网e通宽带网络运营支撑系统使用的服务器中,服务器均采用redhatlinuxas4操作系统,数据库版本为:oracle10g,随着业务的开展,oracle数据库中存储的数据量也不断增大,这样操作系统和数据库的日常维护就显得十分重要。本手册详细描述了程序模块,linux操作系统,DHCP双机热备、负载平衡及oracle数据库等日常检查的主要步骤,指导现场工程师对其进行监控和维护。2、适用范围使用者为网e通宽带网络运营支撑系统维护工程师3、服务器及数据库概述3.1服务器
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top