表空間分析結果

2021-04-06 21:52:12 字數 2348 閱讀 2951

根據已評估的表空間, 執行下列乙個或多個測試以檢測空間管理問題。

段過分擴充套件

oracle 允許乙個段有多個區, 在需要額外空間時, oracle server 會自動分配這些區。儘管 dml 操作的效能基本上與段中的區數無關, 但在字典管理的表空間中對物件進行的某些 ddl 操作 (如刪除和截斷段) 對區數很敏感。對這類操作的效能檢測表明, 區數保持在 1024 以下就屬於 oracle server 能夠高效處理的範圍。

如果可能, 請考慮:

接近 maxextents

maxextents 段儲存引數指定可分配給該段的最大區數。一旦段中的區數達到了最大值, 將無法再進行插入操作, 並將出現一條錯誤訊息。

請考慮增大該段的 maxextents 儲存引數的值。或者使用更大的區大小重建此段, 通過將儲存引數指定為 next=initial, 並且 pctincrease = 0 來保證段內各區大小相同。

空閒空間不足

oracle server 按區為單位為段分配空間。如果某個段的現有區已滿, oracle server 會嘗試為該段再分配乙個區。如果 oracle server 無法找到一組相等或更大的連續資料塊來滿足分配新區的請求, 就會返回一條錯誤資訊。

請考慮通過如下方式來增加表空間的大小: 啟用其中乙個現有資料檔案的自動擴充套件, 調整其中乙個現有資料檔案的大小或新增乙個新的資料檔案。

或者, 如果表空間遇到空閒空間碎片問題, 請考慮重組整個表空間。

如果表空間中的空閒空間能夠滿足分配區的請求, 但這些空間分散在幾個更小的空閒 "塊" 中, 因而無法用來滿足該請求 (因為分配的空間必須來自一組連續的塊), 則該錶空間就會遇到空閒空間碎片問題。

索引遇到碎片問題

隨著索引值的更新或刪除, 樹中不可用空間的數量也在增加。這種較低的樹利用率會導致對該索引執行索引掃瞄的效能較低。考慮重建索引以增強效能。

行鏈結過多

在兩種情形下, 表或表分割槽中某一行的資料可能太多而無法裝入單個資料塊。因此產生了行碎片。

在第一種情形中, 第一次插入該行時, 由於行過大而無法裝入乙個資料塊。oracle server 使用為該段保留的一連串資料塊儲存行資料。鏈式行常常在使用較大的行時出現, 如包含一列長資料型別的行。在這種情形下, 如果不使用由 db_block_size 初始化引數定義的較大的資料庫塊大小, 行延續是不可避免的。

但在第二種情形下, 起初能夠裝入乙個資料塊的某行被更新, 使得整行長度增加, 並且資料塊的空閒空間已經完全被填滿。在這種情形下, oracle server 將整行資料移植到乙個新的資料塊 (假設這一整行可以裝入新塊)。oracle server 會保留移植行的原始行, 使其引用包含移植行的新塊。

在續行或移植行時, 與該行相關聯的 i/o 效能降低, 因為 oracle server 必須掃瞄乙個以上的資料塊以檢索該行的資訊。

有兩種解決行移植問題的方法。重建表或表分割槽可以避免在重建過程中, 隨著行被緊密地裝入各資料塊而產生行碎片。但是, 如果未對錶或表分割槽進行其他更改 (只是修復移植行), 將集中修復有問題的行, 而不是完全重建。

注: 如果行在更新中可能增大, 請考慮增加段的 pctfree 值以減少將來行出現碎片的可能性。

使用者物件在 system 表空間中

system 表空間包含資料庫元資料。雖然可以將所有的資料庫物件儲存於此表空間, oracle 仍極力建議不要這樣做。在 system 表空間中儲存使用者資料會增加空間管理問題出現的可能性。由於重建 system 表空間的唯一方式是重建資料庫, 因此建議將使用者物件重新定位到另乙個表空間。

非零 pctincrease

pctincrease 設定指定第三個區和此後各區的大小與前乙個區相比的遞增百分比。oracle 建議使用 pctincrease 的零設定, 使管理空間的任務更為容易, 因為使用非零 pctincrease 設定可能導致表空間空閒空間碎片問題。

如果表空間中的空閒空間能夠滿足分配區的請求, 但這些空間分散在幾個更小的空閒 "塊" 中, 因而無法用來滿足該請求 (因為分配的空間必須來自一組連續的塊), 則該錶空間就會遇到空閒空間碎片問題。

幸好, 只要遵守表空間中的段大小應完全相同的這一規則, 就可以很容易避免表空間空閒空間碎片問題。這確保了表空間中的任何空閒區總是可以用於表空間中的任何段。而且不會出現小得無法選用的空閒區。

為了進一步確保各區大小相同, oracle8 在 reate tablespace 命令中新增了 mum extent 子句。指定 minimum extent 值可確保表空間中所有已分配的區均為該值的倍數。如果被分配的區通常會小一些, 則將自動上捨入為 minimum extent 的倍數。同時, 如果某個區被修剪 (例如因為並行直接裝載), 那麼剩餘大小和修剪掉的大小將設定為 minimum extent 的倍數。始終指定與 initial 值相等的 minimum extent 值可確保區大小一致。

move 表空間的使用分析

做準備工作 新建表空間scottsj空間 sql create smallfile tablespace scott datafile d oracle product 10.2.0 oradata xnyb scottsj size 100m autoextend onnext 10mmaxsiz...

loadrunner分析結果

分析結果 檢視分析結果,檢視事務的響應時間 伺服器的平均吞吐量,執行使用者人數等 檢視執行緒圖,使用者變化圖,響應時間圖,吞吐量圖。檢視伺服器監控的計數器圖。分析各個效能指標是否符合需求。比如 可用記憶體曲線是否正常,是否存在記憶體洩漏 cpu利用率曲線是否平緩,是否低於90 執行緒數是否正常,而不...

空間分析 ClickHouse空間分析運用

clickhouse是乙個用於聯機分析 olap 的列式資料庫管理系統 dbms 絕大多數是讀請求 資料以相當大的批次 1000行 更新,而不是單行更新 或者根本沒有更新。已新增到資料庫的資料不能修改。對於讀取,從資料庫中提取相當多的行,但只提取列的一小部分。寬表,即每個表包含著大量的列 查詢相對較...