li
  当前位置:主页 > 性能优化 > 文章内容
li
Oracle数据库日常维护之一(2)
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-02-28   阅读:36  
本文章共5275字,分2页,当前第2页,快速翻页:
 
SQL如下:

select file_name,status from dba_data_files;

如果数据文件的STATUS列不是AVAILABLE,那么就要采取相应的措施,如对该数据文件进行恢复操作,或重建该数据文件所在的表空间。

六、检查数据库定时作业的完成情况

如果数据库使用了OracleJOB来完成一些定时作业,要对这些JOB的运行情况进行检查:

www.ixdba.net


select job,log_user,last_date,failures  from dba_jobs;

如果FAILURES列是一个大于0的数的话,说明JOB运行失败,要进一步的检查。

七、数据库坏块的处理

Oracle数据库出现坏块时,Oracle会在警告日志文件(alert_SID.log)中记录坏块的信息:

ORA-01578: ORACLE data block corrupted (file # 7, block # <BLOCK>)

ORA-01110: data file <AFN>: ''''/oracle1/oradata/V920/oradata/V816/users01.dbf''''

其中,<AFN>代表坏块所在数据文件的绝对文件号,<BLOCK>代表坏块是数据文件上的第几个数据块

出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。

1.确定发生坏块的数据库对象

SELECT tablespace_name,segment_type,owner,segment_name
FROM  dba_extents WHERE  file_id = <AFN>
AND <BLOCK> between block_id AND block_id+blocks-1;

2.决定修复方法

如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建;

如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建;

如果有数据库的备份,则恢复数据库的方法来进行修复;

如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块上的记录取出来,然后对这个表进行重建。

3.Oracle提供的DBMS_REPAIR包标记出坏块

exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS(''''<schema>'''',''''<tablename>'''');

4.使用Create table as select命令将表中其它块上的记录保存到另一张表上

create table corrupt_table_bak 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.如果表上存在索引,则要重建表上的索引

八、操作系统相关维护

DBA要注意对操作系统的监控:

l  文件系统的空间使用情况(df -k),必要时对Oracle的警告日志及TRC文件进行清理

l  如果Oracle提供网络服务,检查网络连接是否正常

l  检查操作系统的资源使用情况是否正常

l  检查数据库服务器有没有硬件故障,如磁盘、内存报错



阅读更多内容<<上一页 · 1 · 2


  上一篇: Oracle 同步多个表记录的程序   下一篇: Oracle性能优化的五个方面
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·Oracle 同步多个表记录的程序
·oracle中如何删除重复数据
·用ORACLE的高级复制实现内外网数...
·不幸中的万幸:遭遇ORA-00600 [kf...
·Resize datafile导致ASM Crash一...
·系统表空间IO错误 数据损坏处理一...
·如何启动DataGuard的备用数据库
·RAC的VIP及实例依赖关系:版本Ora...
·why:Rac的心跳线不支持交叉线?
·oracle RAC环境中系统时钟的调整
·Oracle性能优化的五个方面
·如何从应用程序来优化Oracle数据...
·Oracle中行迁移和行链接的清除及...
·设计和保持Oracle数据库优良性能...
·Oracle DBA优化数据库性能的心得...
·Oracle数据库空间管理对系统性能...
·Oracle索引基本原理介绍
·Oracle锁简单经验介绍
·Oracle的封锁机制研究
·ORACLE执行计划的一些基本概念
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接