本篇内容主要讲解“甲骨文数据库中出现的坏块问题如何处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“甲骨文数据库中出现的坏块问题如何处理”吧!
<>强一:什么是数据库的坏块强>
首先我们来大概看一下数据库块的格式和结构
数据库的数据块有固定的格式和结构,分三层:缓存层、事务层,数据层。在我们对数据块进行读取写入操作的时候,数据库会对要读写的数据块做一致性的检查,其中包括:数据块的类型,数据块的地址信息,数据块的SCN号以及数据块的头部和尾部。如果发现其中有不一致的信息,那数据库就会标记这个数据块为坏块了。数据库的坏块分为两种,逻辑坏块和物理坏块。
<强>二:坏块对数据库产生的影响强>
如果数据库出现坏块,数据库的告警日志文件里面会存在有如下的一些报错信息:ora - 1578以及在bdump ora - 600和跟踪文件目录,其中ora - 600错误的* * *个参数值的范围是[2000],[8000],不同的值代表着数据块的不同的层出现问题,具体的如下表所示:
Range ,,,,,,,,,,,,,,,,,,,,,,,,,, block 层 Cache layer ,,,,,,,,,,,,,,,,, 2000,, mdash; 4000年 Transaction layer ,,,,,,,, 4000,, mdash; 6000年 Data layer ,,,,,,,,,,,,,,,,,,,, 6000,安康;8000年
坏块产生影响的对象可能是数据字典表,回滚段表,临时段,用户数据表和索引等。不同的对象产生坏块后的处理方法不尽相同。
<强>三:坏块产生的原因强>
甲骨文调用标准C的系统函数,对数据块进行读写操作,因此,坏块是有可能由以下几种原因产生:
1,,,,,,,,,硬件的,我/O 错误 2,,,,,,,,,操作系统的,我/O 错误或缓冲问题 3,,,,,,,,,内存或,paging 问题 4,,,,,,,,,磁盘修复工具 5,,,,,,,,,一个数据文件的一部分正在被覆盖 6,,,,,,,,,Oracle 试图访问一个未被格式化的系统块失败 7,,,,,,,,,数据文件部分溢出 8,,,,,,,,,Oracle 或者操作系统的,错误
<强>四:坏块的处理方法强>
<强> 1。,先收集相应的关于坏快的信息强>
从AlertSID。日志文件或者从跟踪文件中查找,找到例如以下的一些信息:
ora - 1578,,,文件#,,(RFN),,块#,,ora - 1110,,,,文件#,,(AFN),,块#,,ora - 600,,,,,文件#,,(AFN),,块#
*其中RFN表示的是relative_fno
* AFN表示的是file_id 以前,
<> Select file_name, tablespace_name, file_id “AFN relative_fno “RFN”,,得到dba_data_files;,, Select file_name, tablespace_name, file_id,, relative_fno“RFN”,,得到dba_temp_files;<强> 2。,确定存在坏块的对象是什么:强>
SELECT tablespace_name,, segment_type,,老板,segment_name,, partition_name ,得到dba_extents WHERE file_id =,,以及,结构、block_id 以及block_id +, blocks , mdash;, 1;
通过上面这个查询语句就可以查出当前存在坏块的对象是什么,是什么类型的对象。需要注意的是如果是临时文件中出现坏块,是没有记录返回的。
<强> 3。,根据2中查询出来的对象类型确定相应的处理方法强>
出现坏块的常见对象有:
1,,,,,,,,, Sys 用户下的对象 2,,,,,,,,,回滚段 3,,,,,,,,,临时段 4,,,,,,,,,索引或者分区索引 5,,,,,,,,,表
常用的处理方法有:
1,,,,,,,,,恢复数据文件 2,,,,,,,,,只恢复坏的,块(9小姐:以上版本可用) 3,,,,,,,,,通过,ROWID RANGE SCAN 保存数据 4,,,,,,,,,使用,DBMS_REPAIR 5,,,,,,,,,使用,事件
<强> 4。,具体处理方法的介绍强>
<>强恢复数据文件方法:强>
如果数据库是归档方式下,并且有完整的物理备份,就可以使用此方法来恢复。
步骤如下:
1)先离线受影响的数据文件,执行以下的语句:
改变数据库功能& # 39;name_file& # 39;离线;
2)保留有坏块的数据文件,然后拷贝备份的数据文件。如果恢复的数据文件要求路径不同,执行以下的语句:
改变数据库重命名文件& # 39;old_name& # 39;& # 39;new_name # 39;;
3)恢复数据文件,执行以下语句:
恢复功能& # 39;name_of_file& # 39;;
4)>到此,相信大家对“甲骨文数据库中出现的坏块问题如何处理”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!