對Oracle資料庫中Stroage子句的一些理解
在工作中經常能遇到因Stroage引數設定不當引起的問題,以下是我對Storage子句的一些淺顯的理解。
[@more@]
INITIAL 物件建立時分配的初始區的大小
NEXT 與 PCTINCREASE 一起使用,用於計算後來分配的區的大小
PCTINCREASE 下一次分配的區要增加的百分比
MINEXTENTS 給物件(當它建立時)分配的區的最小數量
MAXEXTENTS 可以分配給物件的區的最大數量
一旦建立了某個物件,它的資料儲存引數INITIAL 和MINEXTENTS 不能修改,除非刪除和重新建立該物件。對於NEXT 和 PCTINCREASE 的任何更改都隻影響後來分配的那些區。
如果一個表空間的PCTINCREASE資料儲存引數的值大於零,則後臺例項程式SMON將擔當間接聚集該表空間的可用區的任務,另一種方法:ALTER TABLESPACE …… COALESCE;
通常使用的技巧是將PCTINCREASE 設為較小的非零數(通常設為1)來引起SMON 執行後臺聚集。這表面上看起來似乎是一件好事,但這樣做實際上存在三個問題。首先, PCTINCREASE 設為非零值將導致空間碎塊的增加,因此,事實上它產生了恰好是您想透過聚集解決的問題。由於PCTINCREASE 引起下一個區的大小成指數增加,即使是一個最小的PCTINCREASE 值(如1),隨時間的推移合計起來也會對後來的區分配增加很大的尺寸。其次,它引起SMON 的不必要的效能開銷。再其次, SMON 本身在聚集可用空間方面效率並不高。透過將PCTINCREASE 設為零並定期使用ALTER TABLESPACE …… COALESCE命令直接聚集可用空間,可更有效管理可用空間碎片。
透過使用匯出引數COMPRESS = Y,可以重新建立將表和索引重新建立到一個單獨的、大的區中。
回滾段和臨時段的PCTINCREASE必須為0。
NEXT 與 PCTINCREASE 一起使用,用於計算後來分配的區的大小
PCTINCREASE 下一次分配的區要增加的百分比
MINEXTENTS 給物件(當它建立時)分配的區的最小數量
MAXEXTENTS 可以分配給物件的區的最大數量
一旦建立了某個物件,它的資料儲存引數INITIAL 和MINEXTENTS 不能修改,除非刪除和重新建立該物件。對於NEXT 和 PCTINCREASE 的任何更改都隻影響後來分配的那些區。
如果一個表空間的PCTINCREASE資料儲存引數的值大於零,則後臺例項程式SMON將擔當間接聚集該表空間的可用區的任務,另一種方法:ALTER TABLESPACE …… COALESCE;
通常使用的技巧是將PCTINCREASE 設為較小的非零數(通常設為1)來引起SMON 執行後臺聚集。這表面上看起來似乎是一件好事,但這樣做實際上存在三個問題。首先, PCTINCREASE 設為非零值將導致空間碎塊的增加,因此,事實上它產生了恰好是您想透過聚集解決的問題。由於PCTINCREASE 引起下一個區的大小成指數增加,即使是一個最小的PCTINCREASE 值(如1),隨時間的推移合計起來也會對後來的區分配增加很大的尺寸。其次,它引起SMON 的不必要的效能開銷。再其次, SMON 本身在聚集可用空間方面效率並不高。透過將PCTINCREASE 設為零並定期使用ALTER TABLESPACE …… COALESCE命令直接聚集可用空間,可更有效管理可用空間碎片。
透過使用匯出引數COMPRESS = Y,可以重新建立將表和索引重新建立到一個單獨的、大的區中。
回滾段和臨時段的PCTINCREASE必須為0。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18966/viewspace-779752/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 對 oracle 資料庫日期格式,以及對日期操作的理解Oracle資料庫
- MySQL資料庫對GROUP BY子句的功能擴充套件(2)MySql資料庫套件
- MySQL資料庫對GROUP BY子句的功能擴充套件(1)MySql資料庫套件
- 資料庫——對索引的理解資料庫索引
- 理解ORACLE資料庫Oracle資料庫
- oracle資料庫%notfound的理解Oracle資料庫
- Oracle資料庫中對BLOB資料的操作問題Oracle資料庫
- 2.5.1 關於建立資料庫的子句資料庫
- 達夢資料庫DM8中WITH子句的簡單用法資料庫
- 對資料庫檢視view的理解資料庫View
- 對資料庫中列的一些基本的操作的SQL命令(轉)資料庫SQL
- 對於Oracle資料字典的深入理解Oracle
- 2.4.1 使用 CREATE DATABASE 子句建立資料庫Database資料庫
- 理解Sybase ASE資料庫中的索引資料庫索引
- 【SqlServer】 理解資料庫中的資料頁結構SQLServer資料庫
- 面向資料庫與物件導向的一些理解資料庫物件
- 對PostgreSQL資料庫結構的巨集觀理解SQL資料庫
- 關於資料庫中的一些name資料庫
- oracle資料庫開發的一些經驗Oracle資料庫
- Oracle資料庫中遇到的坑Oracle資料庫
- 對force.com資料庫的一些認識資料庫
- Oracle資料庫中Constraint約束的四對屬性Oracle資料庫AI
- Oracle資料庫中NOLOGGING和FORCE LOGGING的理解Oracle資料庫
- 專案開發中對前端資料管理的理解前端
- 對執行中的Mysql資料庫建立從庫MySql資料庫
- Oracle資料庫中的整型表示法Oracle資料庫
- ORACLE 資料庫中的鎖機制Oracle資料庫
- oracle例項、資料庫及相關資料庫狀態的理解和測試Oracle資料庫
- Oracle中對使用者所能使用的資料庫資源進行限制Oracle資料庫
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- Oracle資料庫對GCC的安裝順序Oracle資料庫GC
- 磁碟排序對Oracle資料庫效能的影響排序Oracle資料庫
- 用Asp實現對ORACLE資料庫的操作Oracle資料庫
- Oracle資料庫的版本變遷功能對比Oracle資料庫
- 【原創】說說你是如何理解Oracle資料庫中latch和enqueue lock的?Oracle資料庫ENQ
- html中的src以及一些庫的src資料夾HTML
- 【北亞資料庫資料恢復】使用delete未加where子句刪除全表資料的Mysql資料庫資料恢復資料庫資料恢復deleteMySql
- sqlite操作--- oracle資料庫中的資料導進sqliteSQLiteOracle資料庫