Oracle数据库日常维护手册

  在Oracle数据库运行期间,DBA应该对数据库的运行日志及表空间的使用情况进行监控,及早发现数据库中存在的问题。

  一、Oracle警告日志文件监控

  Oracle在运行过程中,会在警告日志文件(alert_SID.log)中记录数据库的一些运行情况:

  ●数据库的启动、关闭,启动时的非缺省参数;

  ●数据库的重做日志切换情况,记录每次切换的时间,及如果因为检查点(checkpoint)操作没有执行完成造成不能切换,会记录不能切换的原因;

  ●对数据库进行的某些操作,如创建或删除表空间、增加数据文件;

  ●数据库发生的错误,如表空间不够、出现坏块、数据库内部错误(ORA-600)

  DBA应该定期检查日志文件,根据日志中发现的问题及时进行处理

  问题处理

  启动参数不对检查初始化参数文件

  因为检查点操作或归档操作没有完成造成重做日志不能切换如果经常发生这样的情况,可以考虑增加重做日志文件组;想办法提高检查点或归档操作的效率;

  有人未经授权删除了表空间检查数据库的安全问题,是否密码太简单;如有必要,撤消某些用户的系统权限

  出现坏块检查是否是硬件问题(如磁盘本生有坏块),如果不是,检查是那个数据库对象出现了坏块,对这个对象进行重建

  表空间不够增加数据文件到相应的表空间

  出现ORA-600根据日志文件的内容查看相应的TRC文件,如果是Oracle的bug,要及时打上相应的补丁

  二、数据库表空间使用情况监控(字典管理表空间)

  数据库运行了一段时间后,由于不断的在表空间上创建和删除对象,会在表空间上产生大量的碎片,DBA应该及时了解表空间的碎片和可用空间情况,以决定是否要对碎片进行整理或为表空间增加数据文件。

  select tablespace_name,

  count(*) chunks ,

  max(bytes/1024/1024) max_chunk

  from dba_free_space

  group by tablespace_name;

  上面的SQL列出了数据库中每个表空间的空闲块情况,如下所示:

  TABLESPACE_NAME CHUNKS MAX_CHUNK

  -------------------- ---------- ----------

  INDX 1 57.9921875

  RBS 3 490.992188

  RMAN_TS 1 16.515625

  SYSTEM 1 207.296875

  TEMP 20 70.8046875

  TOOLS 1 11.8359375

  USERS 67 71.3671875

  其中,CHUNKS列表示表空间中有多少可用的空闲块(每个空闲块是由一些连续的Oracle数据块组成),如果这样的空闲块过多,比如平均到每个数据文件上超过了100个,那么该表空间的碎片状况就比较严重了,可以尝试用以下的SQL命令进行表空间相邻碎片的接合:

  alter tablespace 表空间名 coalesce;

  然后再执行查看表空间碎片的SQL语句,看表空间的碎片有没有减少。如果没有效果,并且表空间的碎片已经严重影响到了数据库的运行,则考虑对该表空间进行重建。

  MAX_CHUNK列的结果是表空间上最大的可用块大小,如果该表空间上的对象所需分配的空间(NEXT值)大于可用块的大小的话,就会提示ORA-1652、ORA-1653、ORA-1654的错误信息,DBA应该及时对表空间的空间进行扩充,以避免这些错误发生。

  对表空间的扩充对表空间的数据文件大小进行扩展,或向表空间增加数据文件,具体操作见“存储管理”部份。

分类:Oracle教程 时间:2012-01-02 人气:6
本文关键词:
分享到:

