ORACLE数据库日常维护手册

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
ORACLE数据库日常维护手册
前言 (2)
2 ORACLE数据库每天应检查的项目 (2)
2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5 2.6 2.7 2.7.1 2.7.2 2.7.3 2.8 2.8.1 2.8.2 2.9 2.9.1 2.9.2 2.9.3 2.9.4数据库基本状况检查 (2)
检查Oracle的进程 (2)
检查Oracle监听进程 (3)
检查Oracle实例状态 (4)
检查归档情况 (4)
数据库日志文件检查 (4)
检查Oracle日志文件 (4)
检查Oracle核心转储目录 (5)
数据库对象状态检查 (5)
检查Oracle控制文件状态 (5)
检查Oracle在线日志状态 (6)
检查Oracle表空间的状态 (6)
检查Oracle所有数据文件状态 (6)
检查Oracle所有表、索引、存储过程、触发器、包等对象的状态 (7)
数据库资源使用情况检查 (7)
检查Oracle初始化文件中相关的参数值 (7)
检查Oracle各个表空间的增长情况 (8)
检查一些扩展异常的对象 (9)
检查system 表空间内的内容 (9)
检查对象的下一扩展与表空间的最大扩展值 (9)
数据库表空间使用情况监控 (10)
检查数据库定时作业的完成情况 (11)
数据库坏块的处理 (11)
数据库备份情况检查 (12)
检查备份软件的日志 (12)
检查数据库归档日志 (12)
控制文件的备份 (12)
数据库连接情况检查 (12)
检查数据库连接 (12)
检查数据库会话 (12)
操作系统相关检查 (13)
检查空间使用情况 (13)
检查网络状况 (13)
检查内存使用情况 (13)
检查磁盘I/O 瓶颈 (14)
3 ORACLE数据库每周应检查的项目 (14)
3.1 3.2查看是否有危害到安全策略的问题 (14)
查看的网络日志 (14)
3.3 3.4将所有的警告日志存档 (14)
查看ORACLE相关的网站,获取最新信息 (14)
4 ORACLE数据库每月应检查的项目 (15)
4.1 4.2 4.3查看对数据库会产生危害的增长速度 (15)
查看数据库调整产生的影响 (15)
查看I/O 的屏颈问题 (15)
5附: (17)
5.1 5.2 5.3 5.4启动数据库 (17)
关闭数据库 (17)
启动监听 (18)
关闭监听 (19)
1 前言
数据库系统往往是企业或组织信息系统中最重要的基础架构,一旦数据库系统不能正常运行,那基于数据库的整个信息架构都会随之瘫痪,因此我们必须保证数据库系统持续的健康的运行。

因此数据库管理员必须每天对数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决可能存在的问题,将隐患消除在萌芽中。

本文列举了ORACLE数据库管理员每天,每周和每月应该检查的一些东西,希望对DBA有些帮助。

注:所有示例可能与客户的实际系统不尽相同。

2 ORACLE数据库每天应检查的项目
2.1 数据库基本状况检查
2.1.1 检查Oracle的进程
$ps –ef|grep“ora_”|grep–v grep
oracle 6586 1 0 May15? 0:00 ora_pmon_ORCL
oracle 6598 1 0 May15? 0:00 ora_snp0_ORCL
oracle 6600 1 0 May15? 0:00 ora_snp1_ORCL
oracle 6594 1 0 May15? 0:06 ora_smon_ORCL
oracle 6604 1 0 May15? 0:00 ora_snp3_ORCL
oracle 6588 1 0 May15? 6:50 ora_dbw0_ORCL
oracle 6590 1 0 May15? 37:48 ora_lgwr_ORCL
oracle 6602 1 0 May15? 0:00 ora_snp2_ORCL
oracle 6606 1 0 May15? 5:19 ora_arc0_ORCL
oracle 6592 1 0 May15? 0:45 ora_ckpt_ORCL
oracle 6596 1 0 May15? 0:01 ora_reco_ORCL
…….
在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:
Oracle写数据文件的进程,输出显示为:ora_dbw0_ORCL。

