ORACLE索引聚簇表数据加载(3)_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

ORACLE索引聚簇表数据加载(3)

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:    bsp;          from scott.emp 9           where deptno = x.deptno;    10 end loop;    11 end;    12 /    begin    *    第1行出现错误:    ORA-02032:聚簇表无法在簇索引建立之前...

    bsp;          from scott.emp 9           where deptno = x.deptno;

    10 end loop;

    11 end;

    12 /

    begin

    *

    第1行出现错误:

    ORA-02032:聚簇表无法在簇索引建立之前使用

    ORA-06512:在line 4

    SQL> create index emp_dept_cluster_idx

    2 on cluster emp_dept_cluster

    3 ;

    索引已创建

    SQL> alter table emp disable constraint emp_fk;

    表已更改

    SQL> truncate cluster emp_dept_cluster;

    簇已截断。

    SQL> alter table emp enable constraint emp_fk;

    表已更改。

    SQL> alter table emp add data char(1000);

    表已更改。

    上面的执行错误说明聚簇表无法在簇索引建立之前使用。

    首先我们通过先加载emp表后加载dept表的方式。

    SQL> insert into dept

    2  select * from scott.dept;已创建4行。

    SQL> insert into emp

    2  select emp.*, '*' from scott.emp;已创建14行。

    然后做一个查询通过dbms_rowid.rowid_block_number可以查看此数据所在的BLOCK ID,如果dept和emp存储的行数据不是一个BLOCK ID ,则标记一个'*'.查询结果如下:

    SQL> select dept_blk, emp_blk, 2         case when dept_blk <> emp_blk then '*' end flag,

    3 deptno

    4 from (

    5  select dbms_rowid.rowid_block_number(dept.rowid) dept_blk, 6         dbms_rowid.rowid_block_number(emp.rowid) emp_blk, 7         dept.deptno 8    from emp, dept 9   where emp.deptno = dept.deptno

    10 )

    11 order by deptno

    12 /

    DEPT_BLK EMP_BLK F DEPTNO

  ---------- ---------- - ----------

    85 86 * 10

    85 86 * 10

    85 87 * 10

    85 85 20

    85 87 * 20

    85 86 * 20

    85 85 20

    85 86 * 20

    85 85 30

    85 86 * 30

    85 85 30

    DEPT_BLK EMP_BLK F DEPTNO

  ---------- ---------- - ----------

    85 86 * 30

    85 85 30

    85 85 30

    已选择14行。

    我们发现,通过先插入emp数据,再插入dept数据,导致大部分的emp和dept的数据都不在一个block上,这不是我们使用聚簇索引的目的。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12948-1.html
网站维护教程更新时间:2012-03-23 00:48:40  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer