日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Oracle 11g Release 1 (11.1)——简单管理聚簇

發(fā)布時(shí)間:2025/3/17 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle 11g Release 1 (11.1)——简单管理聚簇 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

http://docs.oracle.com/cd/B28359_01/server.111/b28310/clustrs.htm#i1006586

?

本文內(nèi)容

  • 創(chuàng)建聚簇
  • 變更聚簇
  • 刪除聚簇

創(chuàng)建聚簇


創(chuàng)建聚簇

在你的模式中或在另一個(gè)用戶模式中,創(chuàng)建聚簇必須具有 CREATE CLUSTER(后者是 CREATE ANY CLUSTER系統(tǒng)權(quán)限,以及計(jì)劃包含聚簇的表空間配額,或 UNLIMITED TABLESPACE 系統(tǒng)權(quán)限。

利用 CREATE CLUSTER 語(yǔ)句創(chuàng)建聚簇。下面語(yǔ)句用 deptno 列創(chuàng)建一個(gè)名為 emp_dept 的聚簇,該聚簇存儲(chǔ) empdept 表:

CREATE CLUSTER emp_dept (deptno NUMBER(3)) SIZE 600 TABLESPACE mytbs STORAGE (INITIAL 200K NEXT 300K MINEXTENTS 2 PCTINCREASE 33);

如果沒有指定 INDEX 關(guān)鍵字,正如上面語(yǔ)句,那么會(huì)默認(rèn)創(chuàng)建一個(gè)索引聚簇。指定哈希參數(shù)(HASHKEYSHASH ISSINGLE TABLE HASHKEYS)可以創(chuàng)建一個(gè)哈希聚簇。

創(chuàng)建聚簇的表

若在聚簇中創(chuàng)建表,必須具有 CREATE TABLECREATE ANY TABLE 系統(tǒng)權(quán)限。但不需要表空間配額或 UNLIMITED TABLESPACE 系統(tǒng)權(quán)限。

利用帶 CLUSTER 子句的 CREATE TABLE 語(yǔ)句在聚簇中創(chuàng)建表。下面語(yǔ)句在 emp_dept 聚簇中創(chuàng)建 empdept 表:

CREATE TABLE EMP ( EMPNO NUMBER (4) NOT NULL, ENAME VARCHAR2 (10), JOB VARCHAR2 (9), MGR NUMBER (4), HIREDATE DATE, SAL NUMBER (7, 2), COMM NUMBER (7, 2), DEPTNO NUMBER (3) ) CLUSTER emp_dept ( deptno ); ? CREATE TABLE DEPT ( DEPTNO NUMBER (3) NOT NULL, DNAME VARCHAR2 (14), LOC VARCHAR2 (13) ) CLUSTER emp_dept ( deptno );

備注:可以在 CREATE TABLE 語(yǔ)句為聚簇的表指定模式。聚簇的表可以在不同的模式。另外,列的名稱不需要匹配,但是結(jié)構(gòu)必須一致。

創(chuàng)建聚簇索引

創(chuàng)建聚簇索引必須具備以下條件:

  • 包含聚簇
  • 具有 CREATE ANY INDEX 系統(tǒng)權(quán)限

也必須具有計(jì)劃包含聚簇索引的表空間配額,或 UNLIMITED TABLESPACE 系統(tǒng)權(quán)限。

下面語(yǔ)句為聚簇 emp_dept 創(chuàng)建聚簇索引:

CREATE INDEX emp_dept_index ON CLUSTER emp_dept STORAGE (INITIAL 50 K NEXT 50 K MINEXTENTS 2 MAXEXTENTS 10 PCTINCREASE 33);

ON CLUSTER 子句指定聚簇 emp_dept。語(yǔ)句也指定了很多對(duì)聚簇和聚簇索引的存儲(chǔ)設(shè)置。

變更聚簇


變更聚簇

若變更聚簇,你的模式必須包含聚簇,或具有 ALTER ANY CLUSTER 系統(tǒng)權(quán)限。你可以變更一個(gè)已存在的聚簇的如下設(shè)置:

  • 物理屬性(INITRANS 和 storage 特性)
  • 要求存儲(chǔ)所有聚簇行的平均空間大小
  • 默認(rèn)的并行程度

參看 ALTER CLUSTER http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_1.htm#SQLRF008

變更聚簇的表

利用 ALTER TABLE 語(yǔ)句來變更聚簇的表。但為一個(gè)聚簇的表,設(shè)置數(shù)據(jù)塊參數(shù)、事務(wù)參數(shù)或存儲(chǔ)參數(shù)會(huì)拋出錯(cuò)誤信息(ORA-01771,illegal option for a clustered table)。數(shù)據(jù)庫(kù)為所有聚簇的表使用聚簇參數(shù)。因此,使用 ALTER TABLE 語(yǔ)句只能添加或修改列,刪除非聚簇的列,或是添加刪除啟用禁用完整性約束,或是聚簇表的觸發(fā)器。

參考 Altering Tables http://docs.oracle.com/cd/B28359_01/server.111/b28310/tables006.htm#i1006494

變更聚簇索引

變更聚簇索引跟變更索引一樣。

刪除聚簇


刪除聚簇

若聚簇內(nèi)的表不再使用,則可以刪除聚簇。當(dāng)刪除聚簇時(shí),聚簇內(nèi)的所有表和相應(yīng)的聚簇索引也會(huì)被刪除。屬于聚簇的數(shù)據(jù)段和其索引段的空間會(huì)被釋放,被重新使用。

使用 DROP CLUSTER 語(yǔ)句,刪除一個(gè)不包含任何表的聚簇,及其索引。如下所示,刪除一個(gè)名為 emp_dept 的空的聚簇:

DROP CLUSTER emp_dept;

使用帶 INCLUDING TABLES 子句的 DROP CLUSTER 語(yǔ)句,刪除一個(gè)包含一個(gè)或多個(gè)聚簇表的聚簇。如下所示,刪除一個(gè)非空的聚簇:

DROP CLUSTER emp_dept INCLUDING TABLES;

使用帶 CASCADE CONSTRAINTS 子句的 DROP CLUSTER 語(yǔ)句,刪除聚簇,和聚簇的表及其依賴關(guān)系。如下所示:

DROP CLUSTER emp_dept INCLUDING TABLES CASCADE CONSTRAINTS;

參看 DROP CLUSTER? http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_8007.htm#SQLRF01511

刪除聚簇的表

若刪除一個(gè)聚簇,你的模式必須包含聚簇,或具有 DROP ANY CLUSTER 系統(tǒng)權(quán)限。不需要額外的權(quán)限來刪除一個(gè)包含聚簇表的聚簇,即使聚簇的表?yè)碛姓卟皇悄恪?/p>

聚簇的表可以被單獨(dú)刪除,而不會(huì)影響聚簇,或是其他聚簇的表,或聚簇索引。刪除一個(gè)聚簇的表跟刪除一個(gè)非聚簇的表一樣。

備注:當(dāng)從聚簇刪除一個(gè)表時(shí),數(shù)據(jù)庫(kù)單獨(dú)刪除表的所有行。處于效率的考慮,若想刪除整個(gè)聚簇,則使用 DROP CLUSTER 語(yǔ)句。若只想聚簇中的一個(gè)表,則使用 DROP TABLE 語(yǔ)句。

刪除聚簇索引

刪除聚簇索引不會(huì)影響聚簇或其聚簇的表。但若沒有聚簇索引,就不能使用聚簇的表;想訪問聚簇,必須重新創(chuàng)建聚簇索引。有時(shí),存儲(chǔ)過程會(huì)刪除聚簇索引以重建破碎的聚簇索引。

聚簇?cái)?shù)據(jù)字典視圖


下面視圖顯示關(guān)于聚簇的信息:

視圖描述
DBA_CLUSTERS
ALL_CLUSTERS
USER_CLUSTERS
DBA_CLUSTERS 視圖描述數(shù)據(jù)庫(kù)中的所有聚簇。ALL_CLUSTERS 視圖描述用戶可以訪問的視圖。USER_CLUSTERS 視圖限制在聚簇的擁有者。這些的視圖的列包含由 DBMS_STATS 包或 ANALYZE 語(yǔ)句產(chǎn)生的統(tǒng)計(jì)信息。
DBA_CLU_COLUMNS
USER_CLU_COLUMNS

這些視圖把表的列映射到聚簇的列。

總結(jié)

以上是生活随笔為你收集整理的Oracle 11g Release 1 (11.1)——简单管理聚簇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。