起原:天极网
六、搜检数据库守时作业的完成形态
如果数据库运用了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提供收集做事,搜检收集跟尾能否正常
●搜检操作系统的资源运用形态能否正常
●搜检数据库做事器有没有硬件毛病,如磁盘、内存报错
版权声明:
原创作品,答允转载,转载时请务必以超链接要领标明文章 原始来由 、作者信息和本声明。不然将追究司法责任。