Oracle数据库一样平常维护手册1

 泉源:天极网




在Oracle数据库运转时期,DBA应该对数据库的运转日志及表空间的行斗气候中断监控,趁早发明数据库中存在的题目。

一、Oracle正告日志文件监控

Oracle在运转进程中,会在正告日志文件(alert_SID.log)中纪录数据库的一些运转气候:

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

●数据库的重做日志切换气候,纪录每次切换的功夫,及如果由于反省点(checkpoint)操纵没有实行完成形成不能切换,会纪录不能切换的缘由;

●对数据库中断的某些操纵,如树立或删除表空间、增加数据文件;

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

DBA应该活期反省日志文件,凭证日志中发明的题目实时中断措置惩罚

题目措置惩罚

启动参数过失反省初始化参数文件

由于反省点操纵或归档操纵没有完成形成重做日志不能切换如果常常爆发何等的气候,可以思量增加重做日志文件组;想法主见子提高反省点或归档操纵的依从;

有人未担当权删除了表空间反省数据库的宁静题目,能否密码太大略;若有需要,除去某些用户的系统权限

出现坏块反省能否是硬件题目(如磁盘本生有坏块),如果不是,反省是阿谁数据库东西出现了坏块,对这个东西中断重建

表空间不够增加数据文件到呼应的表空间

出现ORA-600凭证日志文件的内容检查呼应的TRC文件,如果是Oracle的bug,要实时打上呼应的补丁

二、数据库表空间行斗气候监控(字典经管表空间)

数据库运转了一段功夫后,由于不时的在表空间上树立和删除东西,会在表空间上孕育发生少量的碎片,DBA应该实时了解表空间的碎片和可用空间气候,以决意能否要对碎片中断摒挡整顿或为表空间增加数据文件。

select tablespace_name,
count(*) chunks ,
max(bytes/1024/1024) max_chunk
from dba_free_space
group by tablespace_name;

下面的SQL列出了数据库中每个表空间的空闲块气候,如下所示:

TABLESPACE_NAME CHUNKS MAX_CHUNK
-------------------- ---------- ----------
INDX 1 57.9921875
RBS 3 490.992188
RMAN_TS 1 16.515625
SYSTEM 1 207.296875
TEMP 20 70.8046875
TOOLS 1 11.8359375
USERS 67 71.3671875

其中,CHUNKS列浮现表空间中有几答应用的空闲块(每个空闲块是由一些连气儿的Oracle数据块构成),如果何等的空闲块过多,比如均匀到每个数据文件上凌驾了100个,那么该表空间的碎片环境就比拟重要了,可以考试考试用以下的SQL敕令中断表空间相邻碎片的接合:

alter tablespace 表空间名 coalesce;

然后再实行检查表空间碎片的SQL语句,看表空间的碎片有没有削减。如果没无成效,而且表空间的碎片曾经重要影响到了数据库的运转,则思量对该表空间中断重建。

MAX_CHUNK列的成效是表空间上最大的可用块大小,如果该表空间上的东西所需分拨的空间(NEXT值)大于可用块的大小的话,就会提醒ORA-1652、ORA-1653、ORA-1654的错误信息,DBA应该实时对表空间的空间中断扩展,以压抑这些错误爆发。

对表空间的扩展对表空间的数据文件大小中断扩展,或向表空间增加数据文件,细致操纵见“存储经管”部份。

三、检查数据库的连接气候

DBA要准时对数据库的连接气候中断反省,看与数据库树立的会话数量是不是正常,如果树立了过多的连接,会斲丧数据库的资源。同时,对一些“挂逝世”的连接,可以会需要DBA手工中断清算。

以下的SQL语句列出以后数据库树立的会话气候:

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

输入成效为:

SID SERIAL# USERNAME PROGRAM MACHINE STATUS
---- ------- ---------- ----------- --------------- --------
1 1 ORACLE.EXE WORK3 ACTIVE
2 1 ORACLE.EXE WORK3 ACTIVE
3 1 ORACLE.EXE WORK3 ACTIVE
4 1 ORACLE.EXE WORK3 ACTIVE
5 3 ORACLE.EXE WORK3 ACTIVE
6 1 ORACLE.EXE WORK3 ACTIVE
7 1 ORACLE.EXE WORK3 ACTIVE
8 27 SYS SQLPLUS.EXE WORKGROUPWORK3 ACTIVE
11 5 DBSNMP dbsnmp.exe WORKGROUPWORK3 INACTIVE
其中,

SID 会话(session)的ID号;

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

USERNAME 树立该会话的用户名;

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

STATUS 以后这个会话的状况,ACTIVE浮现会话正在实行某些任务,INACTIVE浮现以后会话没有实行任何操纵;

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

alter system kill session 'SID,SERIAL#';

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

四、控制文件的备份

在数据库机关爆发厘革时,如增加了表空间,增加了数据文件或重做日志文件这些操纵,都会形成Oracle数据库控制文件的厘革,DBA应及中断控制文件的备份,备份体式名目是:

实行SQL语句:

alter database
backup controlfile to '/home/backup/control.bak';
或:

alter database
backup controlfile to trace;
何等,会在USER_DUMP_DEST(初始化参数文件中指定)目次下生成树立控制文件的SQL敕令。

五、反省数据库文件的状况

DBA要实时检查数据库中数据文件的状况(如被误删除),凭证理论气候决意若何中断措置惩罚,反省数据文件的状况的SQL如下:

select file_name,status
from dba_data_files;

如果数据文件的STATUS列不是AVAILABLE,那么就要接纳呼应的办法,如对该数据文件中断恢复操纵,或重建该数据文件地点的表空间。




版权声明: 原创作品,答应转载,转载时请务必以超链接体例标明文章 原始理由 、作者信息和本声明。不然将究查轨则责任。

原文地址:https://www.cnblogs.com/zgqjymx/p/1976073.html