收藏 分销(赏)

Oracle数据库日常维护手册样本.docx

上传人:二*** 文档编号:4711651 上传时间:2024-10-10 格式:DOCX 页数:107 大小:87.64KB 下载积分:5 金币
下载 相关 举报
Oracle数据库日常维护手册样本.docx_第1页
第1页 / 共107页
本文档共107页,全文阅读请下载到手机保存,查看更方便
资源描述
密级:保密 编号: Oracle10g数据库 维护手册 日期: 编写: 核对: 更新: 目 录 1. 检查数据库基本状况 4 1.1. 检查Oracle实例状态 4 1.2. 检查Oracle服务进程 4 1.3. 检查Oracle监听状态 5 2. 检查系统和ORACLE日记文献 6 2.1. 检查操作系统日记文献 6 2.2. 检查oracle日记文献 6 2.3. 检查Oracle核心转储目录 7 2.4. 检查Root顾客和Oracle顾客email 7 3. 检查ORACLE对象状态 7 3.1. 检查Oracle控制文献状态 7 3.2. 检查Oracle在线日记状态 8 3.3. 检查Oracle表空间状态 8 3.4. 检查Oracle所有数据文献状态 8 3.5. 检查无效对象 9 3.6. 检查所有回滚段状态 10 4. 检查ORACLE有关资源使用状况 10 4.1. 检查Oracle初始化文献中有关参数值 10 4.2. 检查数据库连接状况 11 4.3. 检查系统磁盘空间 12 4.4. 检查表空间使用状况 12 4.5. 检查某些扩展异常对象 13 4.6. 检查system表空间内内容 14 4.7. 检核对象下一扩展与表空间最大扩展值 14 5. 检查ORACLE数据库备份成果 14 5.1. 检查数据库备份日记信息 15 5.2. 检查backup卷中文献产生时间 15 5.3. 检查oracle顾客email 15 6. 检查ORACLE数据库性能 15 6.1. 检查数据库等待事件 15 6.2. Disk Read最高SQL语句获取 15 6.3. 查找前十条性能差sql 16 6.4. 等待时间最多5个系统等待事件获取 16 6.5. 检查运营好久SQL 16 6.6. 检查消耗CPU最高进程 16 6.7. 检查碎片限度高表 17 6.8. 检查表空间 I/O 比例 17 6.9. 检查文献系统 I/O 比例 17 6.10. 检查死锁及解决 17 6.11. 检查数据库cpu、I/O、内存性能 18 6.12. 查看与否有僵死进程 19 6.13. 检查行链接/迁移 19 6.14. 定期做记录分析 19 6.15. 检查缓冲区命中率 20 6.16. 检查共享池命中率 20 6.17. 检查排序区 20 6.18. 检查日记缓冲区 21 7. 检查数据库安全性 21 7.1. 检查系统安全日记信息 21 7.2. 检查顾客修改密码 21 8. 其她检查 22 8.1. 检查当前crontab任务与否正常 22 8.2. Oracle Job与否有失败 22 8.3. 监控数据量增长状况 22 8.4. 检查失效索引 23 8.5. 检查不起作用约束 23 8.6. 检查无效trigger 23 巡检内容 1. 检查数据库基本状况 在本节中重要对数据库基本状况进行检查,其中包括:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个某些。 1.1. 检查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 -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”表达数据库运营在非归档模式下。在咱们系统中数据库必要运营在归档方式下。 1.2. 检查Oracle服务进程 $ps -ef|grep ora_|grep -v grep&&ps -ef|grep ora_|grep -v grep|wc –l oracle 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_ CKDB” . Oracle进行恢复进程,输出显示为:“ora_reco_ CKDB” 1.3. 检查Oracle监听状态 /home/oracle>lsnrctl status LSNRCTL for Linux:Version 10.2.0.2.0 - Production on 23-JUL- 14:11:53 Copyright (c) 1991,,Oracle. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux:Version 10.2.0.2.0 - Production Start Date 07-MAY- 09:35:52 Uptime 77 days 4 hr. 36 min. 0 sec Trace Level off Security ON:Local OS Authentication SNMP OFF Listener 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 grep oracle 2954 1 0 May07 ? 00:01:17 /data/oracle/product/10.2.0/bin/tnslsnr LISTENER –inherit 2. 检查系统和oracle日记文献 在本节重要检查有关日记文献,包括:检查操作系统日记文献,检查Oracle日记文献,检查Oracle核心转储目录,检查Root顾客和Oracle顾客email,总共四个某些。 2.1. 检查操作系统日记文献 # cat /var/log/messages |grep failed 查看与否有与Oracle顾客有关出错信息。 2.2. 检查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 fail Oracle在运营过程中,会在警告日记文献(alert_SID.log)中记录数据库某些运营状况:数据库启动、关闭,启动时非缺省参数;数据库重做日记切换状况,记录每次切换时间,及如果由于检查点(checkpoint)操作没有执行完毕导致不能切换,会记录不能切换因素;对数据库进行某些操作,如创立或删除表空间、增长数据文献;数据库发生错误,如表空间不够、浮现坏块、数据库内部错误(ORA-600)等。定期检查日记文献,依照日记中发现问题及时进行解决: 问题 解决 启动参数不对 检查初始化参数文献 由于检查点操作或归档操作没有完毕导致重做日记不能切换 如果经常发生这样状况,可以考虑增长重做日记文献组;想办法提高检查点或归档操作效率; 有人未经授权删除了表空间 检查数据库安全问题,与否密码太简朴;如有必要,撤除某些顾客系统权限 浮现坏块 检查与否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象浮现了坏块,对这个对象进行重建 表空间不够 增长数据文献到相应表空间 浮现ORA-600 依照日记文献内容查看相应TRC文献,如果是Oraclebug,要及时打上相应补丁 Listener日记:$ORACLE_HOME/network/log 2.3. 检查Oracle核心转储目录 $ls $ORACLE_BASE/admin/CKDB/cdump/*.trc|wc -l $ls $ORACLE_BASE/admin/CKDB/udump/*.trc|wc –l 如果上面命令成果每天都在增长,则阐明Oracle进程经常发生核心转储。这阐明某些顾客进程或者数据库后台进程由于无法解决因素而异常退出。频繁核心转储特别是数据库后台进程核心转储会导致数据库异常终结。 2.4. 检查Root顾客和Oracle顾客email #tail –n 200 /var/mail/root #tail –n 200 /var/mail/oracle 查看有无与Oracle顾客有关出错信息。 3. 检查Oracle对象状态 在本节重要检查有关Oracle对象状态,包括:检查Oracle控制文献状态,检查Oracle在线日记状态,检查Oracle表空间状态,检查Oracle所有数据文献状态,检查Oracle所有表、索引、存储过程、触发器、包等对象状态,检查Oracle所有回滚段状态,总共六个某些。 3.1. 检查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”应当为空。状态为空表达控制文献状态正常。 3.2. 检查Oracle在线日记状态 SQL> select group#,status,type,member from v$logfile; GROUP# STATUS TYPE MEMBER ---------- ------- ------- ----------- 3 ONLINE /data/oradata/CKDB/redo03.log 2 ONLINE /data/oradata/CKDB/redo02.log 1 ONLINE /data/oradata/CKDB/redo01.log 4 ONLINE /data/oradata/CKDB/redo04.log 5 ONLINE /data/oradata/CKDB/redo05.log 6 ONLINE /data/oradata/CKDB/redo06.log 6 rows selected 输出成果应当有3条以上(包括3条)记录,“STATUS”应当为非“INVALID”,非“DELETED”。 注:“STATUS”显示为空表达正常。 3.3. 检查Oracle表空间状态 SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE UNDOTBS1 ONLINE SYSAUX ONLINE TEMP ONLINE USERS ONLINE SJ1 ONLINE ADM_INDEX ONLINE HOME_DATA ONLINE HOME_INDEX ONLINE PHOTO_DATA ONLINE PHOTO_INDEX ONLINE 。。。。。。。 输出成果中STATUS应当都为ONLINE。 3.4. 检查Oracle所有数据文献状态 SQL> select name,status from v$datafile; NAME STATUS -------------------------------------------------- ------- /data/oradata/CKDB/system01.dbf SYSTEM /data/oradata/CKDB/undotbs01.dbf ONLINE /data/oradata/CKDB/sysaux01.dbf ONLINE /data/oradata/CKDB/users01.dbf ONLINE /data/oradata/CKDB/sj.dbf ONLINE /data/oradata/CKDB/HOME_DATA1.dbf ONLINE /data/oradata/CKDB/HOME_INDEX1.dbf ONLINE /data/oradata/CKDB/PHOTO_DATA1.dbf ONLINE /data/oradata/CKDB/PHOTO_INDEX1.dbf ONLINE /data/oradata/CKDB/BLOG_DATA1.dbf ONLINE /data/oradata/CKDB/BLOG_INDEX1.dbf ONLINE /data/oradata/CKDB/AUDIO_DATA1.dbf ONLINE /data/oradata/CKDB/AUDIO_INDEX1.dbf ONLINE /data/oradata/CKDB/VIDEO_DATA1.dbf ONLINE /data/oradata/CKDB/VIDEO_INDEX1.dbf ONLINE /data/oradata/CKDB/SYS_DATA1.dbf ONLINE /data/oradata/CKDB/SYS_INDEX1.dbf ONLINE /data/oradata/CKDB/ADM_DATA1.dbf ONLINE /data/oradata/CKDB/ADM_INDEX1.dbf ONLINE /data/oradata/CKDB/perfstat.dbf ONLINE 输出成果中“STATUS”应当都为“ONLINE”。或者: SQL> select file_name,status from dba_data_files; FILE_NAME STATUS --------------------------------------------- --------- /data/oradata/CKDB/users01.dbf AVAILABLE /data/oradata/CKDB/sysaux01.dbf AVAILABLE /data/oradata/CKDB/undotbs01.dbf AVAILABLE /data/oradata/CKDB/system01.dbf AVAILABLE /data/oradata/CKDB/sj.dbf AVAILABLE /data/oradata/CKDB/perfstat.dbf AVAILABLE /data/oradata/CKDB/HOME_DATA1.dbf AVAILABLE /data/oradata/CKDB/HOME_INDEX1.dbf AVAILABLE /data/oradata/CKDB/PHOTO_DATA1.dbf AVAILABLE 输出成果中“STATUS”应当都为“AVAILABLE”。 3.5. 检查无效对象 sql>select owner,object_name,object_type from dba_objects where status!='VALID' and owner!='SYS' and owner!='SYSTEM'; no rows selected 如果有记录返回,则阐明存在无效对象。若这些对象与应用有关,那么需要重新编译生成这个对象,或者: SELECT owner,object_name,object_type FROM dba_objects WHERE status= 'INVALID'; 3.6. 检查所有回滚段状态 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 11 rows selected 输出成果中所有回滚段“STATUS”应当为“ONLINE”。 4. 检查Oracle有关资源使用状况 在本节重要检查Oracle有关资源使用状况,包括:检查Oracle初始化文献中有关参数值,检查数据库连接状况,检查系统磁盘空间,检查Oracle各个表空间使用状况,检查某些扩展异常对象,检查system表空间内内容,检核对象下一扩展与表空间最大扩展值,总共七个某些。 4.1. 检查Oracle初始化文献中有关参数值 SQL> select resource_name,max_utilization,initial_allocation, limit_value from v$resource_limit; RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE -------------------- --------------- --------------- --------------- processes 162 500 500 sessions 168 555 555 enqueue_locks 136 6930 6930 enqueue_resources 111 2660 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 gcs_resources 0 0 0 gcs_shadows 0 0 0 dml_locks 76 2440 UNLIMITED temporary_table_locks 26 UNLIMITED UNLIMITED transactions 13 610 UNLIMITED branches 0 610 UNLIMITED cmtcallbk 3 610 UNLIMITED sort_segment_locks 5 UNLIMITED UNLIMITED max_rollback_segments 11 610 65535 RESOURCE_NAME MAX_UTILIZATION INITIAL_ALLOCAT LIMIT_VALUE -------------------- --------------- --------------- --------------- max_shared_servers 1 UNLIMITED UNLIMITED parallel_max_servers 16 80 3600 22 rows selected 若LIMIT_VALU-MAX_UTILIZATION<=5,则表白与RESOURCE_NAME有关Oracle初始化参数需要调节。可以通过修改Oracle初始化参数文献$ORACLE_BASE/admin/CKDB/pfile/initORCL.ora来修改。 4.2. 检查数据库连接状况 查看当前会话连接数,与否属于正常范畴。 SQL> select count(*) from v$session; COUNT(*) ---------- 29 select sid,serial#,username,program,machine,status from v$session; SID SERIAL# USERNAME PROGRAM MACHINE STATUS ---- ---------- ------------ ---------------------------- ------------ -------- 1 3 oracle@xz15saledb (PMON) xz15saledb ACTIVE 2 3 oracle@xz15saledb (DBW0) xz15saledb ACTIVE 3 3 oracle@xz15saledb (DBW1) xz15saledb ACTIVE 4 3 oracle@xz15saledb (LGWR) xz15saledb ACTIVE 5 3 oracle@xz15saledb (CKPT) xz15saledb ACTIVE 6 3 oracle@xz15saledb (SMON) xz15saledb ACTIVE 7 3 oracle@xz15saledb (RECO) xz15saledb ACTIVE 8 1 oracle@xz15saledb (CJQ0) xz15saledb ACTIVE 9 3 oracle@xz15saledb (ARC0) xz15saledb ACTIVE 10 3 oracle@xz15saledb (ARC1) xz15saledb ACTIVE 11 11319 ZK AccPrtInv_svr@xz15tuxedo2 (TNS V1-V3) xz15tuxedo2 INACTIVE 13 48876 ZG upload@xz15saleap (TNS V1-V3) xz15saleap INACTIVE 17 20405 ZK AccCreateRpt@xz15tuxedo1 (TNS V1-V3) xz15tuxedo1 INACTIVE 20 12895 ZK OweScanSvr@xz15billdb (TNS V1-V3) xz15billdb INACTIVE
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服