對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資料庫%notfound的理解Oracle資料庫
- 資料庫——對索引的理解資料庫索引
- 2.5.1 關於建立資料庫的子句資料庫
- 對資料庫的大體理解資料庫
- 達夢資料庫DM8中WITH子句的簡單用法資料庫
- oracle Mysql PostgreSQL 資料庫的對比OracleMySql資料庫
- oracle資料庫開發的一些經驗Oracle資料庫
- 2.4.1 使用 CREATE DATABASE 子句建立資料庫Database資料庫
- Oracle資料庫中遇到的坑Oracle資料庫
- 12、Oracle中的其它資料庫物件Oracle資料庫物件
- 【SqlServer】 理解資料庫中的資料頁結構SQLServer資料庫
- ORACLE資料庫的中的db-linkOracle資料庫
- Oracle資料庫中的分頁查詢Oracle資料庫
- 磁碟排序對Oracle資料庫效能的影響PT排序Oracle資料庫
- 資料庫選型比對 Oracle vs sqlserver資料庫OracleSQLServer
- Oracle資料庫-----資料庫的基本概念Oracle資料庫
- 對ThreadLocal的一些理解thread
- 對Transformer的一些理解ORM
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- Oracle資料庫搬家牽扯出的一些知識點記錄Oracle資料庫
- Oracle資料庫中的多種SCN彙總Oracle資料庫
- Oracle資料庫中的不可見索引 invisible indexOracle資料庫索引Index
- 【北亞資料庫資料恢復】使用delete未加where子句刪除全表資料的Mysql資料庫資料恢復資料庫資料恢復deleteMySql
- Oracle、NoSQL和NewSQL 資料庫技術對比OracleSQL資料庫
- Oracle和MySQL資料庫CTAS等操作對比OracleMySql資料庫
- Oracle資料庫(DataGuard)遷移方案(中)Oracle資料庫
- 「Oracle」Oracle 資料庫安裝Oracle資料庫
- 拿三個專案,跟你聊聊Oracle資料庫資料遷移的一些經驗Oracle資料庫
- 對React一些原理的理解React
- oracle資料庫的impdp,expdpOracle資料庫
- 專案開發中對前端資料管理的理解前端
- html中的src以及一些庫的src資料夾HTML
- Oracle資料庫基礎:程式中呼叫sqlplus的方式Oracle資料庫SQL
- Oracle獲取資料庫中的物件建立語句Oracle資料庫物件
- Oracle資料庫中的逐行處理問題NEOracle資料庫
- Oracle中的sql%rowcount在瀚高資料庫中的相容方案OracleSQL資料庫
- Oracle資料庫配置Oracle資料庫
- oracle 資料庫對於多列求最大值Oracle資料庫
- Oracle、NoSQL和NewSQL 資料庫技術對比(一)OracleSQL資料庫