欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Oracle数据库日常检查文档(共7页).doc

    • 资源ID:16723688       资源大小:93.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Oracle数据库日常检查文档(共7页).doc

    精选优质文档-倾情为你奉上数据库日常检查文档1. 检查表空间使用情况:1.1 检查是否开启自扩展功能:select tablespace_name,file_name,file_id,autoextensible,round(increment_by*8191)/(1024*1024),2)|'M' as 自扩展大小M from dba_data_files; 目的:检查表空间是否开启自扩展功能。若检查自扩展特别小,请用下面的方法把自扩展根据数据量增长情况调大。alter database datafile '新增加数据文件路径' autoextend    on next *M maxsize unlimited;-把*替换为你需要的自扩展大小1.2 检查表空间的使用情况:select a.tablespace_name,a.totals 总大小M,b.frees 空闲大小M,round(a.totals-b.frees)/a.totals,4)*100|'%' 使用率from (select sum(bytes)/(1024*1024) as totals,tablespace_namefrom dba_data_filesgroup by tablespace_name) a,(select sum(bytes)/(1024*1024) as frees,tablespace_namefrom dba_free_spacegroup by tablespace_name) bwhere a.tablespace_name=b.tablespace_name ;目的:当表空间没有开启自扩展功能时,表空间的使用率大于等于85%时,需要向表空间增加数据文件。开启自扩展功能的表空间,检查常用的表空间自扩展的大小不小于100M。注:检查ulog用户对应的表空间:select default_tablespacefrom dba_userswhere username='ULOG' Ulog用户下的tlog表主要是记录日志的,因为大部分的报表涉及记录日志。所以,ulog用户对应的表空间不管是开启还是未开启自扩展功能,当ulog对应的表空间的使用率大于等于85%时,就对性能有影响,考虑truncate释放空间或是扩空间。解决办法:手工降低使用率的方法:Alter database datafile 数据文件的路径 resize *M;另一种情况:当前的文件是开启自扩展的,但是要扩展的数据文件已经到达限制值32G了,此时的解决办法:alter tablespace 表空间名 add datafile '新增加数据文件路径' size 5120M;-向表空间中增加数据文件alter database datafile '新增加数据文件路径' autoextend    on next 100M maxsize unlimited;-开启自动扩展alter database datafile '达到最大值的数据文件路径' AUTOEXTEND off;-关闭之前文件的自扩展2. 定期检查磁盘的使用情况:2.1 Windows下检查执行下面sql,获得数据文件的路径:select file_name from dba_data_files;Windows下直接检查数据文件所在的盘的总大小和可用空间,当使用率为85% 时,清除数据文件所在的盘上无用的数据,或考虑增加硬件。2.2 Linux或是unix下:Linux或是unix下检查oracle的安装所用的盘,检查变量ORACLE_BASE所在目录的磁盘的使用情况,当使用率大于或等于90%时,需要清除无用的资料或是考虑增加硬件。例如,linux下用df命令 :rootrac1 /# df文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda1 91% /dev/sda2 39% /u01/oracletmpfs 0 0% /dev/shm3. 常规检查:3.1 检查是否有无效的对象:select owner as 用户,object_name as 对象名,object_type as 对象类型 from dba_objects where status='INVAID'目的:若查询有结果,对无效对象需要重新编译。 Alter object_type owner.object_name compile;3.2 检查不可用的主键:select owner,constraint_name,table_namefrom dba_constraints where status!='ENABLED' and constraint_type='P'目的:若查询有数据,执行下面语句的执行结果。select 'alter table '|owner|'.'|table_name|' enable constraints '|constraint_name|'' from dba_constraints where status!='ENABLED' and constraint_type='P'3.3 检查不可用的触发器:select owner,trigger_namefrom dba_triggers where status!='ENABLED'目的:若查询有数据,执行下面语句的执行结果。select 'alter trigger '|owner|'.'|trigger_name|' enable;'from dba_triggers where status!='ENABLED'3.4 检查session和process:对照当前使用数和参数设置值:Select count(*) from v$session ;Select count(*) from v$process;数据库设置值:select name,value from v$parameter where name in('sessions','processes');注:以 v$开头的表需要是业务高峰时的数据对分析才有作用。注:现场工程在使用pl/sql developer时,因多个sql窗口会增加sessions和process数,尽量在一个sql窗口操作。3.5 检查job:检查参数:当前数据库的并发可执行的job数量:select name,valuefrom v$parameterwhere name='job_queue_processes'查询当前数据中所有的job:select * from dba_jobs;涉及检查项:LOG_USER,提交任务的用户 ;PRIV_USER ,赋予任务权限的用户 ;SCHEMA_USER ,对任务作语法分析的用户模式;THIS_DATE ,表示正在运行任务的开始时间;LAST_DATE:最后一次成功运行完此job的时间;NEXT_DATE:下一次运行job的开始时间; INTERVAL:用于计算下一运行时间的表达式;What:执行任务的PL/SQL块。结果判断:1、 若有创建在sys或是system用户下的业务job需要删除,重新创建在业务用户下。2、 如果Next_date是晚上21点执行的job,在第二天上午9点查询dba_jobs表时,this_date列不为空表示此job仍在执行。那么就需要优化what列显示的存储过程了。3、 当FAILURE<>0时,job不能执行成功。检查并发可执行的job进程数是否够用,根据next_date判断下次需要并发执行的job数与参数job_queue_processes的设置数比较?若不够,修改方法:Alter system set job_queue_processes=11 scope=both;3.6 检查数据文件的状态:select * from v$datafile where status not in('SYSTEM','ONLINE');目的:若查询无结果,表示数据文件正常。3.7 检查数据库的模式:Select name,Created, Log_Mode From V$Database;若log_mode为archive,当value不为空时,检查对应目录下的空间使用情况:select value from v$parameter where name= 'log_archive_dest_1'若归档日志存在use_db_recovery_file_dest下,检查下面视图归档日志的使用情况:select percent_space_usedfrom v$flash_recovery_area_usage where file_type='ARCHIVELOG'当空间使用百分比(percent_space_used)为85%时,需要释放空间。若使用的是asm 自动存储管理,检查空闲大小是否够用:select group_number,name,total_MB as 总大小,free_MB as 空闲大小from v$asm_diskgroup;3.8 检查锁的情况:检查是否发生阻塞:select /*+ ordered*/ sql_text, spid, p.pid, s.sid, s.username, s.program, process from v$sqlarea q, v$session s, v$process p where q.address = s.sql_address and q.hash_value = s.sql_hash_value and s.paddr = p.addr and exists (select sid from v$lock where block=1 and sid=s.sid);目的:若有结果,发回sql的执行结果,开发人员检查sql涉及的程序。 导出结果后杀掉session。杀session步骤:Alter system kill session SID,SERIAL#;有时候杀掉session后,session对应的进程好长时间不释放,占用资源,需要从操作系统级杀掉session: select spid, osuser, s.program from v$session s,v$process pwhere s.paddr=p.addr and s.sid=&sid;1)在unix上,用root身份执行命令: #kill -9 123(上面语句查询出的spid)2)在windows用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:orakill sid thread 例如:orakill cangzhoucg 123检查是否有锁等待:select /*+ ordered*/ sql_text, spid, p.pid, s.sid, s.username, s.program, process from v$sqlarea q, v$session s, v$process p where q.address = s.sql_address and q.hash_value = s.sql_hash_value and s.paddr = p.addr and exists (select sid from v$lock where request > 0 and block<>1 and sid=s.sid);检查目的:检查哪些语句一直在等待资源释放,正常的锁等待时间不会持续很长,持续时间较长的就尽快导出结果以便处理。4. 检查数据库的alert日志执行下面sql获得alert日志的路径:select a.value|' 下的alert_'|b.instance_name|'.log' from v$parameter a,gv$instance bwhere a.name ='background_dump_dest'注:若数据库为集群环境,查出的结果是二条,需要分别取二台数据库服务器所查目录下的alert日志。目的:检查最近日期的alert日志是否有以ora-开头的错误或异常信息。5. 检查tlog的错误日志select * from ulog.tlog where llevel=30 and ldate>=sysdate-1 order by id desc;目的:检查tlog表的错误日志。6. 数据库连接不上时当发现连接不上数据库,若是单实例的从以下方面检查:1、 检查网络是否正常;2、 检查数据库目前的运行状态,若用pl/sql也连接不上时,采用sqlplus执行。Select instance_name,status from v$instance;-正常情况下status为open状态若是rac,首先检查集群服务是否都启动正常:Crs_stat t -此命令在windows下直接在c:>下执行,若在linux或是unix下,切换操作系统用户oracle下,执行此命令,正常情况下状态都应该online。专心-专注-专业

    注意事项

    本文(Oracle数据库日常检查文档(共7页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开