- 关 键 词:
假如将该表的一个分区offline之后,出现下面的错误:
SQL> alter tablespace TBS_DAIMIN offline;
SQL> select * from employee;
select * from employee
*
ERROR at line 1:
ORA-00376: file 12 cannot be read at this time
ORA-01110: data file 12: '/opt/ora9/product/9.2/dbs/tbs_daimin02.dat'
原因:
主要是因为该表的一个分区已经offline,而 select * from employee是访问整个表的信息,这样必然需要访问表的所有分区,当访问到已经offline的时候,则会报错;
但是如果是试图访问联机的分区的数据,则可以成功;如下:
SQL> variable n number
exec :n :=SQL> 7521
PL/SQL procedure successfully completed.
SQL> select * from employee where empno = :n
2 ;
EMPNO ENAME
---------- --------------------
7521 WARD
但是这样分区有个好处就是放一张分区表出现故障时,可以通过分析确认是表的哪个分区出现故障,然后将出现故障的分区通过优化器从方案中排除对该分区的数据查询,可以减少故障时间。
比方说:
有一个100GB的表,并且这个表被分成50个2GB的分区,可以更快的从系统错误中恢复过来。如果有一个2GB的分区受损,则恢复时间则就恢复一个2GB分区所花费的时间,而不是恢复一个100GB的表所花费的时间
可用性得到了提高:
1、分区可以用优化器来排除,使得一个分区的破坏不会对用户产生很大的影响,最多就是查询不到受损分区的数据;
2、分区受损,只需要恢复该受损分区及可,这样减少了系统故障时间。
相关专题
- 综合布线工程案例 (2701篇文章)
- Oracle语句优化规则汇总(8) (80次浏览)
- Oracle数据库中关键字 (54次浏览)
- Data Guard学习物理standby高级管理 (41次浏览)
- ORACLE 10g中ASMCMD使用及ASM文件 (33次浏览)
- 实例讲解清除Oracle 10g RAC CRS的方法 (25次浏览)
- Oracle语句优化规则汇总(7) (21次浏览)
- 深入讲解“database link”的设置和使用 (21次浏览)
- 实例讲解Oracle表碎片的具体起因及解决办法 (20次浏览)
- 甲骨文如何解析语义谜题 (20次浏览)
- 初学者应该如何理解Oracle的架构知识 (17次浏览)



