欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    Oracle+DBA日常工作手册资料.docx

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

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

    Oracle+DBA日常工作手册资料.docx

    1、Oracle+DBA日常工作手册资料Oracle DBA日常工作手册第一章. 事前阶段一、 日常工作每天应做工作内容1、工作内容日常环境监控1.1系统运行环境监控检查文件系统以及oracle数据库数据文件所在卷的使用(剩余空间),如果文件系统的剩余空间小于20%,需要删除不用的文件以释放空间;UNIX系统的文件系统及数据文件所在卷的空间使用率:su oraprod或者su - oratestAIX、linux查看磁盘空间:df k HP-UX查看磁盘空间:bdf1.2数据库运行状况监控1.2.1 外部确认所有的INSTANCE状态正常(保证实例正常),检查Oracle实例核心后台进程是否都存在

    2、、状态是否正常$ ps -ef|grep oraprod查看数据库实例是否能正常连接、访问SQL select status,instance_name from v$instance;监听是否正常$ lsnrctl status1.2.2 内部是否所有表空间都处于online状态SQL select tablespace_name,status from dba_tablespaces;select file#,status,name from v$datafile_header; select file_name,status,tablespace_name from dba_data_f

    3、iles;如果数据文件的STATUS列不是AVAILABLE或者ONLINE,那么就要采取相应的措施,如对该数据文件进行恢复操作,或重建该数据文件所在的表空间。Oracle数据库日志文件是否正常SQL Select * from v$log;SQL Select * from v$logfile;1).检查trace文件记录alert和trace文件中的错误。telnet 192.168.150.1 su oraprod在oraprod用户下$ cd到bdump目录,通常是$ORACLE_BASE/admin/bdump使用Unix的tail -f命令来查看alert_.log文件如果发现任何

    4、新的ORA- 错误,记录并解决2).查看DBSNMP 的运行情况检查每个被管理机器的DBSNMP进程并将它们记录到日志中。在UNIX 中,在命令行中,键入ps ef | grep dbsnmp,将回看到2 个DBSNMP 进程在运行。如果没有,重启DBSNMP。(注意:此步骤在oraprod下只有1个进程,需要研究)3). 检查回滚段回滚段的状态一般是在线的,除了一些为复杂工作准备的专用段一般状态是离线的。a) 每个数据库都有一个回滚段名字的列表。b) 你可以用V$ROLLSTAT 来查询在线或是离线的回滚段的现在状态;1.2.3 日常操作1).不要在服务器上直接执行rm操作当有文件需要删除时

    5、,把这些文件mv到一个规定的文件夹,然后CD进入此文件夹再进行删除操作。(注意:在rm日志文件时直接rm即可,若rm文件夹一定要rm r)2).数据库备份校验命令:rman target /连接到数据库,rmanrestore database validate;3).查看数据库连接信息定时对数据库的连接情况进行检查,看与数据库建立的会话数目是不是正常,如果建立了过多的连接,会消耗数据库的资源。同时,对一些“挂死”的连接,可能需要手工进行清理。以下的SQL语句列出当前数据库建立的会话情况:Select count(*) from v$session; 查看当前会话连接数select sid,s

    6、erial#,username,program,machine,status from v$session;其中, SID 会话(session)的ID号; SERIAL# 会话的序列号,和SID一起用来唯一标识一个会话; USERNAME 建立该会话的用户名; PROGRAM 这个会话是用什么工具连接到数据库的; STATUS 当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作; 如果DBA要手工断开某个会话,则执行: alter system kill session SID,SERIAL#; 注意: USERNAME列为空的会话,是Or

    7、acle的后台进程,不要对这些会话进行任何操作4).查看并发会话量并发会话量正常时段为60以下,查询系统在20以下,如果超过这些指标,则认为系统有阻塞情况,需要查找原因,引起关注。查询系统并发的脚本为:select count(1) from v$session where status=ACTIVE and username not in(SYS,SYSTEM);5).查看是否有僵死进程select spid from v$process where addr not in (select paddr from v$session);有些僵死进程有阻塞其他业务的正常运行,定期杀掉僵死进程6)

    8、.检查数据库定时作业的完成情况如果数据库使用了Oracle的JOB来完成一些定时作业,要对这些JOB的运行情况进行检查:select job,log_user,last_date,failuresfrom dba_jobs;如果FAILURES列是一个大于0的数的话,说明JOB运行失败,要进一步的检查。7).控制文件的备份在数据库结构发生变化时,如增加了表空间,增加了数据文件或重做日志文件这些操作,都会造成Oracle数据库控制文件的变化,DBA应及进行控制文件的备份,备份方法是: 执行SQL语句:alter database backup controlfile to /home/backu

    9、p/control.bak; 或: alter database backup controlfile to trace; 这样,会在USER_DUMP_DEST(初始化参数文件中指定)目录下生成创建控制文件的SQL命令。8).数据库坏块的处理当Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息: ORA-01578: ORACLE data block corrupted (file # 7, block # )ORA-01110: data file : /oracle1/oradata/V920/oradata/V816/users0

    10、1.dbf 其中,AFN代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。解决方式:1确定发生坏块的数据库对象 SELECT tablespace_name,segment_type,owner,segment_nameFROM dba_extentsWHERE file_id = AND between block_id AND block_id+blocks-1;2决定修复方法 如果发生坏块的对象是一个索引,那么可以直接把索

    11、引DROP掉后,再根据表里的记录进行重建; 如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建; 如果有数据库的备份,则恢复数据库的方法来进行修复; 如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块上的记录取出来,然后对这个表进行重建。 3用Oracle提供的DBMS_REPAIR包标记出坏块 exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS(,); 4使用Create table as select命令将表中其它块上的记录保存到另一张表上 create table corrupt_table_bak

    12、as select * from corrupt_table; 5用DROP TABLE命令删除有坏块的表 drop table corrupt_table; 6用alter table rename命令恢复原来的表 alter table corrupt_table_bak rename to corrupt_table; 7如果表上存在索引,则要重建表上的索引 1.3 检查oracle数据库表空间的使用情况1.3.1 检查表空间的使用情况1、查询表空间的总容量select tablespace_name,sum(bytes)/1024/1024 MB from dba_data_files

    13、group by tablespace_name;2、查询表空间未使用的大小select tablespace_name,sum(bytes)/1024/1024 MB from dba_free_spacegroup by tablespace_name;3、(一)查看表空间已经使用的百分比select a.tablespace_name,a.bytes/1024/1024 Sum MB,(a.bytes-b.bytes)/1024/1024 used MB,b.bytes/1024/1024 free MB,round(a.bytes-b.bytes)/a.bytes)*100,2)per

    14、cent_used from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_nameorder by (a.bytes-b.bytes)/a.bytes) desc (二)查看表空

    15、间空闲百分比select a.tablespace_name,round(a.total_size) total_size(MB),round(a.total_size)-round(b.free_size,3) used_size(MB),round(b.free_size,3) free_size(MB),round(b.free_size/total_size*100,2)|% free_ratefrom (select tablespace_name,sum(bytes)/1024/1024 total_size from dba_data_files group by tablesp

    16、ace_name) a,(select tablespace_name,sum(bytes)/1024/1024 free_size from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_name(+); (三) 表空间碎片查询select tablespace_name,Sqrt(max(blocks)/ sum(blocks) * (100/Sqrt(Sqrt(count(blocks) FSFI,count(blocks),sum(blocks),max(blocks)fro

    17、m sys.dba_free_space group by tablespace_name;表空间的碎片合并:alter tablespace tablespace_name coalesce; 然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。如果没有效果,并且表空间对表空间的扩充对表空间的数据文件大小进行扩展,或向表空间增加数据文件,具体操作见“存储管理”部份。 1.3.2 查看oracle数据库的表空间包含的数据文件与增加或者删除数据文件1、查看表空间中包含的数据文件以及数据文件的状态与是否自动扩展大小select file_name,tablespace_name,sta

    18、tus,autoextensible,increment_by,bytes/1024/1024 bytes from dba_data_files2、增加数据文件alter tablespace WANJINadd datafile E:U01APPORACLEORADATAWANJINDBAWANJIN3.DBFsize 10M (autoextend on maxsize 20G)上述语句解释:向WANJIN表空间中增加一个10M大小,最大自动扩展到20G的一个数据文件,括号内的命令可以不执行直接更改数据文件的大小:alter tablespace WANJINDatafile E:U01

    19、APPORACLEORADATAWANJINDBAWANJIN3.DBF resize=100M3、删除表空间数据文件Alter tablespace WANJINDrop datafile E:U01APPORACLEORADATAWANJINDBAWANJIN3.DBF4、检查无效的数据库对象SELECT owner, object_name, object_type FROM dba_objectsWHERE status=INVALID5、检查不起作用的约束SELECT owner, constraint_name, table_name,constraint_type, status

    20、FROM dba_constraintsWHERE status = DISABLED AND constraint_type = P6、检查无效的triggerSELECT owner, trigger_name, table_name, statusFROM dba_triggersWHERE status = DISABLED7、检查数据库控制文件在数据库已经启动的情况下:select * from v$controlfile如果数据库没有启动则: SQLshow parameter control_files;8、查看参数文件是否存在SQLshow parameter spfile;9

    21、、查看缓冲区命中率缓冲区命中率应该保证在95%以上。Select 1-(sum(decode(name,physical reads,value,0)/(sum(decode(name,db block gets,value,0)+(sum(decode(name,consistent gets,value,0) Buffer Hite Rate from v$sysstat;10).检查数据库等待事件如果数据库长时间持续出现大量像buffer busy waits、db file scattered read、db file sequential read、enqueue、free buff

    22、er waits、latch free、log file sync、log file paralle write等等非空闲待事件时,需要对其进行分析,可能存在问题的语句。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%;11).检查数据库锁表情况select sid,serial#,username,SCHEMANAME,osuser,MACHINE,terminal,PROGRAM,owner,o

    23、bject_name,object_type,o.object_id from dba_objects o,v$locked_object l,v$session s where o.object_id=l.object_id and s.sid=l.session_id;解锁处理:alter system kill session &sid,&serial#;2、工作内容日常性能监控2.1 间隔一段时间使用操作系统top等工具监控UNIX操作系统资源动态运行状况CPU、内存、网络、IO、进程、页面交换等主要活动监控: top、topas、vmstat、sar、iostat等2.2间隔一段时间

    24、对数据库性能进行监控Oracle 11g 图形工具Performance Manager监控顶层会话及顶层SQL1 打开OEM控制台,选中要监控的数据库(oracle中OEM后台进程运行命令:Windows:dos下执行emctl start dbconsoleLinux在su - oraprod下执行emctl start dbconsole网址是: https:/localhost:1158/em/查看oracle版本命令:select banner from sys.v_$version;)2 介绍OEM主要内容Oracle 11g的OEM主要监控:主机CPU,IO情况,Oracle数据

    25、库进程情况,SQL相应时间等;登录Oracle 11g OEM,选择性能其它监视链接:顶级活动点击“顶级会话”中的“活动百分比”较高的“会话ID” 点击该会话ID对应的SQL ID,查看该顶级会话中SQL的详细信息点击“计划”“表”标签,查看该SQL语句的详细执行计划浏览该顶层会话对应SQL语句的详细信息3、工作内容日常数据库管理3.1一天内间隔一定时间运行3.1.1检查警告日志文件中最新错误信息Linux、Unix系列平台:vi $ORACLE_BASE/bdump/alert_.log输入:“/ORA” 回车进行查找(此步骤为在.log文件中搜索包含该内容的语句)3.1.2系统运行状况快照

    26、采集每天根据实际情况,在以下三个阶段手工运行Statspack快照采集,输出快照报表: 正常工作压力下 每天业务最高峰期 特殊业务运行阶段Oracle 11g OEM图形管理工具实现系统快照采集Oracle 11g OEM图形工具自动执行快照采集,缺省1小时收集一次,可以根据实际情况修改收集间隔时间、降低对系统性能影响。系统快照自动收集时间、间隔、保留期限设置登录Oracle10g OEM,选择服务器自动工作量资料档案库点击编辑,查看或修改快照收集时间及间隔 Oracle11g缺省系统快照每隔一小时执行一次,保留最近8天的所有快照,可根据实际情况修改调整,点确定后保存所做修改。创建当前时间点系

    27、统快照点击管理快照和保留的快照集下面的当前快照ID选择起始快照,点击创建选择“是”开始执行快照创建快照在当前时间点成功创建。输出两个快照时间点之间的快照信息报表把“创建保留的快照集”改为“查看报告”,选择起始快照号,点击“开始”选择结束快照号,点击“确定”开始创建两个快照时间点之间的所有统计信息报告另存该输出快照报告为HTML文件注:生成的统计信息快照报告放在专门目录下,定期对其整理、分析,作为EAS数据库运行整体状况及问题诊断的依据。3.2 每天工作结束后、系统空闲时运行3.2.1 图形界面查看表空间使用率 Oracle 11g OEM表空间管理登录OEM后选择主目录空间概要数据库大小在该界

    28、面下可以看到表空间使用率,以及可以添加表空间和增加数据文件。3.2.2数据库备份及日志清理数据库备份主要提供两种方式,物理备份及逻辑备份,物理备份主要使用Oracle RMAN工具,逻辑备份主要使用Oracle导出工具Exp及Expdp。Oracle 物理备份(RMAN)该方式下周一到周五每天做一次增量备份,并检查备份是否正确,同时清理归档日志。Oracle11g OEM图形化方式设置RMAN备份自动执行任务RMAN备份主要参数设置登录11g OEM,选择:可用性 备份/恢复/备份设置磁盘设备备份路径、并行度指定(根据服务器cpu个数匹配)在这里的的用户名和密码是操作系统的用户和密码;备份策略

    29、设置主要是指定备份磁盘位置及备份保留时间,下图设置中为周备份策略考虑,保留最近7天备份。两种RMAN自动调度备份策略1) 使用Oracle建议的自动调度备份策略选择可用性管理调度备份选择“调度Oracle建议的备份”选择备份目标介质,缺省备份到磁盘介质该备份策略内容描述设置该策略执行数据库全量或增量备份的调度时间调度oracle建议的备份:复查2) 自定义RMAN自动备份策略选择“可用性管理调度备份调度定制备份”选择备份类型、归档日志、过时备份清理策略 备份目标介质设置(缺省使用前面“备份设置”中设置的参数)备份自动执行的调度备份设置信息复查,确定后提交作业通过查看作业可以了解备份任务进展情况

    30、。3) 查看当前数据库RMAN备份信息选择可用性管理备份报告,可以查看所有备份执行情况注:前面描述的是数据库全量备份的调度策略设置,增量备份的调度策略设置方法类似,只需要在备份类型中选择增量备份即可。设置完成后EAS数据库自动备份策略为一周一次全量备份,在星期六晚上12点进行。周一到周五每天晚上12点执行一次增量备份,保留最近7天备份,过期备份、归档日志自动删除。Oracle逻辑备份(EXP/EXPDP)1) 操作系统级设置自动备份任务root用户登录操作系统,运行crontab e,添加以下内容:50 23 * * 1-6 su oracle -c /usr/app/oracle/expdp/eas_expdp_MontoSat.sh /dev/null 2&1#星期一到星期六晚上11点50导出数据50 23 * * 0 su oracle -c /usr/app/oracle/expdp/eas_expdp_Sunday.sh /dev/null 2&1#星期


    注意事项

    本文(Oracle+DBA日常工作手册资料.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开