oracle数据库巡检内容
- 格式:docx
- 大小:53.64 KB
- 文档页数:56
oracle 日常维护工作内容(1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。
(2). 每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。
====================每天工作====================1.(1).确认所有的INSTANCE状态正常.登陆到所有数据库或例程,检测ORACLE后台进程:$ps –-ef|grep ora(2). 检查文件系统的使用(剩余空间)。
如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
对于业务交易生产系统和数据库日志归档目录,当空间不足,请急时清理.$df -h(3). 检查日志文件和trace文件记录alert和trace文件中的错误.连接到数据库服务器cd 到bdump目录,通常是$ORACLE_BASE/admin/<SID>/bdump‘tail’命令来查看alert_<SID>.log文件如果发现任何新的ORA- 错误,记录并解决(4). 检查数据文件的状态记录状态不是“online”的数据文件,并做恢复。
Select file_name from dba_data_files where status=’OFFLINE’(5). 检查表空间的使用情况SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_nameFROM dba_free_spaceGROUP BY tablespace_name;SELECT a.tablespace_name,a.bytes total,b.bytes used,c.bytes free,(b.bytes * 100) / a.bytes "% USED ",(c.bytes * 100) / a.bytes "% FREE "FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free cWHERE a.tablespace_name = b.tablespace_nameAND a.tablespace_name = c.tablespace_name;(6). 检查剩余表空间SELECT tablespace_name, SUM (blocks) AS free_blk,TRUNC (SUM (BYTES) / (1024 * 1024)) AS free_m,MAX (BYTES) / (1024) AS big_chunk_k, COUNT (*) AS num_chunks FROM dba_free_spaceGROUP BY tablespace_name;(7). 检查数据库性能,记录数据库的cpu使用、IO、buffer命中率等等使用vmstat,iostat,glance,top等命令====================每周工作====================(1). 监控数据库对象的空间扩展情况根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施alter tablespace 表空间名add datafile '/u1/oradata/userdata_002.ora' size *m;(2). 检查无效的数据库对象SELECT owner, object_name, object_typeFROM dba_objectsWHERE status = 'invalid';(3). 检查不起作用的约束SELECT owner, constraint_name, table_name, constraint_type, statusFROM dba_constraintsWHERE status = 'DISABLED' AND constraint_type = 'P' ;(4). 检查无效的triggerSELECT owner, trigger_name, table_name, statusFROM dba_triggersWHERE status = 'DISABLED';====================每月的工作====================(1). 检查表空间碎片根据本月每周的检查分析数据库碎片情况,找到相应的解决方法(2). 寻找数据库性能调整的机会比较每天对数据库性能的监控报告,确定是否有必要对数据库性能进行调整(3). 数据库性能调整如有必要,进行性能调整(4). 提出下一步空间管理计划根据每周的监控,提出空间管理的改进方法============================================================================|| ★★★Oracle DBA 日常管理★★★||============================================================================目的:这篇文档有很详细的资料记录着对一个甚至更多的ORACLE 数据库每天的,每月的,每年的运行的状态的结果及检查的结果,在文档的附录中你将会看到所有检查,修改的SQL和PL/SQL 代码。
Oracle巡检内容1. Oracle进程检查Ps –ef |grep ora2. CRS进程检查$ps –df |grep d.bin应有:crsd.bin ocssd.bin evmd.bincrsctl check crscrs_stat –tcrs_stat –lsasm进程检查:ps –ef|grep asmORACLE_SID=+ASM1select group_number,name,state,total_mb,free_mb from v$asm_diskgroup;select * from v$asm_disk;检查数据库状态:srvctl status database –d dbname3. Oracle数据库实例状态检查SELECT inst_id, instance_name, host_name, VERSION, TO_CHAR(startup_time, 'yyyy-mm-dd hh24:mi:ss') startup_time, status, archiver,database_status FROM gv$instance;4. Oracle数据库打开状态检查SELECT inst_id, dbid, NAME, TO_CHAR (created, 'yyyy-mm-dd hh24:mi:ss') created, log_mode, TO_CHAR (version_time, 'yyyy-mm-dd hh24:mi:ss') version_time,open_modeFROM gv$database;5. 数据库表空间使用情况检查;5.1 表空间的空间使用情况SELECT df.tablespace_name, COUNT (*) datafile_count,ROUND (SUM (df.BYTES) / 1048576) size_mb,ROUND (SUM (free.BYTES) / 1048576, 2) free_mb,ROUND (SUM (df.BYTES) / 1048576 - SUM (free.BYTES) / 1048576, 2 ) used_mb,ROUND (MAX (free.maxbytes) / 1048576, 2) maxfree,100 - ROUND (100.0 * SUM (free.BYTES) / SUM (df.BYTES), 2) pct_used, ROUND (100.0 * SUM (free.BYTES) / SUM (df.BYTES), 2) pct_freeFROM dba_data_files df,(SELECT tablespace_name, file_id, SUM (BYTES) BYTES, MAX (BYTES) maxbytes FROM dba_free_space GROUP BY tablespace_name, file_id) free WHERE df.tablespace_name = free.tablespace_name(+) AND df.file_id =free.file_id(+)GROUP BY df.tablespace_name ORDER BY 8;5.2 表空间可用性检查select tablespace_name,status from dba_tablespaces;5.3 临时表空间使用情况和性能检查SELECT tablespace_name, extent_management, block_size, initial_extent,next_extent, min_extents, max_extents, pct_increase FROM dba_tablespaces WHERE CONTENTS = 'TEMPORARY';SELECT username, default_tablespace, temporary_tablespace FROM dba_users;期望结果:根据现场实际情况,应用用户的缺省表空间不能为system,临时表空间必须为temp。
oracle日常巡检内容Oracle日常巡检内容1. 数据库配置检查•确认数据库参数设置是否合理•检查数据库和实例的名称及归属•检查数据库初始化参数是否按照最佳实践进行了配置2. 存储检查•检查表空间的使用情况,确保没有存储空间不足的情况出现•检查数据库文件的大小和增长情况,是否需要进行调整•检查redo日志文件的大小和数量,是否满足数据库的需求3. 逻辑结构检查•检查表、索引及其关联的约束是否正常•检查视图、存储过程、函数和触发器的状态和有效性•检查数据库对象的权限和所有权是否正确4. 数据完整性检查•检查数据表的行完整性,是否存在脏数据或冗余数据•检查约束的有效性和唯一性,是否存在违反约束的数据5. 性能检查•检查数据库的运行性能,包括CPU利用率、内存使用和磁盘I/O 等指标•检查SQL的执行计划,优化可能存在的性能瓶颈•检查数据库连接数和会话数,是否超过系统的承载能力6. 安全性检查•检查用户权限,确保每个用户的权限不超过其所需•检查密码策略和账号锁定设置,防范未授权访问和暴力破解•检查数据库日志和审计功能的开启情况,以跟踪和监控潜在的安全风险7. 备份和恢复检查•检查数据库的备份策略是否合理,并进行备份的可行性验证•检查恢复策略和操作步骤,确认数据库故障时的可靠性和可恢复性•检查归档日志的生成和转储情况,确保数据库的连续性和完整性8. 资源利用检查•检查数据库的资源利用情况,包括SGA和PGA的大小及利用率•检查数据文件、临时文件和日志文件的大小和利用率•检查并发和批处理作业,以保障系统资源的合理分配与利用以上是Oracle日常巡检的一些常见内容,通过对数据库配置、存储、逻辑结构、数据完整性、性能、安全性、备份恢复和资源利用等方面的检查,可以确保数据库的稳定性、安全性和可靠性。
巡检内容的具体细节可以根据实际需求进行适当调整和补充。
9. 日志监控•检查数据库日志文件的大小和增长情况,是否超过了预设阈值•检查日志文件的生成和转储是否正常,确保日志的连续性和完整性•监控错误日志和警告日志,及时发现并解决潜在的问题10. 定期维护•执行定期维护任务,例如统计表和索引的信息,更新数据库统计信息•定期收集和分析数据库性能指标,并作出相应的调整和优化•检查数据库软件及补丁的更新情况,确保数据库系统的安全和稳定11. 连接和会话管理•检查数据库连接数和会话数的变化趋势,确保系统的可用性和稳定性•监控长时间运行的会话和阻塞会话,及时解决可能的问题•检查连接和会话的权限和资源限制,防止滥用和资源浪费12. 监控和告警•设置数据库的监控和告警机制,及时发现和解决潜在的问题•监控数据库的系统资源利用率,预测和避免系统性能下降•监控数据库对象的变化和异常操作,保障数据的安全性和完整性13. 灾备和容灾•检查灾备和容灾系统的配置和状态,确保备份和恢复的可靠性•定期测试灾备和容灾方案的可行性,并进行必要的调整和优化•监控主备数据库之间的数据同步情况,保证数据的一致性和可用性14. 文档和记录•维护数据库巡检的文档和记录,包括巡检日期、巡检内容和发现的问题•归档和备份巡检记录,以便日后的审查和比对•根据巡检结果制定和执行相应的改进措施,持续优化数据库的运行和管理巡检内容的详细执行方法和频率将根据数据库的特定需求和环境进行调整和规划。
1 日常巡检1.1 数据库巡检为了保证oracle数据库稳定,高效的运行,每个季度初需要对oracle数据库进行健康检查。
以确定数据库是否存在故障及性能问题。
对于异常状况,上报,进一步诊断、分析,及时解决。
巡检工作包括以下细则:●ALERT文件(alertSID.log)是否出现错误信息●top10等待事件●数据库大小●表空间使用情况●内存配置●三个Top10 SQL●内存命中率●归档方式及备份情况1.1.1 巡检脚本1.1.1.1 AlertSID.log文件位置:1.1.1.2 归档方式及备份情况(1)查看是否为归档方式:(2)说明该数据库备份情况,是否有备份策略。
1.1.1.3 top10等待事件:◆不同的版本,事件的多少不同✧Oracle9iOracle10g1.1.1.4 数据库大小:1.1.1.5 表空间使用情况:1.1.2 Top10segment◆查找系统数据量最大的10个段1.1.2.1 内存配置✧oracle9i:✧Oracle10g:1.1.2.2 三个Top10 SQL1.1.2.3 命中率1.1.2.4 死锁死锁查询:SELECT /*+ rule */ername,decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL, o.owner,o.object_name,o.object_type,s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuserFROM v$session s, v$lock l, dba_objects oWHERE l.sid = s.sidAND l.id1 = o.object_id(+)AND ername is NOT NULL解锁:杀死该session:alter system kill session 'sid,serial#'。
精品.资料 oracle 数据库巡检内容1.检查数据库基本状况在本节中主要对数据库的基本状况进行检查,其中包含:检查Oracle 实例状态,检查Oracle 服务进程,检查Oracle 监听进程,共三个部分。
SQL> select instance_name,host_name,startup_time,status,database_status from v$instance;INSTANCE_NAME HOST_NAME STARTUP_TIME STATUS DATABASE_STATUS---------------- ------------------- -------------------- ---------- ------------ ----CKDB AS14 2009-5-7 9:3 OPEN ACTIVE其中“STATUS”表示Oracle 当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle 当前数据库的状态,必须为“ACTIVE”。
SQL> select name,log_mode,open_mode from v$database;NAME LOG_MODE OPEN_MODE--------- ------------ -----------------CKDB ARCHIVELOG READ WRITE其中“LOG_MODE”表示Oracle 当前的归档方式。
“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。
在我们的系统中数据库必须运行在归档方式下。
$ps -ef|grep ora_|grep -v grep&&ps -ef|grep ora_|grep -v grep|wc –loracle 2960 1 0 May07 ? 00:01:02 ora_pmon_CKDB oracle 2962 1 0 May07 ? 00:00:22 ora_psp0_CKDB oracle 2964 1 0 May07 ? 00:00:00 ora_mman_CKDB oracle 2966 1 0 May07 ? 00:03:20 ora_dbw0_CKDB oracle 2968 1 0 May07 ? 00:04:29 ora_lgwr_CKDB oracle 2970 1 0 May07 ? 00:10:31 ora_ckpt_CKDB oracle 2972 1 0 May07 ? 00:03:45 ora_smon_CKDB oracle 2974 1 0 May07 ? 00:00:00 ora_reco_CKDB oracle 2976 1 0 May07 ? 00:01:24 ora_cjq0_CKDB oracle 2978 1 0 May07 ? 00:06:17 ora_mmon_CKDB oracle 2980 1 0 May07 ? 00:07:26 ora_mmnl_CKDB oracle 2982 1 0 May07 ? 00:00:00 ora_d000_CKDB oracle 2984 1 0 May07 ? 00:00:00 ora_s000_CKDB oracle 2994 1 0 May07 ? 00:00:28 ora_arc0_CKDB oracle 2996 1 0 May07 ? 00:00:29 ora_arc1_CKDB oracle 3000 1 0 May07 ? 00:00:00 ora_qmnc_CKDB oracle 3625 1 0 May07 ? 00:01:40 ora_q000_CKDB oracle 31594 1 0 Jul20 ? 00:00:00 ora_q003_CKDB oracle 23802 1 0 05:09 ? 00:00:33 ora_j000_CKDB 19在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:. Oracle写数据文件的进程,输出显示为:“ora_dbw0_CKDB”精品.资料精品.资料 . Oracle 写日志文件的进程,输出显示为:“ora_lgwr_ CKDB”. Oracle 监听实例状态的进程,输出显示为:“ora_smon_ CKDB”. Oracle监听客户端连接进程状态的进程,输出显示为:“ora_pmon_ CKDB”. Oracle 进行归档的进程,输出显示为:“ora_arc0_ CKDB”. Oracle 进行检查点的进程,输出显示为:“ora_ckpt_ CKD B ”. Oracle 进行恢复的进程,输出显示为:“ora_reco_ CKDB”/home/oracle>lsnrctl statusLSNRCTL for Linux: Version 10.2.0.2.0 - Production on 23-JUL-2009 14:11:53Copyright (c) 1991, 2005, Oracle. All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 10.2.0.2.0 - ProductionStart Date 07-MAY-2009 09:35:52Uptime 77 days 4 hr. 36 min. 0 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /data/oracle/product/10.2.0/network/admin/listener.oraListener Log File /data/oracle/product/10.2.0/network/log/listener.logListening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=AS14)(PORT=1521)))Services Summary...Service "CKDB" has 1 instance(s).Instance "CKDB", status READY, has 1 handler(s) for this service...Service "CKDBXDB" has 1 instance(s).Instance "CKDB", status READY, has 1 handler(s) for this service...Service "CKDB_XPT" has 1 instance(s).Instance "CKDB", status READY, has 1 handler(s) for this service...The command completed successfully“Services Summary”项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中至少应该有“CKDB”这一项。
序号检查内容正常值(参考) 影响因素1 --高速缓存的命中率select round((1 -(physical.value- direct.value- lobs.value) /logical.value) * 100,2) || '%' "高速缓存的命中率"from v$sysstat physical,v$sysstat direct,v$sysstat lobs,v$sysstat logical where = 'physical reads'and = 'physical reads direct'and = 'physical reads direct (lob)'and = 'session logical reads';90%-100%(可能略低于90%在数据库繁忙运行期间)1. Buffer 命中率受OracleSGA中的data blockbuffers参数的设置影响2. 跟Oracle buffer Pool的使用方法有关3. 把经常使用的小表cache在内存中4. 调优SQL语句,以养活少访问的数据量db_cache_size?2 --库缓存的命中率select round(sum(pins -reloads) / sum(pins) * 100, 2) || '%' "库缓存的命中率"from v$librarycache;95%-100%1. Library命中率受OracleSGA中的shared pool参数设置影响2. 跟应用软件的开发有密切的关系,特别是共享SQL的使用3 --闩命中率select round((1 -sum(misses +immediate_misses) / sum(gets + immediate_gets)) * 100,2) || '%' "闩命中率"from v$latch;99%-100%1. 应用程序SQL是否使用绑定变量2. Shared_pool_size参数的设置4 --内存排序率select round((1- disk.value/(disk.value+ memory.value)) *100, 2) || '%' "内存排序率"from v$sysstat disk, v$sysstat memorywhere = 'sorts (disk)'and = 'sorts 99%-100%1. 数据库参数sort_area_size或pga_aggregate_target的大小2. 应用程序的SQL语句的写法(memory)';5 --缓冲区未等待率select round((1- busy.value/tol.value) * 100, 2) || '%' "缓冲区未等待率"from(select sum(count) valuefrom v$waitstatwhere class in('data block', 'segment header', 'undo header', 'undo block')) busy, (select value from v$sysstat where name= 'session logical reads') tol;99%-100%1. db_block_buffers或db_cache_size等参数2. 增加表的Freelist参数3. 使用AutomaticSegment StorgeManagement(ASSM)来创建表空间4. 优化程序使用的SQL语句6 --redo缓冲区未等待率select round((1 - waits.value/ redos.value) * 100, 2) || '%'"redo缓冲区未等待率"from v$sysstat waits, v$sysstat redoswhere = 'redo log space requests'and = 'redo entries';99%-100%1. Log_buffer_size参数设置过小2. 归档的速度太慢3. 联机日志文件太小4. 联机日志文件放在缓慢的磁盘设备上7 --SQL语句执行和分析的比例select round((1- hard.value/total.value) * 100, 2) || '%'"SQL语句执行和分析的比例"from v$sysstat hard, v$sysstat totalwhere = 'parse count (hard)'and = 'parse count (total)';越接近100%越好1. Share_pool_size参数的大小2. 最重要的影响因素是应用程是否使用了绑定变量8 --析的CPU的时间和分析完成CPU时间对比select round((1 - cpu.value /total.value) * 100, 2) || '%'"cpu分析和完成比"from v$sysstat cpu, v$sysstat totalwhere = 'parse time cpu'越接近100%越好1. 如果这个比例很低,说明分析过程中CPU等待了其它的资源and = 'parse time elapsed';9 --非分析的过程中CPU对比select round((1 - parse.value/ total.value) * 100, 2) || '%'"非分析的过程中CPU对比"from v$sysstat parse, v$sysstat totalwhere = 'parse time cpu'and = 'CPU used by this session';越接近100%越好1. 如果这个比例很低,说明CPU用在分析SQL语句上面消耗了很多CPU时间,可能是没有用绑定变量10 --等待rollback segment的header比率select name,waits,gets,round(waits / gets * 100, 2) || '%'"等待rollbacksegment的header比"from v$rollstat a, v$rollname bwhere n = n;rollback segment等待率比率越小越好1. 回滚段竟争情况受回滚段size的设置影响2. 跟应用软件的有关,特别是long runnig timetransaction的使用11 --Tablespace的I/O比例select df.tablespace_name,sum(f.phyrds),sum(f.phyblkrd),sum(f.phywrts),sum(f.phyblkwrt)from v$filestat f, dba_data_files dfwhere f.file# = df.file_id group by df.tablespace_name order by df.tablespace_name;Tablespace I/O越小越好1. Tablespace的I/O情况受db_block_size参数的设置影响2. 跟数据文件的磁盘分布有密切关系12 --Datafile 的I/O比例select ,sum(f.phyrds),sum(f.phyblkrd),sum(f.phywrts),sum(f.phyblkwrt)from v$filestat f, v$datafile dfwhere f.file# = df.file# group by Datafile I/O越小越好1. Datafile的I/O情况受db_block_size参数的设置影响2. 跟数据文件的磁盘分布有密切关系order by ;13 --重做日志缓存区命中率select name,gets,misses,immediate_gets,immediate_misses,100- round(decode(gets, 0, 0,misses / gets * 100), 2) || '%'ratio1,100 -round(decode(immediate_gets + immediate_misses,0,0,immediate_misses / (immediate_gets + immediate_misses) * 100),2) || '%' ratio2from v$latchwhere name in('redo allocation', 'redo copy');重做日志缓存区的命中率越大越好,应大于90%1. 受log_buffer_size设置影响2. 跟应用软件的有关,特别是共享SQL的使用14 --碎片程度select tablespace_name,round(sqrt(max(blocks) /sum(blocks)) *(100/ sqrt(sqrt(count(blocks)))),2) || '%' FSFIfrom dba_free_spacegroup by tablespace_name order by tablespace_name;FSFI越大越好,应大于30%1. 碎片情况受db_block_size,segment_size的设置影响。
XXXXXXXX数据库系统巡检报告福华网络2017年2月15日目录1文档控制 (1)2巡检记录 (1)3巡检概述 (2)4巡检结果记录 (2)5检查项目分析与建议 (2)6数据库实例检查 (3)6.1获取实例基本信息 (3)6.1.1查看实例启动时间,运行状态 (3)6.1.2查看系统会话数 (3)6.2查看数据库文件状态 (3)6.2.1查看日志文件状态 (3)6.2.2查看表空间状态 (4)6.2.3查看表空间使用率 (5)6.2.4查看数据库文件状态 (6)6.3查看数据对象状态 (6)6.3.1查看异常用户对象 (6)6.3.2查看系统表空间的非系统对象 (7)6.3.3查找失效的索引 (7)6.3.4查找失效的约束 (7)6.3.5查找失效的触发器 (7)6.4使用AWR收集实例信息 (8)7RAC健康检查 (9)7.1RAC运行状态信息 (9)7.2ASM磁盘容量检查 (11)8DATAGUARD健康检查 (12)8.1主库确认没有日志缺口 (12)8.2确认主库可以进行角色切换,查询主库 (12)8.3查询备库是否可以切换为主库,查询备库: (12)1文档控制2巡检记录3巡检概述2017年2月14日,福华网络对XXXXXXX现运行的维保合同相关Oracle数据库系统进行了一次全面细致的巡检服务。
巡检围包括数据库服务器操作系统和Oracle RAC数据库。
目前,数据库服务器和数据库运行稳定。
4巡检结果记录合同相关的数据库系统巡检结果记录如下表所示:5检查项目分析与建议系统当前运行状态良好。
6数据库实例检查6.1获取实例基本信息6.1.1查看实例启动时间,运行状态启动时间为实例最近一次启动时间,该时间变化表明实例有重启动作,需要关注。
实例运行状态应为OPEN,数据库状态应为ACTIVE。
否则数据库运行状态异常。
SQL> select instance_name ,startup_time,status,database_status from gv$instance;INSTANCE_NAME STARTUP_T STATUS DATABASE_STATUS---------------- --------- ------------ -----------------xtbg1 30-JUL-16 OPEN ACTIVExtbg3 30-JUL-16 OPEN ACTIVExtbg2 30-JUL-16 OPEN ACTIVE6.1.2查看系统会话数系统会话数应和基线参数基本一致,过高和过低以为着系统存在异常。
ORACLE数据库常规巡检报告单(例⼦)ORACLE数据库常规巡检报告单⽬录ORACLE数据库常规巡检报告单 (1)⼀、概述 (3)⼆、使⽤的相关软件简要说明 (3)三、主机及操作系统常规配置检查 (3)1、系统设置检查 (3)2、I/O 设备信息 (3)3、⽹络配置信息 (4)四、ORACLE 数据库常规检查 (5)1、ORACLE 常规检查 (5)2、基本参数配置 (5)3、ORACLE ⽤户配置⽂件 (6)五、数据库关键性能检查及分析 (6)1、数据库性能检查 (6)2、数据库响应时间分析 (6)六、备份恢复策略检查和维护 (7)1、RMAN 配置情况 (7)2、备份策略描述 (7)3、备份策略实施 (7)4、备份检查和每⽇备份脚本⽇志检查 (8)5、对当前策略的总结 (8)七、关键性SQL 语句定位及分析 (8)⼋、近期警告⽇志及相关分析 (8)1、orcl_ora_8727.trc (8)2、orcl_ora_8727.trc (9)九、⼩结 (9)⼀、概述按照维护计划和为了系统的稳定运⾏,需要定期对系统进⾏⼀次巡检,时间周期为每星期⼀次。
⽬的在于诊断当前环境是否存在安全隐患,系统运⾏是否存在明显的系统瓶颈,定位重要的SQL 语句并进⾏性能分析,分析当前备份策略,分析警告⽇志信息并提供解决⽅案。
⼆、使⽤的相关软件简要说明1.使⽤RDA 对整个系统进⾏检查,并且⽣成报告2.使⽤AWR 对数据库进⾏检查,并且⽣成报告。
3.使⽤RMAN 对数据库进⾏备份,并且使⽤RMAN 相关的功能进⾏备份检查。
相关详细后页提供三、主机及操作系统常规配置检查1、系统设置检查主机和版本号Linux localhost 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:56:28 EST 2006 x86_64主机名localhost.localdomain操作系统平台64-bit Red Hat Linux操作系统版本 2.6.92、I/O 设备信息3、⽹络配置信息四、ORACLE 数据库常规检查1、ORACLE 常规检查Database OverviewDB Name ORCLGlobal Name /doc/e298af7e4693daef5ef73dba.html Host Name localhost Instance Name orclInstance Start Time 18-Nov-2008 14:14:01Restricted Mode NOArchive Log ModeARCHIVELOG3、ORACLE ⽤户配置⽂件# .bash_profile# Get the aliases and functionsif [ -f ~/.bashrc ]; then. ~/.bashrcfi# User specific environment and startup programsPATH=$PATH:$HOME/binexport PATHunset USERNAME#for oracleexport ORACLE_SID=orclexport ORACLE_BASE=/oracleexport ORACLE_HOME=/oracle/10gexport PATH=$ORACLE_HOME/bin:$PATHexport NLS_LANG=AMERICAN_AMERICA.ZHS16GBK五、数据库关键性能检查及分析1、数据库性能检查2、数据库响应时间分析响应时间是⾮常重要的数据库性能指标从以上信息可以看出,RMAN 备份占⽤的⼤量的时间,六、备份恢复策略检查和维护1、RMAN 配置情况RMAN configuration parameters are:CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;CONFIGURE BACKUP OPTIMIZATION ON;CONFIGURE DEFAULT DEVICE TYPE TO DISK;CONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'orclcongrol_%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE CHANNEL 1 DEVICE TYPE DISK MAXPIECESIZE 100 M MAXOPENFILES 8 RATE 40 M; CONFIGURE CHANNEL 2 DEVICE TYPE DISK MAXPIECESIZE 100 M MAXOPENFILES 8 RATE 40 M; CONFIGURE MAXSETSIZE TO UNLIMITED; # defaultCONFIGURE ENCRYPTION FOR DATABASE OFF; # defaultCONFIGURE ENCRYPTION ALGORITHM 'AES128'; # defaultCONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/10g/dbs/snapcf_orcl.f'; # default2、备份策略描述选⽤RMAN 多级备份策略,以每个星期作为⼀个周期星期1 数据库全备0 级星期2 增量备份 1 级星期3 增量备份 1 级星期4 累积增量备份1c 级星期5 数据库全备0 级星期6 增量备份 1 级星期天增量备份 1 级基于以上策略,任何时间点的数据恢复只需要做最多1 次0 级恢复和2 次1 级恢复.加上当⽇的归档⽇志可以实现快速的完全恢复3、备份策略实施Cat /etc/crontabSHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/# run-parts01 * * * * root run-parts /etc/cron.hourly02 4 * * * root run-parts /etc/cron.daily22 4 * * 0 root run-parts /etc/cron.weekly42 4 1 * * root run-parts /etc/cron.monthly00 4 * * 1 oracle /oracle/scripts/rman/backupweek1.cmd &00 4 * * 2 oracle /oracle/scripts/rman/backupweek2.cmd &00 4 * * 3 oracle /oracle/scripts/rman/backupweek3.cmd & 00 4 * * 4 oracle/oracle/scripts/rman/backupweek4.cmd &00 4 * * 5 oracle /oracle/scripts/rman/backupweek5.cmd &00 4 * * 6 oracle /oracle/scripts/rman/backupweek6.cmd &00 4 * * 7 oracle /oracle/scripts/rman/backupweek7.cmd &4、备份检查和每⽇备份脚本⽇志检查使⽤crosscheck backupset 检查。
Oracle 数据库日常巡检指令Oracle数据库的日常巡检内容包括:Oracle数据库基本状况检查;Oracle相关资源的使用情况检查;Oracle数据库性能检查;数据库服务器cpu、mem和I/O 性能检查;数据库服务器安全性及其他事项检查等五大检查项目。
1、数据库基本状况检查(1)、数据库实例状况检查说明:其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
(2)、数据库表空间状态检查说明:输出结果中STATUS应该都为“ONLINE”。
(3)、数据库数据文件检查1 select tablespace_name,status from dba_tablespaces;说明:输出结果中“STATUS”应该都为“AVAILABLE”。
(4)、数据库在线日志检查1 select group#,status,type,member from v$logfile;说明:输出结果应该有3条或3条以上记录,“STATUS”应该为非“INVALID”,非“DELETED”。
“STATUS”的值为空表示正常。
(5)、数据库回滚段检查1 select segment_name,status from dba_rollback_segs;说明:输出结果中所有回滚段的“STATUS”应该为“ONLINE”。
2、数据库相关资源使用情况检查(1)、检查Oracle初始化文件中相关参数值1 select resource_name,max_utilization,initial_allocation, limit_value from v$resource_limit;说明:若字段值【LIMIT_VALU】-【MAX_UTILIZATION】<=5,则表明与RESOURCE_NAME相关的Oracle初始化参数需要调整。
数据库日常巡检内容
数据库是企业重要的信息基础设施之一,对数据库进行日常巡检是确保数据库运行稳定、安全可靠的重要手段。
数据库日常巡检内容主要包括以下几个方面:
1. 数据库性能监控,通过监控数据库的性能指标,如CPU利用率、内存利用率、磁盘空间利用率、网络流量等,及时发现数据库性能异常,及时进行优化调整,确保数据库的高效稳定运行。
2. 数据库备份与恢复检查,定期检查数据库备份的完整性和可用性,确保数据库备份的及时性和准确性,以便在数据库发生故障时能够及时恢复数据。
3. 数据库安全审计,对数据库的安全审计日志进行定期分析和检查,发现异常操作和安全威胁,及时采取相应的安全措施,保障数据库的安全可靠。
4. 数据库空间管理,定期检查数据库的存储空间使用情况,及时清理无用数据和日志,释放存储空间,避免数据库空间不足导致数据库运行异常。
5. 数据库版本和补丁管理,定期检查数据库的版本和补丁情况,及时进行数据库版本升级和补丁安装,确保数据库的安全性和稳定性。
综上所述,数据库日常巡检内容涵盖了数据库性能监控、备份
与恢复检查、安全审计、空间管理、版本和补丁管理等多个方面,
通过对这些内容的定期检查和维护,能够确保数据库的稳定可靠运行,保障企业信息系统的正常运转。
数据库例行巡检流程
1.Oracle数据库的例行巡检流程通常包括以下几个步骤:
2.操作系统的CPU空闲率:检查操作系统的CPU空闲率以确保系统资源充足。
3.检查磁盘空间是否不足:确认数据存储设备的可用空间是否足够。
4.检查操作系统错误日志:查看是否有操作系统相关的错误记录。
5.检测数据库是否启动且侦听正常:验证数据库实例和服务器的监听器已经正确启动并正在运行。
6.检查和启动实例(服务器端):确保数据库实例已经被正确配置并且可以开始服务。
7.检测和启动侦听(服务器端):同样地,需要确认数据库的侦听器已经启动并能正常工作。
8.检查状态为非“online”的数据文件:确保所有数据文件都处于在线状态。
9.数据缓冲区命中率:评估数据缓冲区的性能,确保查询响应时间良好。
10.数据字典缓冲区命中率:类似地,检查数据字典缓冲区的性能。
11.LIBRARYCACHE命中率:检查库缓存的性能。
12.检测使用率超过80%的表空间:识别那些可能因为频繁读写
而变得过热的表空间。
13.检查作业是否正常:确认所有的后台处理任务都在正常运行。
14.了解数据库备份情况:最后,确保有适当的数据库备份策略,以便在出现问题时能够快速恢复。
ORACLE巡检报告一、引言本次巡检报告是针对目标系统中的ORACLE数据库进行的,旨在评估数据库的整体性能、安全性以及运行状态,并提供相应的优化建议和改进措施。
二、巡检目的1.评估数据库的性能状况,识别存在的性能瓶颈和潜在问题。
2.检查数据库的安全性,发现可能存在的安全隐患和漏洞。
3.检查数据库的运行状态,确认数据库的稳定性和可用性。
4.提供相应的优化建议和改进措施,帮助提升数据库的性能和安全性。
三、巡检内容1.性能评估通过对数据库的性能指标进行测试和分析,评估数据库的性能状况。
主要包括以下内容:-响应时间:检查数据库的响应时间是否满足业务需求,识别响应时间过长的问题。
-请求量:评估数据库的吞吐量和并发处理能力,查看数据库是否存在请求量过大的问题。
-查询优化:检查数据库的查询计划,分析查询语句的性能瓶颈,提出优化建议。
2.安全评估对数据库的安全性进行全面的评估,发现可能存在的安全隐患和漏洞。
主要包括以下内容:-访问控制:检查数据库的用户权限设置,确认是否存在权限过大或权限缺失的情况。
-弱口令检测:扫描数据库的用户口令,发现可能存在的弱口令,提出修改口令的建议。
-审计日志:检查数据库的审计日志设置,确认是否存在未启用审计或日志记录不完整的情况。
3.运行状态检查对数据库的运行状态进行全面检查,确认数据库的稳定性和可用性。
主要包括以下内容:-内存使用情况:检查数据库的内存使用情况,确认是否存在内存泄漏或内存不足的情况。
-磁盘空间:评估数据库的磁盘空间使用情况,预测磁盘空间是否足够,提出磁盘空间扩容的建议。
-日志管理:检查数据库的日志管理情况,确认是否存在日志文件过大或日志文件切换不及时的情况。
四、巡检结果1.性能评估结果数据库的响应时间整体符合业务需求,但存在部分查询语句性能较差的情况,建议对这些查询进行优化。
数据库的请求量较大,建议增加服务器资源以提升并发处理能力。
2.安全评估结果数据库的访问控制较为合理,但存在少数用户权限过大的情况,建议限制部分用户的权限。
oracle 数据库巡检语句进行Oracle数据库巡检时,可以使用一系列SQL语句来检查数据库的健康状况、性能和安全性。
以下是一些常用的Oracle数据库巡检语句:1. 检查数据库实例的运行情况:SELECT instance_name, host_name, version,startup_time, status FROM v$instance;2. 检查数据库的空间使用情况:SELECT tablespace_name, sum(bytes)/1024/1024 AS "Total Size (MB)",。
sum(bytes blocks8192)/1024/1024 AS "Used Size (MB)",。
sum(blocks8192)/1024/1024 AS "Free Size (MB)"FROM dba_free_space.GROUP BY tablespace_name;3. 检查数据库的性能指标:SELECT FROM v$sysstat WHERE name LIKE 'parse count%';SELECT FROM v$sysstat WHERE name LIKE 'execute count%';SELECT FROM v$sysstat WHERE name LIKE 'user commits';4. 检查数据库的会话和进程信息:SELECT username, osuser, machine, program FROM v$session;SELECT spid, osuser, username, program FROMv$process;5. 检查数据库的表空间和数据文件信息:SELECT tablespace_name, file_name, bytes/1024/1024 AS "File Size (MB)",。
Oracle Health-Check Report Oracle数据库健康巡检报告XX公司xx数据库系统健康巡检报告作者:文档创建日期: 2010-12-1上次修改日期:服务工程师:服务类型:现场客户联系人:目录健康检查记录 (3)数据库调整记录 (3)一、系统概况 (4)二、数据库趋势分析 (4)1、数据缓冲区和库缓冲区命中率趋势 (4)2、数据量变化趋势 (5)三、健康检查项目列表及结果 (5)1、操作系统 (5)1.1磁盘空间 (5)1.2系统性能信息 (8)2、数据库系统 (9)2.1安全性 (9)2.2稳定性 (9)2.3数据库性能 (9)3、健康检查 (11)3.1数据库版本信息 (11)3.2目前数据库参数 (11)3.3数据库资源限制 (12)3.4控制文件 (12)3.5日志文件 (13)3.6数据文件 (13)3.7临时文件 (13)3.8表空间使用率监控 (13)3.9无效索引 (14)四、巡检总结与调整建议 (14)1、巡检总结: (14)2、调整建议: (14)3、对管理人员的提醒: (14)数据库调整记录自上次巡检以来对本数据库调整记录如下:1)调整一2)调整二3)调整三一、系统概况天日志生成量高峰、时日志切换高峰:这里的高峰指的是redo生成高峰,非业务高峰。
全库export大小的计算方法是:统计全库中表的大小,这种方式计算出的表的大小包含了空的行记录,而export实际导出时不会导出空数据行,所以这里的export大小会大于实际的导出dmp文件的大小,具体误差多少取决与数据库中存在多少的空数据行(delete操作产生的空数据行).全库rman备份大小(10.2.0.1)的计算方法是:统计全库中所有对象的大小.而rman备份集是备份所有曾经被对象暂用过的空间,所以此种统计方法统计的数据和rman备份实际的大小的差异在很大程度上取决于被放入回收站对象的多少.二、数据库趋势分析1、数据缓冲区和库缓冲区命中率趋势[数据来源典型业务高峰时段statspack or awr]建议:数据库性能2、数据量变化趋势[数据来源巡检脚本输出]建议:三、健康检查项目列表及结果1、操作系统[操作系统命令df-k 和prstat,top,topas,glance,sar输出] 1.1磁盘空间[数据来源df -k]对操作系统的磁盘空间进行检查,是否有足够空间。
Oracle数据库巡检维护方案
一、巡检维护的目的
为了保障数据库正常运行,保证数据的安全性、完整性和可用性,需进行数据库巡检维护。
二、巡检维护的分类
数据库巡检维护包含的内容很多,如果每天都将这些项目进行一遍,在时间上是不允许的,可能还会影响到数据库使用效率,因此,通常会将这些巡检维护内容分门别类地按不同的时间频率进行。
数据库巡检维护按时间频率可分为日巡检、周巡检、月巡检、半年度巡检四类。
日巡检维护指每日按计划进行的巡检维护活动,以检查数据库运行状态、数据库备份状态和告警错误为主要内容,同时还必须检查使用数据库的应用软件是否因数据库运行原因产生使用错误或不畅。
周巡检维护指按一周为周期,在每周指定日按计划进行的巡检维护活动,它的工作内容是在日巡检维护工作内容的基础上添加数据库对象检查、安全性检查等内容组成。
月巡检维护指按一月为周期,在每月指定日按计划进行的巡检维护活动,它的工作内容是在周巡检维护工作内容的基础上添加系统参数配置检查、硬件与系统平台运行状态检查等内容组成。
半年度巡检维护指按半年为周期,在指定日按计划进行的巡检维护活动,它的工作内容是在月巡检维护工作内容的基础上添加数据库性能诊断检查组成。
如果能够提供模拟环境或生产环境在特定条件下允许停机,还应该进行备份有效性测试。
由于巡检维护工作任务的涵盖性,进行半年度巡检维护日可不执行所在月的月巡检维护、所在周的周巡检维护和日巡检维护,以此类推。
三、巡检维护工作内容和周期。
Oracle日常巡检内容1. 概述Oracle数据库是一款功能强大的关系型数据库管理系统,用于存储和管理大量的数据。
为了保证Oracle数据库的正常运行,必须进行日常巡检工作,及时发现并解决潜在的问题,确保数据库的稳定性和性能。
本文将介绍Oracle日常巡检的内容,包括数据库基本信息、存储空间、性能优化、安全性、备份与恢复等方面。
2. 数据库基本信息在进行日常巡检时,首先需要了解数据库的基本信息,以便更好地管理和维护数据库。
以下是需要关注的内容:•数据库名称、版本和补丁级别•数据库的物理和逻辑结构•数据库的字符集和语言设置•数据库的运行状态和连接数•数据库的启动参数和配置文件3. 存储空间数据库的存储空间是关键的资源,需要定期检查和管理。
以下是存储空间的巡检内容:•数据文件和表空间的大小和增长趋势•磁盘空间的使用情况和剩余容量•数据文件的布局和分布情况•表空间的使用率和碎片情况•确保数据文件和表空间的备份和恢复策略4. 性能优化数据库的性能是用户体验的重要因素,需要进行定期的性能优化工作。
以下是性能优化的巡检内容:•数据库的响应时间和吞吐量•SQL语句的执行计划和性能指标•索引的使用情况和效率•内存和缓冲区的配置和利用率•确保数据库的统计信息是最新的5. 安全性数据库的安全性是非常重要的,需要进行巡检和加固。
以下是安全性的巡检内容:•用户和角色的权限和访问控制•数据库的审计和日志记录设置•数据库的加密和身份验证策略•数据库的防火墙和网络安全设置•确保数据库的补丁和安全更新是最新的6. 备份与恢复数据库的备份和恢复是数据库管理的核心任务之一,需要定期进行巡检和测试。
以下是备份与恢复的巡检内容:•数据库备份的策略和计划•数据库备份的完整性和可用性•数据库恢复的速度和可靠性•确保备份文件的存储和保护措施•确保备份和恢复的文档和操作步骤是最新的7. 总结Oracle数据库的日常巡检是保证数据库稳定性和性能的重要工作。
oracle数据库巡检内容1.检查数据库基本状况在本节中主要对数据库的基本状况进行检查,其中包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分。
SQL> select instance_name,host_name,startup_time,status,database_status from v$instance;INSTANCE_NAME HOST_NAME STARTUP_TIME STATUS DATABASE_STATUS---------------- ------------------- -------------------- ---------- ------------ ----CKDB AS14 2009-5-7 9:3 OPEN ACTIVE其中“STATUS”表示Oracle当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示Oracle当前数据库的状态,必须为“ACTIVE”。
SQL> select name,log_mode,open_mode from v$database;NAME LOG_MODE OPEN_MODE--------- ------------ -----------------CKDB ARCHIVELOG READ WRITE其中“LOG_MODE”表示Oracle当前的归档方式。
“ARCHIVELOG”表示数据库运行在归档模式下,“NOARCHIVELOG”表示数据库运行在非归档模式下。
在我们的系统中数据库必须运行在归档方式下。
$ps -ef|grep ora_|grep -v grep&&ps -ef|grep ora_|grep -v grep|wc –loracle 2960 1 0 May07 ? 00:01:02 ora_pmon_CKDB oracle 2962 1 0 May07 ? 00:00:22 ora_psp0_CKDB oracle 2964 1 0 May07 ? 00:00:00 ora_mman_CKDB oracle 2966 1 0 May07 ? 00:03:20 ora_dbw0_CKDB oracle 2968 1 0 May07 ? 00:04:29 ora_lgwr_CKDB oracle 2970 1 0 May07 ? 00:10:31 ora_ckpt_CKDB oracle 2972 1 0 May07 ? 00:03:45 ora_smon_CKDB oracle 2974 1 0 May07 ? 00:00:00 ora_reco_CKDB oracle 2976 1 0 May07 ? 00:01:24 ora_cjq0_CKDB oracle 2978 1 0 May07 ? 00:06:17 ora_mmon_CKDB oracle 2980 1 0 May07 ? 00:07:26 ora_mmnl_CKDB oracle 2982 1 0 May07 ? 00:00:00 ora_d000_CKDBoracle 2984 1 0 May07 ? 00:00:00 ora_s000_CKDBoracle 2994 1 0 May07 ? 00:00:28 ora_arc0_CKDBoracle 2996 1 0 May07 ? 00:00:29 ora_arc1_CKDBoracle 3000 1 0 May07 ? 00:00:00 ora_qmnc_CKDBoracle 3625 1 0 May07 ? 00:01:40 ora_q000_CKDBoracle 31594 1 0 Jul20 ? 00:00:00 ora_q003_CKDBoracle 23802 1 0 05:09 ? 00:00:33 ora_j000_CKDB19在检查Oracle的进程命令输出后,输出显示至少应包括以下一些进程:. Oracle写数据文件的进程,输出显示为:“ora_dbw0_CKDB”. Oracle写日志文件的进程,输出显示为:“ora_lgwr_ CKDB”. Oracle监听实例状态的进程,输出显示为:“ora_smon_ CKDB”. Oracle监听客户端连接进程状态的进程,输出显示为:“ora_pmon_ CKDB”. Oracle进行归档的进程,输出显示为:“ora_arc0_ CKDB”. Oracle进行检查点的进程,输出显示为:“ora_ckpt_ CKD B”. Oracle进行恢复的进程,输出显示为:“ora_reco_ CKDB”/home/oracle>lsnrctl statusLSNRCTL for Linux: Version 10.2.0.2.0 - Production on 23-JUL-2009 14:11:53 Copyright (c) 1991, 2005, Oracle. All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 10.2.0.2.0 - ProductionStart Date 07-MAY-2009 09:35:52Uptime 77 days 4 hr. 36 min. 0 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /data/oracle/product/10.2.0/network/admin/listener.ora Listener Log File /data/oracle/product/10.2.0/network/log/listener.log Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=AS14)(PORT=1521))) Services Summary...Service "CKDB" has 1 instance(s).Instance "CKDB", status READY, has 1 handler(s) for this service...Service "CKDBXDB" has 1 instance(s).Instance "CKDB", status READY, has 1 handler(s) for this service...Service "CKDB_XPT" has 1 instance(s).Instance "CKDB", status READY, has 1 handler(s) for this service...The command completed successfully“Services Summary”项表示Oracle的监听进程正在监听哪些数据库实例,输出显示中至少应该有“CKDB”这一项。
检查监听进程是否存在:[oracle@AS14 ~]$ ps -ef|grep lsn|grep -v greporacle 2954 1 0 May07 ? 00:01:17 /data/oracle/product/10.2.0/bin/tnslsnr LISTENER –inherit2.检查系统和oracle日志文件在本节主要检查相关的日志文件,包含:检查操作系统的日志文件,检查Oracle日志文件,检查Oracle核心转储目录,检查Root用户和Oracle用户的email,总共四个部分。
# cat /var/log/messages |grep failed查看是否有与Oracle用户相关的出错信息。
[oracle@AS14 ~]$ cat /data/oracle/admin/CKDB/bdump/alert_CKDB.log |grep ora-[oracle@AS14 ~]$ cat /data/oracle/admin/CKDB/bdump/alert_CKDB.log |grep err[oracle@AS14 ~]$ cat /data/oracle/admin/CKDB/bdump/alert_CKDB.log |grep failOracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:数据库的启动、关闭,启动时的非缺省参数;数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不Listener日志:$ORACLE_HOME/network/log$ls $ORACLE_BASE/admin/CKDB/cdump/*.trc|wc -l $ls $ORACLE_BASE/admin/CKDB/udump/*.trc|wc –l如果上面命令的结果每天都在增长,则说明Oracle进程经常发生核心转储。
这说明某些用户进程或者数据库后台进程由于无法处理的原因而异常退出。
频繁的核心转储特别是数据库后台进程的核心转储会导致数据库异常终止。
#tail –n 200 /var/mail/root#tail –n 200 /var/mail/oracle查看有无与Oracle用户相关的出错信息。
3.检查Oracle对象状态在本节主要检查相关Oracle对象的状态,包含:检查Oracle控制文件状态,检查Oracle在线日志状态,检查Oracle表空间的状态,检查Oracle所有数据文件状态,检查Oracle所有表、索引、存储过程、触发器、包等对象的状态,检查Oracle所有回滚段的状态,总共六个部分。
SQL> select status,name from v$controlfile;STATUS NAME------- --------------------------------------------------------------------------------/data/oradata/CKDB/control01.ctl/data/oradata/CKDB/control02.ctl/data/oradata/CKDB/control03.ctl输出结果应该有3条以上(包含3条)的记录,“STATUS”应该为空。