Oracle巡检内容
一、检查数据库基本状况
序号
内容
命令
关注点
1。1
检查Oracle实例状态
selectinstancename,hostname,startuptime,status,databasestatusfromvinstance
其中STATUS表示Oracle当前的实例状态,必须为OPEN;DATABASESTATUS表示Oracle当前数据库的状态,必须为ACTIVE。
1。2
检查Oracle在线日志状态
selectgroup,status,type,memberfromvlogfile
输出结果应该有3条以上(包含3条)记录,STATUS应该为非INVALID,非DELETED。
1。3
检查Oracle表空间的状态
selecttablespacename,statusfromdbatablespaces
输出结果中STATUS应该都为ONLINE。
1。4
检查Oracle所有数据文件状态
selectname,statusfromvdatafile
输出结果中STATUS应该都为ONLINE。或者:
1。5
检查无效对象
selectowner,objectname,objecttypefromdbaobjectswherestatus!VALIDandowner!SYSandowner!SYSTEM
如果有记录返回,则说明存在无效对象。若这些对象与应用相关,那么需要重新编译生成这个对象,或者:
1。6
检查所有回滚段状态
selectsegmentname,statusfromdbarollbacksegs
输出结果中所有回滚段的STATUS应该为ONLINE。
二、检查Oracle相关资源的使用情况
2。1
检查Oracle初始化文件中相关参数值
selectresourcename,maxutilization,initialallocation,limitvaluefromvresourcelimit
若LIMITVALUMAXUTILIZATION5,则表明与RESOURCENAME相关的Oracle初始化参数需要调整。可以通过修改Oracle初始化参数文件ORACLEBASEadminorclpfileinitORCL。ora来修改。
2。2
检查数据库连接情况
selectcount()fromvsession;selectsid,serial,username,program,machine,statusfromvsession
STATUS当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作
2。3
检查系统磁盘空间
dfg
如果文件系统的剩余空间过小或增长较快,需对其进行确认并删除不用的文件以释放空间。
2。4
检查表空间使用情况
selectf。tablespacename,a。total,f。free,round((f。freea。total)100)Freefrom(selecttablespacename,sum(bytes(10241024))totalfromdbadatafilesgroupbytablespacename)a,(selecttablespacename,round(sum(bytes(10241024)))freefromdbafreespacegroupbytablespacename)fWHEREa。tablespacenamef。tablespacename()orderbyFree
如果空闲率Free小于10(包含10),则注意要增加数据文件来扩展表空间而不要是用数据文件的自动扩展功能。
2。5
检查一些扩展异常的对象
selectSegmentName,SegmentType,TableSpaceName,(ExtentsMaxextents)100PercentFromsys。DBASegmentsWhereMaxExtents!0and(ExtentsMaxextents)10095orderByPercent
如果有记录返回,则这些对象的扩展已经快达到它定义时的最大扩展值
2。6
检查system表空间内的内容
selectdistinct(owner)fromdbatableswheretablespacenameSYSTEMandowner!SYSandowner!SYSTEMunionselectdistinct(owner)fromdbaindexeswheretablespacenameSYSTEMandowner!SYSandowner!SYSTEM
如果记录返回,则表明system表空间内存在一些非system和sys用户的对象。应该进一步检查这些对象是否与我们应用相关。如果相关请把这些对象移到非System表空间,同时应该检查这些对象属主的缺省表空间值。
2。7
检查对象的下一扩展与表空间的最大扩展值
selecta。tablename,a。nextextent,a。tablespacenamefromalltablesa,(selecttablespacename,max(bytes)asbigchunkfromdbafreespacegroupbytablespacename)fwheref。tablespacenamea。tablespacenameanda。nextextentf。bigchunkunionselecta。indexname,a。nextextent,a。tablespacenamefromallindexesa,(selecttablespacename,max(bytes)asbigchunkfromdbafreespacegroupbytablespacename)fwheref。tablespacenamea。tablespacenameanda。nextextentf。bigchunk
如果有记录返回,则表明这些对象的下一个扩展大于该对象所属表空间的最大扩展值,需调整相应表空间的存储参数。
三、检查Oracle数据库性能
3。1
检查数据库的等待事件
selectsid,event,p1,p2,p3,WAITTIME,SECONDSINWAITfromvsessionwaitwhereeventnotlikeSQLandeventnotlikerdbms
如果数据库长时间持续出现大量像latchfree,enqueue,bufferbusywaits,dbfilesequentialread,dbfilescatteredread等等待事件时,需要对其进行分析,可能存在问题的语句。
3。2
DiskRead最高的SQL语句的获取
SELECTSQLTEXTFROM(SELECTFROMVSQLAREAORDERBYDISKREADS)WHEREROWNUM5
3。3
查找前十条性能差的sql
SELECTFROM(SELECTPARSINGUSERIDEXECUTIONS,SORTS,COMMANDTYPE,DISKREADS,SQLTEXTFROMVSQLAREAORDERBYDISKREADSDESC)WHEREROWNUM10
3。4
等待时间最多的5个系统等待事件的获取
SELECTFROM(SELECTFROMVSYSTEMEVENTWHEREEVENTNOTLIKESQLORDERBYTOTALWAITSDESC)WHEREROWNUM5
3。5
检查运行很久的SQL
SELECTUSERNAME,SID,OPNAME,ROUND(SOFAR100TOTALWORK,0)ASPROGRESS,TIMEREMAINING,SQLTEXTFROMVSESSIONLONGOPS,VSQLWHERETIMEREMAINING0ANDSQLADDRESSADDRESSANDSQLHASHVALUEHASHVALUE
3。6
检查碎片程度高的表
SELECTsegmentnametablename,COUNT()extentsFROMdbasegmentsWHEREownerNOTIN(SYS,SYSTEM)GROUPBYsegmentnameHAVINGCOUNT()(SELECTMAX(COUNT())FROMdbasegmentsGROUPBYsegmentname)
3。7
检查表空间的IO比例
SELECTDF。TABLESPACENAMENAME,DF。FILENAMEFILE,F。PHYRDSPYR,F。PHYBLKRDPBR,F。PHYWRTSPYW,F。PHYBLKWRTPBWFROMVFILESTATF,DBADATAFILESDFWHEREF。FILEDF。FILEIDORDERBYDF。TABLESPACENAME
3。8
检查死锁及处理
selectsid,serial,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,objectname,objecttype,o。objectidfromdbaobjectso,vlockedobjectl,vsessionswhereo。objectidl。objectidands。sidl。sessionid
四、检查数据库cpu、IO、内存性能
4。1
CPU使用情况topas
vmstat110
4。2
内存使用情况lspsa
vmstat
当剩余内存低于总内存的10时视为异常。
4。3
系统IO情况
iostat110
4。4
系统负载情况topas
vmstat
4。5
查看是否有僵死进程
selectspidfromvprocesswhereaddrnotin(selectpaddrfromvsession)
有些僵尸进程有阻塞其他业务的正常运行,定期杀掉僵尸进程。
4。6
检查行链接迁移
selecttablename,numrows,chaincntFromdbatablesWherechaincnt0
4。7
定期做统计分析
需要定期对数据对象的统计信息进行采集更新,使优化器可以根据准备的信息作出正确的explainplan。在以下情况更需要进行统计信息的更新:a。应用发生变化b。大规模数据迁移、历史数据迁出、其他数据的导入等c。数据量发生变化查看表或索引的统计信息是否需更新
4。8
检查缓冲区命中率
SELECTa。VALUEb。VALUElogicalreads,c。VALUEphysreads,round(100(1c。value(a。valueb。value)),4)hitratioFROMvsysstata,vsysstatb,vsysstatcWHEREa。NAMEdbblockgetsANDb。NAMEconsistentgetsANDc。NAMEphysicalreads
如果命中率低于90则需加大数据库参数dbcachesize。
4。9
检查共享池命中率
selectsum(pinhits)sum(pins)100fromvlibrarycache
如低于95,则需要调整应用程序使用绑定变量,或者调整数据库参数sharedpool的大小。
4。10
检查排序区
selectname,valuefromvsysstatwherenamelikesort
如果disk(memotyrow)的比例过高,则需要调整sortareasize(workareasizepolicyfalse)或pgaaggregatetarget(workareasizepolicytrue)。
4。11
检查日志缓冲区
selectname,valuefromvsysstatwherenamein(redoentries,redobufferallocationretries)
五、其他检查
5。1
OracleJob是否有失败
selectjob,what,lastdate,nextdate,failures,brokenfromdbajobs
如有问题建议重建job
5。2
检查失效的索引
selectindexname,tablename,tablespacename,statusFromdbaindexesWherestatusVALID
分区表上的索引status为NA是正常的,如有失效索引则对该索引做rebuild
5。3
检查不起作用的约束
SELECTowner,constraintname,tablename,constrainttype,statusFROMdbaconstraintsWHEREstatusDISABLEandconstrainttypeP
如有失效约束则启用
5。4
检查无效的trigger
SELECTowner,triggername,tablename,statusFROMdbatriggersWHEREstatusDISABLED
如有失效触发器则启用(视情况而定)
六、检查Oracle数据库备份结果
6。1
检查数据库备份日志信息Rmantarget
listbackupofdatabase;以及listbackupofarchivelogall;
可以看到近两日的0级整库备份文件。以及归档日志和控制文件的备份。
七、alert日志分析
7。1
alertsid。log日志分析
tailn200alertoracle。log
正常
聪明车智慧路破解城市交通难题原标题:聪明车智慧路破解城市交通难题聪明的车,就是利用人工智能技术,实现汽车的智能网联,甚至无人驾驶。智慧的路,就是建设智慧道路、智慧路网,以此推动智慧城市的建设。……
佳能庆祝在全球可换镜数码相机市场连续19年占有率第一佳能公司今天宣布旗下的可换镜数码相机(数码单反相机及微单相机)从2003年至2021年,已经连续19年实现全球市场占有率第一。适合专业摄影师和爱好者使用的EOSR3全画幅……
打通科技成果转化最初1公里!这个中心,厉害了作者郑金武近期,清华大学教师团队的新一代固体氧化物电解池(SOEC)电解水制氢技术产品样机项目,在北京清华工业开发研究院(以下简称清华工研院)概念验证中心完成了概念验证,……
网络货运模式兴起,强势赋能物流企业新物流时代,网络货运系统搭建应该发挥怎样的价值呢?除了提升运输效率和降低物流综合成本之外,物流行业更应该向绿色、低碳物流演进。同时也要更加侧重数字生产力的创造,推动行业数……
被英特尔收购的Centaur,也曾是X86领域的王者前不久,威盛科技对外宣布将其旗下x86处理器研发子公司CentaurTechnology(以下简称Centaur)的一部分开发部门出售给英特尔,交易价格为1。25亿美元(约合人……
LinuxKernel5。0正式面向公众发布LinusTorvalds今日宣布:期待已久的Linux5。0内核系列,终于在今天迎来了面向公众发布的大版本更新。Linux5。0内核系列的开发工作,属于两个月前。期间,维护团……
物流行业发展前景想要更多行业资讯,欢迎关注公众号中研网物流一词最早来源于美国。2001年8月1日正式实施的《中华人民共和国国家标准物流术语》中,对物流进行了定义物流是指从供应地向接收地的……
为什么高德,百度这些公司的卫星地图比谷歌差那么多?差哪了?呵呵预设立场提问,和以前的悟空问答是一个套路说到底还是技术的问题,谷歌不会把核心技术提供给竞争对手,中国的导航发展时间短,技术落后是很定没法跟发展了很多年的……
ios14。4。8系统有什么功能?苹果现在只提供到ios14。4测试版本,1、在刘海屏手机增加了轻触背面的一个功能,这个功能就是你轻点手机背部就可以完成一些操作,比如截屏,或者锁定,设备静音等等,这个功能只有苹……
000723美锦能源000723美锦能源关键点位:支撑位10。0元阻力位14。0元基本面:公司主要从事煤炭、焦化、天然气、氢燃料电池汽车为主的新能源汽车等商品的生产销售。涉及煤炭、石墨……
离了华为真不行!鸿蒙上线时间确定,新荣耀将何去何从?今年一季度手机厂商为争夺市场份额使出浑身解数,搭载骁龙888870、天玑12001100的手机都被冠以旗舰二字,性价比旗舰、中端旗舰、高端旗舰等眼花缭乱的营销噱头层出不穷,但真……
数字人民币登上全球舞台,挑战美元的金融强权作者:克里斯托弗A麦克纳利(ChristopherA。McNally),美国檀香山查明纳德大学政治经济学教授、檀香山东西方研究中心兼职高级研究员。近几个月,随着比特币和以……