欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于实施dba的20个常用案例及11个不要

程序员文章站 2022-04-23 22:10:00
...

以下是平时个人在数据库维护方面积累的一些经验,希望大家分享出更多的经验,后面我会继续推出数据库方面的管理知识。

案例1
比如上次携程网瘫痪,是因为操作员在执行删除时本来是 -rnf xx.*的结果在执行命令的时候多了一个空格  -rnf xx .*把所有的物理文件删除,导致系统瘫痪,最后还是通过花巨资请硬件


工程从底层恢复数据。


案例2
针对于IMB机房的设置特点,机房服务的总开关大门口,是类似于开门器的红色大按钮。曾经有一位技术员去客户机房进行技术支持,一时间打不开门。以为门口那个红红的大按钮就是大门的


开关,当技术员按下那个红红的按钮后,整个机房的服务器都停止了。为此给客户超成很大的影响。


案例3
曾经有使用浪潮服务器的同事,平时在学习和练习过程中都是用的旧版本的服务器。但该服务器产商的服务器设置版本之间存在差异,比如低版本的服务器支持风扇的热插拔,而不会停机,


但后面的高版本服务器则要求严格一些,对于这位没有使用过高版本的服务器支持员,在运维过程中按照低版本的服务器操作方法,直接拔掉服务器风扇导致服务关机。


案例4
同样也是针对国内的浪潮服务器,曾经有客户需要对服务空间扩容,针对产商扩容的实施过程中出现过尴尬的情况,就是购进的硬盘竟然不能安排到服务器机架上。


案例5
凭证量传输大的时候,会出现消息队列数据接收不完整情况,因为SAP有重传机制,因此遇到此情况重传一次就行了。


案例6
南XX系统DBA对数据进行awr报告分析时发现有一个SQL语句执行时间超过10000秒,对于这种耗时长的语句,需要首先分析物理读耗时,逻辑读耗时(逻辑读是CPU针对执行),CPU读耗时,是否


有递归SQL语句。如果前面三个读耗时都低则可能是SQL语句解析时间长。查看VPD策略,根据实际情况该语句是在非空间时间执行的一个执行计划job。通过10046跟踪执行计划日志。数据库的


hank


案例7
由于信息安全要求,客户对数据库的dba权限会进行限制和收回,所以建议在开发应用程序的过程中不要直接使用dba权限进行数据库操作,避免后期对程序进行大量修改


案例8
中间件服务器和数据库在整个系统中处于受攻击的目标,因此建议在安装oracle实例或者weblogic应用访问的时候,不要使用默认端口,特别是涉及国家安全的系统,必须更改默认端口。


案例9
针对于我们的应用程序经常升级情况,时长发现有更新表结构的增量文件,如果现场dba不仔细审核则会导致升级修改表结构,而引发由于监控所造成的服务器停机事情,给客户和dba带来困


惑,一般有经验的dba都是观望别的区域升级没有问题再升级。


案例10
曾经有一个dba因为上级把他心爱有人去夺走了,这个dba也是万念俱灰做出了一件很傻的事情,就是把他所有接触到的服务器上的信息全部干掉,此事情也告诉我们要和dba打好关系。


案例11
目前很多中间件或者应用程序都会是通过命令窗口启动的,对于生产环境一定不要将CMD命令窗口模式设为编辑模式,因为这样会因为误操作而导致应用程序暂停。


案例12


对于较长SQl的语句,首先分析出此SQL是从哪里发出的,是程序还是存储过程,可以进行逻辑等价改写语句。针对长SQl性能调优时固化视图方案,针对只读效率是很高的,固化视图有写的操


作效率则跟不上的。


案例13


有时为了减少SQL语句的硬解析,提高SQl的效率,可以针对频繁使用的值进行绑定变量。


案例14 
  
针对几十万条的数据快访问,放到内存中还是效率不足时,我们就要看看是索引块热,还是表块热。如果放在内存缓存中还是解决不了问题,就需要把这些块打散。减少同时访问一个块的概


率。


案例15  
为了提高表的效率可以关闭表的checksum,dblock。反转索引和范围索引要谨慎使用。


案例16
在system用户下面不建立非system用户的表及对象,因为这样会导致安全隐患。


案例17
普通用户的表对System表空间的频繁读写降低Oracle数据字典管理等性能。


案例18
Oracle数据库PASSWORD_VERIFY_FUNCTION密码策略未启用,可能造成数据库密码过于简单。密码复杂性影响数据库安全,密码及失败策略过于简单对数据库造成很大隐患,导致数据丢失或被窃


取性。


案例19
表空间使用手动分配的方式。系统多数表空间未使用ASSM,ASSM使用位图而不是传统的FreeList来管理段内的free db block,大大提升了空间管理的性能。同时显著的减少segment header类


型的buffer busy wait等待事件。建议启用Oracle 10g 自动段空间管理(ASSM)特性


案例20
随着斯诺登事件的影响,国家也开始在硬件和软件上进行国产化的迁移。路由器开始用华为替代,服务器用浪潮,数据库开始用(达梦http://www.dameng.com/)
                                 
1.禁止随意更改中间件参数、数据库、操作系统参数;
2.禁止通过锁定CMD窗口方式截取管控日志;
3.禁止使用for update操作;
4.禁止使用DDL(create、drop、alter)操作;
5.禁止使用DML(insert、update、delete)操作;
6.永远不要在业务高峰期对一些大表进行频繁查询,这些表会产生大量IO;
7.在登录数据库前,请记得查询v$database或v$instance;同样,登录服务器时,请记得执行hostname确认,以免将生产环境当成测试环境;
8.禁止随意删除数据库归档日志;
9.若数据库存在阻塞需要kill session时,请确认阻塞session,涉及后台进程时DBA不能擅自kill该session。
10.关闭数据库前,一定要停止JOB,同时检查v$transaction,确保没有事务运行,然后手工执行一次检查点(Altersystem checkpoint);停止数据库时,严禁使用shutdown abort。
11.在服务器上执行rm –rf前,请记得执行pwd确认,要知道,这条命令可能会导致巨大的灾难。