oracle健康检查(巡检)手册培训内容•了解ORACLE系统检查的检查范围。•了解ORACLE系统检查的基本要素•学习检查时使用到的sql语句•学习检查时使用的基本工具•完成一个基本的系统健康检查检查目的•Oracle运行久了之后就会出现各种问题,我们就要在出问题之前经常关注它,她感冒了就要吃点药,这样就不会拖成肺炎。•再者,我们经常检查我们的数据库,也会加深大家的感情,有句话叫做,感情深了好办事嘛。久而久之,你将和她越来越熟路。•我们这里进行的是一个初步的检查,不涉及深入的性能分析,嘿嘿,那可难多了,不是新手可以做的事情,等以后大家和她的感情更深点,你就有能力让她办更多事情了。所以啊,加深感情是王道,花前月下先……•为了得到她,我们要从哪里下手呢?!检查范围…•主机配置•内存参数•系统配置:•硬盘利用率和可用空间•CPU利用率•当前操作系统补丁情况•Oracle配置:•配置文件的内容和位置•目录结构•数据文件和位置…检查范围•表空间•Invalid数据库对象•数据库运行日志文件alert.log•网络信息和NET8:•TCP/IP配置,•Network吞吐量•NET8信息•数据库备份和恢复概况:•备份策略•恢复策略•工欲善其事,必先利其器•---拿出我们的降龙十八掌吧健康检查基本工具•ORACLE工具RDA(REMOTEDIAGNOSTICAGENT)进行系统信息收集.•操作系统工具和命令检查操作系统。•SQL命令检查数据库配置,SQL命令在ORACLE工具SQL*PLUS中运行。•ORACLE工具STATSPACK进行数据库性能资料的收集.•要了解一个人,就必须了解她所处的环境•系统参数检查主机配置ValueServernameOSVersionCPUMemory主机型号内存参数ParameterNameValuemaxsharedmemorysegmentsize(SHMMAX)sharedmemoryidentifiers(SHMMNI)maxattachedshmsegmentsperprocess(SHMSEG)Oracle用户限制•time(seconds)unlimited•file(blocks)unlimited•data(kbytes)1048576•stack(kbytes)131072•memory(kbytes)unlimited•coredump(blocks)4194303•nofiles(descriptors)2048硬盘可用空间Filesystemkbytesusedavail%usedMountedon/dev/vg00/lvol32097152399680168425619%//dev/vg00/lvol12097152203992187847210%/stand•好,知道了环境,我们现在来了解她……•数据库配置检查数据库版本•了解数据库的当前版本安装的产品选项被使用的产品选项数据库参数•查看数据库启动时使用到的参数文件•查看数据库的非默认参数•关注各个参数,要很好的调整数据库的参数,以达到对数据库性能优化的目地这是需要很大的各种综合能力的。但首先是你要对这两百多个参数做到如数家珍,嘿嘿,慢慢回家数哈,我就不陪了……•在她情绪不好的时候,你要学会关心她,怎么知道她情绪不好呢……运行日志和跟踪文件•Oracle数据库进程生成跟踪文件来记录错误或冲突,这些跟踪文件可以用来进一步分析问题。•定期检查alert.log文件,以便及早发现问题.控制文件•每个数据库至少有一个控制文件。控制文件记录了数据库的物理结构及同步信息。•建议:控制文件位于不同磁盘上。名称状态/dev/vg02/rcntl1/dev/vg02/rcntl2/dev/vg02/rcntl3Parametersfoundinthecontrolfile•这些是控制文件中的参数。如果需要修改,可以通过重建控制文件来实现。PARAMETERVALUESMAXLOGFILES16MAXLOGMEMBERS3MAXDATAFILES100MAXINSTANCES8MAXLOGHISTORY23360Redolog文件•对于恢复操作,最为关键的结构是在线RedoLog。在线RedoLog一般由两个或两个以上预先分配的存储数据库变化的文件组成。为了防止例程故障,每个数据库的例程都有相关的在线RedoLog。•每个数据库至少有两个RedoLog组,每组至少有一个日志文件。Oracle的多重在线RedoLog文件可以确保在线日志文件的安全。对于多重在线RedoLog文件,LGWR同时将相同的RedoLog信息写入不同的RedoLog文件中,从而减少单个文件丢失的损失。•当Oracle无法访问一个RedoLog文件时,这个文件状态变为INVALID。当Oracle推测一个RedoLog文件不完整或者不正确时,它的状态变为STALE。当一个STALE的文件被重用时,即其所在日志文件组活动时,此文件也能够使用。•在线RedoLog文件减少了数据库数据丢失的损失,比如当发生例程故障时,没有被写入数据文件的数据可以从在线RedoLog文件中恢复。logfileGROUP#THREAD#SIZE_MBMEMBERSARCSTATUS113602YESACTIVE213602NOCURRENT513602YESINACTIVE413602YESINACTIVE313602YESINACTIVElogfileGROUP#STATUSTYPEMEMBER1ONLINE/dev/vg01/rlv_undolog011ONLINE/dev/vg01/rlv_undolog01_12ONLINE/dev/vg01/rlv_undolog022ONLINE/dev/vg01/rlv_undolog02_13ONLINE/dev/vg01/rlv_undolog033ONLINE/dev/vg01/rlv_undolog03_14ONLINE/dev/vg01/rlv_undolog04_14ONLINE/dev/vg01/rlv_undolog045ONLINE/dev/vg01/rlv_undolog05_15ONLINE/dev/vg01/rlv_undolog05归档Redolog文件•Oracle允许将写满的在线RedoLog文件存放在一个或多个脱机位置,即归档RedoLog。在线日志文件通过归档写入归档日志文件。后台进程ARCn自动进行归档操作。您能通过归档日志进行:在线备份基于时间的恢复ArchivedRedoLogSettingsSETTINGSVALUESDatabaselogmodeArchiveModeAutomaticarchivalEnabledArchiveDestination/archive/archOldestonlinelogsequence16171Nextonlinelogsequence16175Currentlogsequence16175数据文件•数据文件是数据库分配的物理文件。在Oracle数据库中,一个表空间可以包含一个或多个物理文件。而一个数据文件则只能关联一个表空间和一个数据库。Oracle通过分配一定的磁盘空间以及所需要的文件头空间,为每个表空间创建一个数据文件。NumberofDatafilesNumberofdatafiles42Totalnumberofbytes143.20GBDatafilelocations•检测数据文件的位置。当数据文件增长过度,数据库中必须添加数据文件。应该避免“哪里有空间,哪里建文件”的错误方法,因为这样会增加备份策略和文件维护的复杂性。TABLESPACE_NAMEFILE_IDSIZE_MBAUTSTATUSFILE_NAMEUSERS42007.5YESAVAILABLE/dev/vg02/rusersSYSAUX34000NOAVAILABLE/dev/vg02/rsysauxAutoextendcapabilities•通过自动扩展命令进行数据文件的自动扩展。假定数据文件无法分配所需空间,那么它将提高数据文件的大小以获得更多空间。•建议:•使用裸设备的数据文件,建议把自动扩展的属性关闭。表空间•每个数据库由一个或多个逻辑存储单位,即表空间,所组成。而表空间则由逻辑存储单位段所组成。而段将被分为多个片。SystemTablespace•建议:将程序用户对象迁移到system表空间以外。TablespaceFragmentation&FreeTABLESPACE_NAMEFILESEXTENT_MANTOTAL_SIZEFREE_MBFREE_PCTSYSTEM1LOCAL40003477.312586.93USERS2LOCAL5007.51672.2533.39TablespaceFragmentation&Management•严重的表空间碎片会影响性能,特别是发生全表扫描时。此外,当剩余空间还有很多时,碎片仍然会引起缺少空间的错误。解决碎片的唯一方法就是删除并且重新创建对象。在大多数情况下,导入导出可以解决这个问题。如果需要整理系统表空间的碎片,那么必须重新创建整个数据库,因为无法删除系统表空间。•建议使用LOCAL方式管理表空间,表空间不存在碎片问题。数据库对象•ObjectCategoriesList无效数据对象(invalidobjects)•对于无效对象,应在系统工作空闲时编译,对于不使用的对象,应删除。避免在系统压力较大时,手工或自动编译无效对象,否则可能造成数据库锁死(LIBRARYCACHEPIN/LIBRARYCACHELOCK)。DatabaseLinks•数据库链接定义了从一个数据库到另一个的通讯路径。当应用程序通过数据库链接访问远程数据库时,Oracle响应应用程序请求,创建数据库通路。索引•索引需要维护。对于表的删除或者添加操作都会间接地对索引进行相应操作。过时的索引结构会产生碎片,此时索引需要被重新建立。•BLEVEL是B-tree索引形式的一部分,与Oracle为搜索某些纪录而减少索引搜索的次数相关联。在一些情况下,BLEVEL需要单独的磁盘命中。(Insomecases,aseparatediskhitisrequestedforeachBLEVEL)如果BLEVEL大于4,那么建议重建索引。安全性管理•在安全性方面,主要考虑用户访问数据库的控制以及维护系统的安全性问题。DatabaseAdministratorUsernames/Passwords•Oracle自动生成两个用户,并授予DBA权限:•SYS(初始密码:CHANGE_ON_INSTALL)•SYSTEM(初始密码:MANAGER)其它授予DBA权限的用户•建议:•检查非SYS/SYSTEM用户是否需要DBA权限。SYSDBAUsers•被授予SYSDBA权限的用户能够进行DBA的操作,包括建立数据库,关闭数据库Net概况•Net8能够在不同计算机上安装服务和应用程序,并且能够使它们如同同一层上的应用程序一样进行通信。Net8的主要功能就是创建网络通话,并且在客户端和服务器端,或者两个服务器端之间转换数据。Net8必须安装在网络的每台机器上。当网络通路建立,Net8扮演着客户端和服务器端数据投递者的角色。监听器的设置•位于服务器端的监听程序是单独的进程。它从客户端接受连接请求,并管理这些对服务端的请求。SQL*Net设置•配置文件SQLNET.ORA包含了客户端和服务器对SQL*Net配置的设置信息。TNSNAMES设置•TNSNAMES.ORA包含与连接描述符相匹配的网络服务名。连接描述符包括监听程序的地址以及connect_data。数据库性能•STATSPACK报告数据库备份和恢复概况•检查备份恢复策略•建议:•根据不同的数据库失败情况制定相应的恢复策略。•数据库全库恢复•表空间恢复•数据文件恢复•数据表恢复•根据制定的恢复策略进行恢复测试。•END