登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

飞哥的技术博客

世上无难事,只怕有心人!

 
 
 

日志

 
 
 
 

Expert One-on-One Oracle Chapter 14 分区表 读书笔记(1)-分区表的可用性  

2009-06-23 20:57:29|  分类: Oracle |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 Expert One-on-One Oracle Chapter 14 分区表 读书笔记(1)-分区表的可用性

分区表的可用性:
创建一个分区表

CREATE TABLE employee
( empno   int,
  ename   varchar2(20)
)
PARTITION BY HASH (empno)
( partition part_1 tablespace TBS_DAIMIN,
  partition part_2 tablespace USERS
)

SQL> insert into employee select empno, ename from scott.emp
  2  ;

14 rows created.

commit;

SQL> select * from employee partition(part_1);

     EMPNO ENAME
---------- --------------------
      7369 SMITH
      7499 ALLEN
      7654 MARTIN
      7698 BLAKE
      7782 CLARK
      7839 KING
      7876 ADAMS
      7934 MILLER

8 rows selected.

SQL> select * from employee  partition(part_2);

     EMPNO ENAME
---------- --------------------
      7521 WARD
      7566 JONES
      7788 SCOTT
      7844 TURNER
      7900 JAMES
      7902 FORD

6 rows selected.

如果将该表的一个分区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、分区受损,只需要恢复该受损分区及可,这样减少了系统故障时间;

疑问:优化器如何从方案中排除对该分区不知道,这个方案又是一个什么方案?是不是数据库备份和恢复方案呢?

  评论这张
 
阅读(384)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018