相关文章

  • oracle VM manager 3.1试验备忘录 2012-01-01

    1、下载oralce vm组件,需要外国的邮件地址。比如7mt.org,国内的不行,翻墙也不行。 2、如果用nfs做共享存储,一定要给足权限。 3、安装时,建议使用production(产品级安装)。如果选用“Demo”,会自动安装 oracle xe 11;而选择“Production”安装,则需要单独安装oracle数据库(标准版或者企业版)。 www.2cto.com 4、用浏览器登录管理 oracle vm manager时,在控制服务器上找不到相关报错信息, 这个折腾我好一阵子。请留意

  • Oracle中如何把表和索引放在不同的表空间里 2012-01-02

    Oracle中并没有区分表空间里放的是表还是索引,所有当数据量比较小时,完全可以把表和索引放在同一个表空间里,但随着数据量的增大,最好还是把表和索引分开存储在不同的表空间里 因为: 1)提高性能:尽量把表和索引的表空间存储在不同在磁盘上,把两类不同IO性质的数据分开放,这样可以提高磁盘的IO总体性能; 2)便于管理:试想一下,如果索引的数据文件损坏,只要创建索引即可,不会引起数据丢失的问题。 下面语句用于移动索引的表空间: 复制代码 代码如下: alter index INDEX_OWNER.I

  • ORACLE字符拆分函?捣祷亟Y果集 2012-01-03

    ORACLE不能像MSSQL那?又С种苯臃祷乇眍?型,所以要先??建一?自定??型。??用到的是嵌套表(Nested Table)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 -- Nested Table CREATE OR REPLACE TYPE split_str IS TABLE OF VARCHAR(

  • Oracle sqldev快捷键配置的一点小技巧 2012-01-04

    Oracle sqldev快捷键配置的一点小技巧 好吧,我没有全面研究过sqldev,不过有几个地方用起来不很方便,发现可以通过改快捷键来修正 1、代码智能补全提示 使用过eclipse的童鞋都习惯用alt+/ ,那么sqldev也是可以这样修改的 打开配置,找到快捷键 2、配置好alt+/ 来显示提示后,还有个问题,就是当出现的10个提示中,要选取第2个提示怎么办?sqldev提供的方式是 上下键来切换 对程序猿来说,当然用tab来切换要方便,同样是修改快捷键

  • Linux oracle 9i图文安装教程五 2012-01-05

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 前期工作:   前面已经讲到了安装Linux系统及加载相应的软件包,参考地址如下: Linux oracle 9i图文安装教程一(http://www.jb51.net/os/RedHat/9918.html), Linux oracle 9i图文安装教程二(http://www.jb51.net/os/RedHat/9919.html) Linux oracle 9i图文安装教程

  • Oracle函数wmsys.wm_concat的使用 2012-01-09

    首先介绍语法: wmsys.wm_concat Definition: The Oracle PL/SQL WM_CONCAT function is used to aggregate data from a number of rows into a single row, giving a list of data associated with a specific value. In effect, it cross-tabulates a comma delimited list.

  • PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 2012-01-11

    PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法 PL/SQL查询时,如果Number(17)以上的大数,会显示为科学计数法 解决方法: TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中Number fields to_char即可。 来源 http://www.cnblogs.com/downmoon/archive/2012/12/05/2803802.html

  • Oracle 11g R2在CentOS 5.5服务器上的安装(上) 2012-01-11

    某银行研发部门新购置了一台IBM HS22刀片服务器,需要在上面安装linux系统,并在内部远程使用Telnet和FTP服务,以及安装Oracle数据库。 硬件环境: IBM HS22刀片服务器 系统软件: CentOS 5.5、Oracle 11g R2 安装实施: 本文出自 “300second的蜗居” 博客

  • [Oracle]Flashback闪回机制 2012-01-12

    [Oracle]Flashback闪回机制 Flashback的目的 在有Flashback之前,如果你对数据误操作,并已提交,这时想回退该误操作,将会是很件麻烦的事情。有人可能会说可以用备份恢复到误操作之前,但正确的操作数据也一起没了。唯一可能的办法就是日志挖掘,但日志挖掘非常繁琐,很难定位。 因此,Oracle推出了Flashback技术,主要目的就是为了恢复误操作。 Flashback家族介绍 数据库级别:Flashback Database 表级别:Flashback Drop和Flas

Copyright (C) quwantang.com, All Rights Reserved.

趣玩堂 版权所有 京ICP备15002868号

processed in 0.030 (s). 10 q(s)