SQL语句:alterdatabasebackupco
trolfiletohomebackupco
trolbak或:alterdatabasebackupco
trolfiletotrace这样,会在USER_DUMP_DEST初始化参数文件中指定目录下生成创建控制文件的SQL命令。六、检查数据库文件的状态DBA要及时查看数据库中数据文件的状态如被误删除,根据实际情况决定如何进行处理,检查数据文件的状态的SQL如下:selectfile_
amestatusfromdba_data_files如果数据文件的STATUS列不是AVAILABLE,那么就要采取相应的措施,如对该数据文件进行恢复操作,或重建该数据文件所在的表空间。七、检查数据库定时作业的完成情况如果数据库使用了Oracle的JOB来完成一些定时作业,要对这些JOB的运行情况进行检查:selectjoblog_userlast_datefailuresfromdba_jobs如果FAILURES列是一个大于0的数的话,说明JOB运行失败,要进一步的检查。八、数据库坏块的处理当Oracle数据库出现坏块时,Oracle会在警告日志文件alert_SIDlog中记录坏块的信息:
fORA01578ORACLEdatablockcorruptedfile7blockORA01110datafileoracle1oradataV920oradataV816users01dbf其中,代表坏块所在数据文件的绝对文件号,代表坏块是数据文件上的第几个数据块出现这种情况时,应该首先检查是否是硬件及操作系统上的故障导致Oracle数据库出现坏块。在排除了数据库以外的原因后,再对发生坏块的数据库对象进行处理。1确定发生坏块的数据库对象SELECTtablespace_
amesegme
t_typeow
ersegme
t_
ameFROMdba_exte
tsWHEREfile_idANDbetwee
block_idANDblock_idblocks12决定修复方法如果发生坏块的对象是一个索引,那么可以直接把索引DROP掉后,再根据表里的记录进行重建如果发生坏块的表的记录可以根据其它表的记录生成的话,那么可以直接把这个表DROP掉后重建如果有数据库的备份,则恢复数据库的方法来进行修复如果表里的记录没有其它办法恢复,那么坏块上的记录就丢失了,只能把表中其它数据块上的记录取出来,然后对这个表进行重建。3用Oracle提供的DBMS_REPAIR包标记出坏块execDBMS_REPAIRSKIP_CORRUPT_BLOCKS4使用Createtableasselect命令将表中其它块上的记录保存到另一张表上createtablecorrupt_table_bakasselectfromcorrupt_table5用DROPTABLE命令删除有坏块的表droptablecorrupt_table6用altertablere
ame命令恢复原来的表altertablecorrupt_table_bakre
ametocorrupt_table7如果表上存在索引,则要重建表上的索引
f九、操作系统相关维护DBA要注意对操作系统的监控:文件系统的空间使用情况dfk,必要时对Oracle的警告日志及TRC文件进行清理如果Oracler