北京二手房网站,网站建设情况介绍,织梦网站优化教程,能上外国网站dns文章目录 1、数据库基本状况检查2、数据库相关资源使用情况检查3、检查Oracle数据库性能4、数据库服务器CPU、MEM、I/O性能5、数据库服务器安全检查 Oracle数据库的日常巡检内容包括#xff1a;
#xff08;1#xff09;Oracle数据库基本状况检查#xff1b;
#xff08… 文章目录 1、数据库基本状况检查2、数据库相关资源使用情况检查3、检查Oracle数据库性能4、数据库服务器CPU、MEM、I/O性能5、数据库服务器安全检查 Oracle数据库的日常巡检内容包括
1Oracle数据库基本状况检查
2Oracle相关资源的使用情况检查
3Oracle数据库性能检查
4数据库服务器cpu、mem和I/O性能检查
5数据库服务器安全性及其他事项检查。
1、数据库基本状况检查
###1数据库实例状况检查
select instance_name,host_name,startup_time,status,database_status from v$instance;
说明其中“STATUS”表示Oracle当前的实例状态必须为“OPEN”“DATABASE_STATUS”表示Oracle当前数据库的状态必须为“ACTIVE”。###2数据库表空间状态检查
select tablespace_name,status from dba_tablespaces;
说明输出结果中STATUS应该都为“ONLINE”。###3数据库数据文件检查
select FILE_NAME,TABLESPACE_NAME,BYTES/1024/1024,STATUS from dba_data_files;
说明输出结果中“STATUS”应该都为“AVAILABLE”。###4数据库在线日志检查
col MEMBER for a60
select group#,status,type,member from v$logfile;
说明输出结果应该有3条或3条以上记录“STATUS”应该为非“INVALID”非“DELETED”。“STATUS”的值为空表示正常。###5数据库回滚段检查
select segment_name,status from dba_rollback_segs;
说明输出结果中所有回滚段的“STATUS”应该为“ONLINE”。2、数据库相关资源使用情况检查
###1检查Oracle初始化文件中相关参数值
select resource_name,max_utilization,initial_allocation, limit_value from v$resource_limit;说明若字段值【LIMIT_VALU】-【MAX_UTILIZATION】5则表明与RESOURCE_NAME相关的Oracle初始化参数需要调整。可以通过修改Oracle初始化参数文件$ORACLE_BASE/admin/orcl/pfile/initORCL.ora来修改。###2检查数据库连接情况
select sid,serial#,username,program,machine,status from v$session;说明STATUS 当前这个会话的状态ACTIVE表示会话正在执行某些任务INACTIVE表示当前会话没有执行任何操作如果建立了过多的连接会消耗数据库的资源同时对一些“挂死”的连接可能需要手工进行清理。###3检查表空间使用情况
select f.tablespace_name,a.total,f.free,round((f.free / a.total)*100) % Freefrom (select tablespace_name, sum(bytes / (1024 * 1024)) totalfrom dba_data_filesgroup by tablespace_name) a,(select tablespace_name, round(sum(bytes / (1024 * 1024))) freefrom dba_free_spacegroup by tablespace_name) fWHERE a.tablespace_name f.tablespace_name()order by % Free;说明如果空闲率【%Free】小于10%以上则注意要增加数据文件来扩展表空间而不是用数据文件的自动扩展功能。###4检查system表空间内的内容
select distinct (owner)from dba_tableswhere tablespace_name SYSTEMand owner ! SYSand owner ! SYSTEM
union
select distinct (owner)from dba_indexeswhere tablespace_name SYSTEMand owner ! SYSand owner ! SYSTEM;说明如果记录返回则表明system表空间内存在一些非system和sys用户的对象。应该进一步检查这些对象是否与我们应用相关。如果相关请把这些对象移到非System表空间同时应该检查这些对象属主的缺省表空间值。###5检查一些扩展异常的对象
select Segment_Name,Segment_Type,TableSpace_Name,(Extents / Max_extents) * 100 PercentFrom sys.DBA_SegmentsWhere Max_Extents ! 0and (Extents / Max_extents) * 100 95order By Percent;说明如果有记录返回则这些对象的扩展已经快达到它定义时的最大扩展值。对于这些对象要修改它的存储结构参数。###6检查对象的下一扩展值与表空间的最大扩展值
select a.table_name, a.next_extent, a.tablespace_namefrom all_tables a,(select tablespace_name, max(bytes) as big_chunkfrom dba_free_spacegroup by tablespace_name) fwhere f.tablespace_name a.tablespace_nameand a.next_extent f.big_chunk
union
select a.index_name, a.next_extent, a.tablespace_namefrom all_indexes a,(select tablespace_name, max(bytes) as big_chunkfrom dba_free_spacegroup by tablespace_name) fwhere f.tablespace_name a.tablespace_nameand a.next_extent f.big_chunk;说明如果有记录返回则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展值需调整相应表空间的存储参数。3、检查Oracle数据库性能
###1检查数据库的等待事件
set pages 80
set lines 120
col event for a40
select sid, event, p1, p2, p3, WAIT_TIME, SECONDS_IN_WAIT from v$session_wait where event not like SQL% and event not like rdbms%;说明如果数据库长时间持续出现大量像latch freeenqueuebuffer busy waitsdb file sequential readdb file scattered read等等待事件时需要对其进行分析可能存在问题的语句。###2等待时间最多的5个系统等待事件
SELECT *FROM (SELECT *FROM V$SYSTEM_EVENTWHERE EVENT NOT LIKE SQL%ORDER BY TOTAL_WAITS DESC)WHERE ROWNUM 5;###3查找前十条性能差的sql
SELECT *FROM (SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,SQL_TEXTFROM V$SQLAREAORDER BY DISK_READS DESC)WHERE ROWNUM 10;###4Disk Read最高的SQL语句的获取
SELECT SQL_TEXTFROM (SELECT * FROM V$SQLAREA ORDER BY DISK_READS)WHERE ROWNUM 5;###5检查死锁及处理
select sid,serial#,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,object_name,object_type,o.object_idfrom dba_objects o, v$locked_object l, v$session swhere o.object_id l.object_idand s.sid l.session_id;4、数据库服务器CPU、MEM、I/O性能
###1CPU查询指令
# top###2内存查询指令
# free -m###3I/O查询指令
# iostat -k 1 3###4系统负载情况查询指令
# uptime###5僵尸进程查询指令
select spid from v$process where addr not in (select paddr from v$session);###6日志缓冲区查询指令
select name,value from v$sysstat where name in (redo entries,redo buffer allocation retries);说明如果【redo buffer allocation retries】/【redo entries】的值超过1%则需要增大log_buffer。5、数据库服务器安全检查
###1系统安全日志检查
检查登录成功日志的查询指令为
# grep -i accepted /var/log/secure检查登录失败日志的查询指令为
# grep -i inval /var/log/secure grep -i failed /var/log/secure###2crontab任务检查
Oracle Job是否有失败任务的查询select job,what,last_date,next_date,failures,broken from dba_jobs Where schema_usersystem;###3检查失效的索引
select index_name, table_name, tablespace_name, status From dba_indexes Where owner system And status VALID;说明分区表上的索引status为空是正常的如有失效索引则对该索引做rebuild。其指令为alter index INDEX_NAME rebuild tablespace TABLESPACE_NAME;