您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle日常维护
oracle日常维护工作内容oracle日常维护工作内容oracle日常维护工作内容ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控:(1).每天对ORACLE数据库的运行状态,日志文件,备份情况,数据库的空间使用情况,系统资源的使用情况进行检查,发现并解决问题。(2).每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。(3).检查表空间碎片,提出下一步空间管理计划。对ORACLE数据库状态进行一次全面检查。====================★每天的工作★====================(1).确认所有的INSTANCE状态正常.登陆到所有数据库或例程,检测ORACLE后台进程:$ps–-ef|grepora(2).检查文件系统的使用(剩余空间)。如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。对于太平洋业务交易生产系统,要特别关注:/u01和数据库日志归档目录,当空间不足,请急时清理.$df-k$df-h(3).检查日志文件和trace文件记录alert和trace文件中的错误.连接到每个需管理的系统※使用’telnet’※对每个数据库,cd到bdump目录,通常是$ORACLE_BASE/admin/SID/bdump※使用Unix‘tail’命令来查看alert_SID.log文件※如果发现任何新的ORA-错误,记录并解决(4).检查数据文件的状态记录状态不是“online”的数据文件,并做恢复。Selectfile_namefromdba_data_fileswherestatus=’OFFLINE’(5).检查表空间的使用情况--如果有表空间大于90%的就应该在当天清算前,增大该表空间,但对于(temp,undo)表空间除外,--重点关注HS_HIS_data和HS_HIS_IDX这两个表空间.SELECTd.tablespace_name,SPACESUM_SPACE(M),blockssum_blocks,SPACE-NVL(free_space,0)USED_SPACE(M),ROUND((1-NVL(free_space,0)/SPACE)*100,2)USED_RATE(%),free_spaceFREE_SPACE(M)FROM(SELECTtablespace_name,ROUND(SUM(BYTES)/(1024*1024),2)SPACE,SUM(blocks)blocksFROMdba_data_filesGROUPBYtablespace_name)d,(SELECTtablespace_name,ROUND(SUM(BYTES)/(1024*1024),2)free_spaceFROMdba_free_spaceGROUPBYtablespace_name)fWHEREd.tablespace_name=f.tablespace_name()UNIONALL--ifhavetempfileSELECTd.tablespace_name,SPACESUM_SPACE(M),blockssum_blocks,used_spaceUSED_SPACE(M),ROUND(NVL(used_space,0)/SPACE*100,2)USED_RATE(%),NVL(free_space,0)FREE_SPACE(M)FROM(SELECTtablespace_name,ROUND(SUM(BYTES)/(1024*1024),2)SPACE,SUM(blocks)blocksFROMdba_temp_filesGROUPBYtablespace_name)d,(SELECTtablespace_name,ROUND(SUM(bytes_used)/(1024*1024),2)used_space,ROUND(SUM(bytes_free)/(1024*1024),2)free_spaceFROMv$temp_space_headerGROUPBYtablespace_name)fWHEREd.tablespace_name=f.tablespace_name();(6).检查剩余表空间/*Formattedon2007/03/0115:56(FormatterPlusv4.8.7)*/SELECTtablespace_name,SUM(blocks)ASfree_blk,TRUNC(SUM(BYTES)/(1024*1024))ASfree_m,MAX(BYTES)/(1024)ASbig_chunk_k,COUNT(*)ASnum_chunksFROMdba_free_spaceGROUPBYtablespace_name;(7).监控数据库性能运行AWR生成系统报告或者使用statspack收集统计数据※注意:TOP-5事件(8).检查数据库性能,记录数据库的cpu使用、IO、buffer命中率等等使用vmstat,iostat,glance,top等命令(9).日常出现问题的处理。====================★每周的工作★====================(1).监控数据库对象的空间扩展情况根据本周每天的检查情况找到空间扩展很快的数据库对象,并采取相应的措施---重点关注HS_HIS_data和HS_HIS_IDX这两个表空间---删除历史数据---扩表空间altertablespacenameadddatafile‘file’sizesize;EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;(2).监控数据量的增长情况根据本周每天的检查情况找到记录数量增长很快的数据库对象,并采取相应的措施---重点关注HS_HIS_data和HS_HIS_IDX这两个表空间---删除历史数据---扩表空间altertablespacenameadddatafile‘file’sizesize;EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;(3).系统健康检查检查以下内容:initsid.oracontrolfileredologfilearchivingsortareasizetablespace(system,temporary,tablespacefragment)datafiles(online/offline)object(numberofextent,nextextent,index)rollbacksegmentlogging&tracing(alert.log,max_dump_file_size,sqlnet)(4).检查无效的数据库对象/*Formattedon2007/03/0116:04(FormatterPlusv4.8.7)*/--lookoverinvalidobjectsSELECTowner,object_name,object_typeFROMdba_objectsWHEREstatus='invalid';(5).检查不起作用的约束/*Formattedon2007/03/0116:07(FormatterPlusv4.8.7)*/SELECTowner,constraint_name,table_name,constraint_type,statusFROMdba_constraintsWHEREstatus='DISABLED'ANDconstraint_type='P';(6).检查无效的trigger/*Formattedon2007/03/0116:08(FormatterPlusv4.8.7)*/--lookovertriggersstateSELECTowner,trigger_name,table_name,statusFROMdba_triggersWHEREstatus='DISABLED';====================★每月的工作★====================(1).检查表空间碎片根据本月每周的检查分析数据库碎片情况,找到相应的解决方法(2).寻找数据库性能调整的机会比较每天对数据库性能的监控报告,确定是否有必要对数据库性能进行调整(3).数据库性能调整如有必要,进行性能调整(4).提出下一步空间管理计划根据每周的监控,提出空间管理的改进方法============================================================================||★★★OracleDBA日常管理★★★||============================================================================目的:这篇文档有很详细的资料记录着对一个甚至更多的ORACLE数据库每天的,每月的,每年的运行的状态的结果及检查的结果,在文档的附录中你将会看到所有检查,修改的SQL和PL/SQL代码。-------------★目录★-------------1.日常维护程序A.检查已起的所有实例B.查找一些新的警告日志C.检查DBSNMP是否在运行D.检查数据库备份是否正确E.检查备份到磁带中的文件是否正确F.检查数据库的性能是否正常合理,是否有足够的空间和资源G.将文档日志复制到备份的数据库中H.要常看DBA用户手册2.晚间维护程序A.收集VOLUMETRIC的数据3.每周维护工作A.查找那些破坏规则的OBJECTB.查找是否有违反安全策略的问题C.查看错误地方的SQL*NET日志D.将所有的警告日志存档E.经常访问供应商的主页4.月维护程序A.查看对数据库会产生危害的增长速度B.回顾以前数据库优化性能的调整C.查看I/O的屏颈问题D.回顾FRAGMENTATIONE.将来的执行计划F.查看调整点和维护5.附录A.月维护过程B.晚间维护过程C.周维护过程6.参考文献---------------------------------------------------------------==================★一.日维护过程★==================A.查看所有的实例是否已起确定数据库是可用的,把每个实例写入日志并且运行日报告或是运行测试文件。当然有一些操作我们是希望它能自动运行的。可选择执行:用ORACLE管理器中的‘PROBE’事件来查看B.查找新的警告日志文件1).联接每一个操作管理系统2).使用‘TELNET’或是可比较程序3).对每一个管理实例,经常的执行$ORACLE_BASE/SID/bdump操作,并使其能回退到控制数据库的SID。4).在提示下,使用UNIX中的‘TAIL’命令查看alert_SID.log,或是用其他方式检查文件中最近时期的警告日志5).如果以前出现过的一些ORA_ERRORS又出现,将它记录到数据库恢复日志中并且仔细的研究它们,这个数据库恢复日志在〈FILE〉中C.查看DBSNMP的运行情况检查每个被管理机器的‘DBSNMP’进程并将它们记录到日志中。在UNIX中,在命令行中,键入ps–ef|grepdbsnmp,将回看到2个DBSNMP进程在运行。如果没有,重启DBSNMP。D.查数据库备份是否成功E.检查备份的磁带文档是否成功F.检查对合理的性能来说是否有足够的资源1).检查在表空间中有没有剩余空间。对每一个实例来说,检查在表空间中是否存在有剩余空间来满足当天的预期的需要。当数据库中已有的数据是稳定的,数据日增长的平均数也是可以计算出来,最小的剩余空间至少要能满足每天数据的增长。A)运行‘FREE.SQL’来检查表空间的剩余空间。B)运行‘SPACE.SQL’来检查表空间中的剩余空间百分率2).检查回滚段回滚段的状态
本文标题:Oracle日常维护
链接地址:https://www.777doc.com/doc-6401457 .html