Oracle日常维护关注事项

  • 格式:ppt
  • 大小:85.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

日常维护中最需要关注的9件事
5.备份的有效性 检查是否有备份,是否有自动备份策略 6、os上的性能指标 Top/sar/vmstat 关注cpu、io、内存的消耗 7、对象的有效性 触发器、PL/SQL程序、DBlink、约束 8、所有的drop动作 删除表空间、用户、表、os中的目录、文件,都需要提高警惕 9、规范操作 除了通过应用访问数据库以外,规范所有能接触到数据库、服务器、存 储、网络的人员操作,
Oracle日常维护关注事项
数据库管理中应该关注的问题
1、表空间剩余空间不足,有部分表空间没有开启自动扩展特性。 应该设置表空间的自动扩展特性,并且扩展了主要使用的表空间。如果使用了裸设备, 由于裸设备不支持自动扩展,因此必须由专人监控表空间的使用情况,在空间不足时 (一般剩余空间低于10%),立刻要求DBA或者技术支持人员增加新的裸设备和数据文 件以扩大表空间
2、存储上剩余空间不足,尤其是有Rman自动备份、导出自动备份或者开启了归档模式 应该经常监控
3、注意状态异常(不可用和被禁用)的对象,尤其是触发器、PLSQL程序、约束,通过 编译语句将大部分对象状态修改为正常,但仍有些程序无法编译通过,应该通知开发 商检查相应的程序的错误,或者将不需要的程序删除
10、有部分9.2.0.1的库上仍然使用共享模式,而在告警日志文件中出现了由共享服务进 程引起的错误,这些错误甚至造成10.76.19.99服务器上的多个数据库服务发生异常 关闭的情况。应该将共享模式关闭,使用专用模式连接
数据库管理中应该关注的问题
11、有部分10g的数据库上Recyclebin参数被设置为OFF,这样就关闭了10g的回收站功 能,在对象误删除的时候将丢失数据,应设置为ON。当然,在删除一些对象后,如 果确认这些对象不再需要,可以通过清空回收站的方式将表空间剩余空间回收

业务程序中的注意问题
1、程序员应注意避免对子查询使用not in,如果遇到not in,应修改为not exists的写法 2、在where子句中经常出现且唯一值较多的字段上应该建立索引 3、减少短连接的使用,如果需要短连接,尽量使用中间件的连接池 4、减少DB link的使用,尤其是表连接不要跨数据库进行 5、数据量较大的表建议使用分区表,建议与数据库维护人员沟通后确定 6、不要随意在数据库中创建测试用户和测试表,如果需要创建,则应告知相关人员,并
6、注意监控数据库的锁竞争情况,如果发现长时间不结束的锁,尽快确定引起该锁的事 务是否出现问题,如果是用户忘记结束事务,应通知用户尽快结束,如果是进程异常 造成锁不能正常释放,应通知管理员将该异常进程杀掉,释放掉占用的资源
7、注意查看的日志,如果发现备份的错误提示,应尽快进行处理,防止数据库长时间不 能正常备份情况的出现
4、有些对象存储在系统表空间上,对系统性能带来一些影响,注意在部署对象时尽量确 定存储对象所在的表空间,确保系统表空间上不要放用户对象
5、有些用户的默认表空间和临时表空间指向系统表空间,就容易将对象创建在系统表空 间,创建用户时应明确设置用户的默认表空间和临时表空间为非系统表空间
数据库管wenku.baidu.com中应该关注的问题
12、有部分数据库的timed_statistics参数被设置为False,为了能够进行性能诊断,需 要收集与时间相关的统计信息,应将该参数修改为True
13、 windows上的数据库关闭方式不正确,造成每次数据库启动时不得不作实例恢复, 很可能会带来数据库无法正常启动的情况。建议用户每次关闭服务器之前,应首先关 闭数据库服务,然后再关闭服务器
以及应用后台对象的生成,尽量不使用数据库模版建库 10、程序中如果存在大量语句相同值不同的Sql语句,考虑使用绑定变量以减少CPU开销
日常维护中最需要关注的9件事
1.磁盘存储空间满 最容易发生在以下情况: a.归档文件把存储空间占满(10g的快速恢复区)
b.自动备份把存储空间占满(rman和exp) c.快速增长的数据文件(正常增长和数据灌入) d.报错信息 2.表空间满 原因: 表空间没有开启自动扩展 存储空间不足 必须关注:快速增长的表,大批量数据灌入 3.直接关机 直接关机的后果是数据库非正常关闭,最终有可能造成数据库无法启动 4.直接从os上删除数据文件 会造成数据丢失以及数据库无法启动
该程序高消耗CPU的原因 20、新功能模块增加到现有系统时,应提前告知数据库维护人员或者由维护人员进行操
作,不要随意在数据库中增加用户、权限以及各种对象 21、主要业务大表的访问SQL在正式使用前,应提交给数据库维护人员确定 22、尽量避免频繁的提交,数据灌入时最好分批提交,比如每10000-50000条提交一次 23、确保各内存区足够大,避免默认值的使用 24、及时清理过大的告警日志、跟踪文件,释放空间 25、个别库的重做日志文件太小,一般建议50-200M之间 26、10g数据库的statistics_level参数应该被设置为typical,确保自动性能信息能够收
且在完成测试或者临时使用完成后清除(清除时务必小心,不要误删出生产数据) 7、应用开发商应提供数据库中所有表的描述信息,即实体关系图,详细描述各对象的名
称、结构以及相关性,避免无关表的使用,完善E-R模型的版本控制 8、新功能上线前必须经过功能测试、性能测试以及破坏性测试,确保程序的稳定性、健
壮性以及高性能 9、新功能上线前需要提前规划,根据功能需求设计数据库结构,定制实施数据库的创建
14、有些应用用户的索引个数远小于表的个数,这意味着存在大量的全表扫描操作,带 来大量的I/O,建议开发商对这些应用程序进行调整,适当增加一些索引
15、有些用户被授予DBA角色,这个角色权限非常大,用户应确定是否需要这个权限 16、有些库上的utl_file_dir参数设置为“*”,这意味着通过utl_file这样的程序包可以直
8、DDL/DCL语句自动隐式提交未完成的事务,正常退出SQL自动隐式提交未完成的事 务!
9、有些数据量较大的库为了提高性能,曾经收集过统计信息,但已经很久没有重新收集, 统计信息已经陈旧,这样会带来错误的执行计划,反而降低了性能。因此对于这类数 据库应该及时重新收集了统计信息,以便系统能够得到正确的执行计划,提高运行效 率
接访问操作系统中任何文件,因此是比较严重的安全隐患,建议设置该参数为某一底 层根目录,以减少安全风险
数据库管理中应该关注的问题
17、有些数据库中发现很多用户,其中大部分都没有任何对象或者只包含很少的对象, 确定这部分用户是否有意义,如果没有用,最好删除
18、有些用户下有很多表都是空的,没有任何数据,确定这些表是否有必要存在 19、有些服务器上CPU或者I/O比较繁忙,经检查发现是其他应用程序在消耗,应该确定