Oracle数据库一样平常维护手册-2
 起原:天极网 
六、搜检数据库守时作业的完成形态 
如果数据库运用了Oracle的JOB来完成一些守时作业,要对这些JOB的运转形态举办搜检: 
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 # 
ORA-01110: data file : '/oracle1/oradata/V920/oradata/V816/users01.dbf' 
其中, 代表坏块地点数据文件的绝对文件号, 
出现这种形态时,应该首先搜检能否是硬件及操作系统上的毛病招致Oracle数据库出现坏块。在清扫了数据库以外的启预先,再对产生坏块的数据库东西举办处置处罚。 
1.确定产生坏块的数据库东西 
SELECT tablespace_name, 
segment_type, 
owner, 
segment_name 
FROM dba_extents 
WHERE file_id = 
AND 
between block_id AND block_id blocks-1; 
2.决定修复措施 
如果产生坏块的东西是一个索引,那么可以直接把索引DROP掉后,再依据表里的纪录举办重修; 
如果产生坏块的表的纪录可以依据此外表的纪录生成的话,那么可以直接把这个表DROP掉后重修; 
如果无数据库的备份,则规单数据库的措施来举办修复; 
如果表里的纪录没有此外措施规复,那么坏块上的纪录就丢掉了,只能把表中此外数据块上的记考中出来,然后对这个表举办重修。 
3.用Oracle提供的DBMS_REPAIR包标志出坏块 
exec DBMS_REPAIR.SKIP_CORRUPT_BLOCKS(' 
4.运用Create table as select命令将表中此外块上的纪录保管到另一张表上 
create table corrupt_table_bak 
as 
select * from corrupt_table; 
5.用DROP TABLE命令删除有坏块的表 
drop table corrup_tatble; 
6.用alter table rename命令规复原来的表 
alter table corrupt_table_bak 
rename to corrupt_table; 
7.如果表上存在索引,则要重修表上的索引 
八、操作系统相干维护 
DBA要垂青对操作系统的监控: 
●文件系统的空间运用形态(df -k),须要时对Oracle的警告日志及TRC文件举办收拾整顿 
●如果Oracle提供收集做事,搜检收集跟尾能否正常 
●搜检操作系统的资源运用形态能否正常 
●搜检数据库做事器有没有硬件毛病,如磁盘、内存报错
版权声明:
原创作品,答允转载,转载时请务必以超链接要领标明文章 原始来由 、作者信息和本声明。不然将追究司法责任。
                    
                
                
            
        
浙公网安备 33010602011771号