oracle cluster(簇)的簡單使用

tanxiaoke88發表於2009-10-06

oracle cluster()的簡單使用

1.cluster 可以將兩個或多個表捆綁在一起,,cluster是一種資料庫結構,在這個結構中,可以將兩個或者多個表儲存在相同的資料塊或段中,加入到cluster中的每個錶行將物理地儲存在相同的塊中,好像這些表在cluster key 處連線起來了一樣.透過下面的例子,你將理解cluster如何的工作.

aa

SQL> select * from aa;

ID NAME SE AGE

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

01 cc m 20

02 dd f 18

03 ee m 22

04 ff f 21

05 gg f 19

06 hh m 20

已選擇6行。

bb表

SQL> select * from bb;

SE LIVING

-- ------

m 11-01

f 11-02

2.在使用aa,bb表的時候,如果想要將這兩個表放到一個cluster,則可以將這兩個

表在sex列上連線起來,在這種情況下,sex列稱為cluster key ,當完成cluster

建立後,兩個表中的資料將會在cluster中物理地連線起來.在建立cluster的時候有兩種選擇:

* index cluster(預設,需要在其中建立cluster index)

* hash cluster

3.建立cluster的步驟:

1). SQL> create cluster ab_cluster (sex char(2) ) tablespace users;

簇已建立。

上面的語句建立了一個名為ab_clustercluster,且將它置於表空間usrs.因為上面建立的是index cluster ,所以當cluster建立完後,還必須在cluster key 上建立索引.

2). SQL> create index ab_cluster_idx on cluster ab_cluster tablespace users;

索引已建立。

{ 當建立hash cluster的時候,例子如下:

Create cluster ab_cluster (sex char(2) size 8k hashkeys 1000 tablespace users;

引數hashkeys用來定義分配給表的hash]值的數目.指出了在cluster中唯一性cluster key的最大值.}

3).建立參與cluster的表.aa bb

SQL> create table aa(id varchar2(4) ,name varchar2(4),sex char(2),age number(2))

cluster ab_cluster (sex);

表已建立.

SQL> create table bb( sex char(2) , living varchar(6)) cluster ab_cluster (sex);

表已建立。

4.刪除cluster.

在刪除cluster的時候,首先必須刪除參與該cluster的表或者使用including tables子句.不能從正在使用的cluster刪除表.

SQL> drop cluster ab_cluster including tables cascade constraints;

簇已刪除。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21340813/viewspace-1027603/,如需轉載,請註明出處,否則將追究法律責任。

相關文章