Oracle写日志文件的进程,输出显示为:ora_lgwr_ORCL。

Oracle监听实例状态的进程,输出显示为:ora_smon_ORCL。

Oracle进行检查点的进程,输出显示为:ora_ckpt_ORCL。

注:进程的后缀ORCL 是指数据库的实例名,以上仅是示例,与客户系统可能不尽相同。

2.1.2 检查Oracle监听进程
$lsnrctl status
LSNRCTL for Solaris: Version9.2.0.4.0 - Production on23-MAY-2005 13:12:09
(c)Copyright2002 Oracle Corporation. All rights reserved.
Connecting to
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ipasdb)(PORT=1521))) STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris:Version9.2.0.4.0 - Production
Start Date 15-MAY-2005 22:05:58
Uptime 7days15hr. 6 min.11sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File
/opt/oracle/db01/app/oracle/product/920/network/
admin/listener.ora
Listener Log File
/opt/oracle/db01/app/oracle/product/920/network/
log/listener.log
Services Summary...
ORCL has1service handler(s)
注:以上仅是示例,与客户系统可能不尽相同。

2.1.3 检查Oracle实例状态
$sqlplus system/manager
sql>select instance_name,version,status,database_status from v$instance;
INSTANCE_NAME VERSION STATUS DATABASE_STATUS
---------------- ------------------------ -----------------
ORCL 9.2.0.4.0 OPEN ACTIVE
其中STATUS表示Oracle当前的实例状态,必须为OPEN;DATABASE_STATUS表示Oracle当前数据库的状态,必须为ACTIVE。

sql>select name,log_mode,open_mode from v$database;
NAME LOG_MODE OPEN_MODE
--------- ------------ ----------
ORCL ARCHIVELOG READ WRITE
2.1.4 检查归档情况
SQL>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination/opt/oracle/arch/ORCL
Oldest online log sequence 1
Next log sequence to archive 2
Current log sequence 2
Automatic archival=Enabled 表示归档进行是否自动启动
其中LOG_MODE表示Oracle当前的归档方式。

ARCHIVELOG表示数据库运行在归
档模式下,NOARCHIVELOG表示数据库运行在非归档模式下。

2.2 数据库日志文件检查
2.2.1 检查Oracle日志文件
$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i ora-
$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i err
$cat $ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log|grep -i fail
Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:➢ 数据库的启动、关闭,启动时的非缺省参数;
➢ 数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;
➢➢对数据库进行的某些操作,如创建或删除表空间、增加数据文件;
数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)
DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理
问题处理:
➢启动参数不对检查初始化参数文件
➢因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;
➢有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限
➢出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建
➢表空间不够增加数据文件到相应的表空间
➢出现ORA-600 根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁
2.2.2 检查Oracle核心转储目录
$ls $ORACLE_BASE/admin/ORCL/cdump/*.trc|wc-l
$ls $ORACLE_BASE/admin/ORCL/udump/*.trc|wc–l
如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心转储。

这说明某些用户进程或者数据库后台进程由于无法处理的原因而异常退出。

频繁的核心转储特别是数据库后台进程的核心转储会导致数据库异常终止。

2.3 数据库对象状态检查
2.3.1 检查Oracle控制文件状态
sql>select* from v$controlfile;
STATUS NAME
--------------------------------------------------------
/opt/oracle/db02/oradata/ORCL/control01.ctl
/opt/oracle/db03/oradata/ORCL/control02.ctl
/opt/oracle/db04/oradata/ORCL/control03.ctl
2.3.2 检查Oracle在线日志状态
sql>select* from v$logfile;
GROUP# STATUS MEMBER
---------------- ----------------- -------------
1ONLINE /opt/oracle/db02/oradata/ORCL/redo01.log
2ONLINE /opt/oracle/db03/oradata/ORCL/redo02.log
3ONLINE /opt/oracle/db04/oradata/ORCL/redo03.log
输出结果应该有3条以上(包含3条)记录,STATUS应该为非INVALID,非DELETED。

注:STATUS显示为空表示正常。

2.3.3 检查Oracle表空间的状态
sql>select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
TOOLS ONLINE
RBS ONLINE
TEMP ONLINE
USERS ONLINE
INDX ONLINE
DRSYS ONLINE
其中STATUS应该都为ONLINE
2.3.4 检查Oracle所有数据文件状态
sql>select name,status from v$datafile;
NAME STATUS
--------------------------------------------------- -----------
/opt/oracle/db02/oradata/ORCL/system01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/tools01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/rbs01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/temp01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/users01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/indx01.dbf ONLINE
/opt/oracle/db02/oradata/ORCL/drsys01.dbf ONLINE
/opt/oracle/wacos/oradata/ORCL/wacos01.dbf ONLINE
/opt/oracle/nms/oradata/ORCL/data01.dbf ONLINE
输出结果中STATUS应该都为ONLINE。

2.3.5 检查Oracle所有表、索引、存储过程、触发器、包等
对象的状态
sql>select owner,object_name,object_type from dba_objects where status!='VALID'
and owner!='SYS'and owner!='SYSTEM';
no rows selected
如果有记录返回,则说明存在无效的对象。

如果应用相关的对象。

请首先以sys用户登录sqlplus,执行$ORACLE_HOME/rdbms/admin/utlrp.sql来重新编译这些对象。

编译后
再执行上述语句来检查,如果仍有输出,请寻求技术支持。

2.4 数据库资源使用情况检查
2.4.1 检查Oracle初始化文件中相关的参数值
SQL>select resource_name,max_utilization,initial_allocation,limit_value from v$resource_limit;
RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE ---------------------- --------------- -------------------- --------------------
processes 11 150 150
sessions 11 170 170
enqueue_locks 14 2230 2230
enqueue_resources 10 968 UNLIMITED
ges_procs 0 0 0
ges_ress 0 0 UNLIMITED
ges_locks 0 0 UNLIMITED
ges_cache_ress 0 0 UNLIMITED
ges_reg_msgs 0 0 UNLIMITED
ges_big_msgs 0 0 UNLIMITED
ges_rsv_msgs 0 0 0
RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCATION LIMIT_VALUE
------------------------------------- -------------------- --------------------
gcs_resources 0 3300 3300
gcs_shadows 0 3300 3300
dml_locks 3 748 UNLIMITED temporary_table_locks 0 UNLIMITED UNLIMITED transactions 4 187 UNLIMITED
branches 0 187 UNLIMITED cmtcallbk 0 187 UNLIMITED
sort_segment_locks 1 UNLIMITED UNLIMITED
max_rollback_segments 11 38 38
max_shared_servers 0 20 20
parallel_max_servers 0 6 6
若LIMIT_VALU-MAX_UTILIZATION<=5,则表明与RESOURCE_NAME 相关的Oracle初始化参数需要调整。

修改$ORACLE_BASE/admin/ORCL/pfile/initORCL.ora来修改初始化参数。

有些初始化参数修改后需要重新启动数据库后才会生效。

对于初始化文件中每个参数的意义请参照参考ORACLE联机文档。

2.4.2 检查Oracle各个表空间的增长情况
sql>select A.tablespace_name,(1-(A.total)/B.total)*100used_percent from
(select tablespace_name,sum(bytes)total
from dba_free_space group by tablespace_name)A,
(select tablespace_name,sum(bytes)total
from dba_data_files group by tablespace_name)B
where A.tablespace_name=B.tablespace_name;
TABLESPACE_NAME USED_PERCENT
------------------------------ ------------
DRSYS 30.7578125
FS .19375
INDX .00390625
Data01 .0375
SYSTEM 34.265625
TEMP 2.71972656
T T T T T.00390625
U U U U U.608473558
1、如果使用率USED_PERCENT在90%以上,则注意要增加数据文件来扩展表空间而不要是用数据文件的自动扩展功能。

2、请不要对表空间增加过多的数据文件,增加数据文件的原则是每个数据
文件大小为2G,自动扩展的最大限制在4G;
3、增加数据文件后,请检查热备脚本,是否会包含新增的数据文件;
2.4.3 检查一些扩展异常的对象
sql>select Segment_Name,Segment_Type,TableSpace_Name,
(Extents/Max_extents)*100Percent
From sys.DBA_Segments
Where Max_Extents!=0and(Extents/Max_extents)*100>=95
order By Percent;
no rows selected
如果有记录返回,则这些对象的扩展已经快达到它定义时的最大扩展值。

对于这些对象要修改它的存储结构参数。

2.4.4 检查system表空间内的内容
sql>select distinct(owner) from dba_tables
where tablespace_name='SYSTEM'and
owner!='SYS'and owner!='SYSTEM'
union
select distinct(owner)from dba_indexes
where tablespace_name='SYSTEM'and
owner!='SYS'and owner!='SYSTEM';
no rows selected
如果记录返回,则表明system表空间内存在一些非system和sys用户的对象。

请把这些对象移到非System表空间,同时应该检查这些对象属主的缺省表空间值。

2.4.5 检查对象的下一扩展与表空间的最大扩展值
sql>select a.table_name,a.next_extent,a.tablespace_name
from all_tables a,
(select tablespace_name,max(bytes)as big_chunk
from dba_free_space
group by tablespace_name)f
where f.tablespace_name=a.tablespace_name
and a.next_extent> f.big_chunk
union
select a.index_name,a.next_extent,a.tablespace_name
from all_indexes a,
(select tablespace_name,max(bytes)as big_chunk
from dba_free_space
group by tablespace_name)f
where f.tablespace_name=a.tablespace_name
and a.next_extent> f.big_chunk;
no rows selected
如果有记录返回,则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展
值,需调整相应表空间的存储参数
2.4.6 数据库表空间使用情况监控
数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,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 157.9921875
RBS 3490.992188
RMAN_TS116.515625
SYSTEM1207.296875
TEMP2070.8046875
TTTTT1 11.8359375
UUUUU67 71.3671875
其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle 数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,可以尝试用以下的SQL命令进行表空间相邻碎片的接合:alter tablespace 表空间名coalesce;
然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。

如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。

MAX_CHUNK列的结果是表空间上最大的可用块大小,如果该表空间上的对象所需分配的
空间(NEXT值)大于可用块的大小的话,就会提示ORA-1652、ORA-1653、ORA-1654的错误信息,DBA应该及时对表空间的空间进行扩充,以避免这些错误发生。

对表空间的扩充对表空间的数据文件大小进行扩展,或向表空间增加数据文件,具体操作
见“存储管理”部份。

2.5 检查数据库定时作业的完成情况a
如果数据库使用了Oracle的JOB来完成一些定时作业,要对这些JOB的运行情况进行检查:select job,log_user,last_date,failures from dba_jobs;
如果FAILURES列是一个大于0的数的话,说明JOB运行失败,要进一步的检查。

2.6 数据库坏块的处理
当Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息:
ORA-01578:ORACLE data block corrupted(file#7,block# <BLOCK>)
ORA-01110:data file <AFN>:'/oracle1/oradata/V920/oradata/V816/users01.dbf'
其中,<AFN>代表坏块所在数据文件的绝对文件号,<BLOCK>代表坏块是数据文件上的第几个数据块。

出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。

在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。

1.确定发生坏块的数据库对象
SELECT tablespace_name,segment_type,owner,segment_name
FROM dba_extents
WHERE file_id=<AFN>
AND <BLOCK>between block_id AND block_id+blocks-1;
2.决定修复方法
如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进
行重建;
如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP
掉后重建;
如果有数据库的备份,则恢复数据库的方法来进行修复;
如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块
上的记录取出来,然后对这个表进行重建。

3.用Oracle提供的DBMS_REPAIR包标记出坏块
exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS('<schema>','<tablename>');
4.使用Create table as select命令将表中其它块上的记录保存到另一张表上
create table corrupt_table_bak
as
select *from corrupt_table;
5.用DROP TABLE命令删除有坏块的表
drop table corrupt_table;
6.用alter table rename命令恢复原来的表
alter table corrupt_table_bak
rename to corrupt_table;
7.如果表上存在索引,则要重建表上的索引
2.7 数据库备份情况检查
2.7.1 检查备份软件的日志
如果采用了第三方的备份软件,如:verytas,HP Ominback 等,备份过程中都会有日志,查看备份软件的日志,若有错误报告,判断错误类型,然后分别检查备份软件与ORACLE数据库。

2.7.2 检查数据库归档日志
所有的归档日志都应是当天产生的,如果存在更早的归档日志,则说明前次的备份有问题。

如果归档目录所在卷已满会导致数据库挂起。

2.7.3 控制文件的备份
在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文件这些操作,都会造成Oracle数据库控制文件的变化,DBA应及进行控制文件的备份,备份方法是:执行SQL语句:
alter database backup controlfile to '/home/backup/control.bak';
或:
alter database backup controlfile to trace;
这样会在USER_DUMP_DEST(初始化参数文件中指定)目录下生成创建控制文件的脚本。

2.8 数据库连接情况检查
2.8.1 检查数据库连接
在客户端用字符串方式连接数据库,测试网络连接
SQL>connect username/password@string
Connected
2.8.2 检查数据库会话
DBA要定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。

同时,对一些“挂死”的连接,可能会需要DBA 手工进行清理。

以下的SQL语句列出当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
输出结果为:
SID SERIAL#USERNAME PROGRAM MACHINE STATUS
---- ------- ---------- ----------- --------------- --------
1 1ORACLE.EXE WORK3 ACTIVE
2 1ORACLE.EXE WORK
3 ACTIVE
3 1ORACLE.EXE WORK3 ACTIVE
4 1ORACLE.EXE WORK3 ACTIVE
5 3ORACLE.EXE WORK3 ACTIVE
6 1ORACLE.EXE WORK3 ACTIVE
7 1ORACLE.EXE WORK3 ACTIVE
8 27SYS SQLPLUS.EXE WORKGROUP\WORK3 ACTIVE
11 5DBSNMP dbsnmp.exe WORKGROUP\WORK3 INACTIVE
其中,
SID 会话(session)的ID号;
SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话;
USERNAME 建立该会话的用户名;
PROGRAM 这个会话是用什么工具连接到数据库的;
STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前
会话没有执行任何操作;
如果DBA要手工断开某个会话,则执行:
alter system kill session'SID,SERIAL#';
注意,上例中SID为1到7(USERNAME列为空)的会话,是Oracle的后台进程,不要对这
些会话进行任何操作。

2.9 操作系统相关检查
2.9.1 检查空间使用情况
检查各挂载点的空间使用情况,特别是ORACLE相关的,如:ORACLE软件挂载点,数据库挂载点及归档日志挂载点,如果这些挂载点的使用率达到90%以上,就要考虑增加这些文件系统的大小。

#df -k
2.9.2 检查网络状况
检查用于ORACLE数据库连接的IP是否正常。

#ifconfig -a
2.9.3 检查内存使用情况
#vmstat510
查看是否有持续高数值的po和sr,若有说明系统内存分配有问题,请寻求技术支持。

注:高数值按经验数量级不应该超过10的三次方,但是不能一概而论,需与系统平衡运行时相
比较。

2.9.4 检查磁盘I/O瓶颈
#sar–d52
检查是否有异常高的%busy 和avque,若有说明系统出现了磁盘I/O 瓶颈,请寻求技术支持。

注:异常高是指与系统稳定运行后的数值相比较。

3 ORACLE数据库每周应检查的项目3.1 查看是否有危害到安全策略的问题
根据本系统的安全策略,查看本周是否有违反安全策略的事件,如:
➢系统用户或数据库用户是否用了默认的口令;
➢sys 或system用户的口令是否太短;
➢口令与用户名一致;
➢系统没有安装最新补丁
以上只是列举部分,具体要根据本系统的安全策略而定
3.2 查看的网络日志
查看listener.log 与sqlnet.log,是否有报错信息
$cat$ORACLE_HOME/network/log/listener.log
$cat$ORACLE_HOME/network/log/sqlnet.log
3.3 将所有的警告日志存档
包括
$ORACLE_BASE/admin/ORCL/bdump/alert_ORCL.log,
$ORACLE_BASE/admin/ORCL/bdump/*.trc,
$ORACLE_BASE/admin/ORCL/cdump/*.trc
$ORACLE_HOME/network/log/listener.log
$ORACLE_HOME/network/log/sqlnet.log
3.4 查看ORACLE相关的网站,获取最新信息
➢➢➢

4 ORACLE数据库每月应检查的项目
4.1 查看对数据库会产生危害的增长速度
回顾一个月的对数据库资源使用情况的检查,对比前几个月的情况,总结哪些对象有异常增长,判断是否会对数据库产生危害。

4.2 查看数据库调整产生的影响
回顾ORACLE数据库的调整点,对比调整前后数据库的表现,来确定数据库的发展趋势。

4.3 查看I/O的屏颈问题
回顾每天检查的磁盘I/O 瓶颈,总结数据库文件的活动性,比较以前的输出来判断有可能
导致屏颈问题的趋势。

5 附:
5.1 启动数据库
# su - oracle
$ sqlplus/nolog
SQL*Plus:Release9.2.0.4.0- Production on Thu Jun2914:05:542006 Copyright (c) 1982,2002,Oracle Corporation. All rights reserved.
SQL>conn/as sysdba
Connected to an idle instance.
SQL>startup
ORACLE instance started.
Total System Global Area1377274736 bytes
Fixed Size744304 bytes
Variable Size 536870912bytes
Database Buffers 838860800bytes
Redo Buffers 798720bytes
Database mounted.
Database opened.
5.2 关闭数据库
# su - oracle
$ sqlplus/nolog
SQL*Plus:Release9.2.0.4.0- Production on Thu Jun2914:03:402006 Copyright (c) 1982,2002,Oracle Corporation. All rights reserved.
SQL>conn/as sysdba
Connected.
SQL>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
5.3 启动监听
# su - oracle
$ lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.4.0 - Production on 29-JUN-2006 14:07:07
Copyright (c) 1991,2002,Oracle Corporation. All rights reserved.
Starting/oracle/app/oracle/product/9.2.0/bin/tnslsnr: please wait...
TNSLSNR for IBM/AIX RISC System/6000:Version9.2.0.4.0-Production
System parameter file is /oracle/app/oracle/product/9.2.0/network/admin/listener.ora
Log messages written to/oracle/app/oracle/product/9.2.0/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=YNYHdba)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for IBM/AIX RISC System/6000: Version 9.2.0.4.0 -Production
Start Date 29-JUN-200614:07:07
Uptime 0 days0hr.0min.0sec
Trace Level off
Security OFF
SNMP ON
Listener Parameter File/oracle/app/oracle/product/9.2.0/network/admin/listener.ora
Listener Log File /oracle/app/oracle/product/9.2.0/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=YNYHdba)(PORT=1521))) Services Summary...
Service"PLSExtProc"has 1 instance(s).
Instance"PLSExtProc",status UNKNOWN,has 1 handler(s)for this service... Service"orcl"has1instance(s).
Instance"orcl", status UNKNOWN,has1handler(s)for this service...
The command completed successfully
5.4 关闭监听
# su - oracle
$ lsnrctl stop
LSNRCTL for IBM/AIX RISC System/6000: Version 9.2.0.4.0 - Production on 29-JUN-2006 14:07:38
Copyright (c) 1991,2002,Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
The command completed successfully。

相关文档
最新文档