Oracle 表空间的段管理
生活随笔
收集整理的這篇文章主要介紹了
Oracle 表空间的段管理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
當用戶進行插入、更新和刪除操作時,段中的數據塊的空間會發生變化,塊的狀態也會發生變化。?
Oracle使用兩種方法進行塊管理:
手動管理(Manual Segment Space Management)
自動管理(Automatic Segment Space Management,ASSM)
1) 手動管理
Oracle使用自由列表(Free List)管理段中的塊,自由列表列出允許進行插入操作的數據塊。?
Oracle通過PCT_FREE和PCT_USED兩個參數來控制一個數據塊是否允許插入數據。當對一個塊進行INSERT或者UPDATE操作后,Oracle會把這個塊中剩余的自由空間和PCT_FREE進行對比,如果這個數據塊中的自由空間小于PCT_FREE的設置,Oracle將把這個快從自由列表中取出,這時,這個塊不再允許進行INSERT操作,但這個塊仍然允許UPDATE操作。當對一個塊進行DELETE或者UPDATE操作以后,Oracle會把這個塊中已經使用的空間和PCT_USED進行對比,如果這個數據塊中已經使用的空間小于PCT_USED的設置,則Oracle把這個塊重新放回自由列表中,這時,這個塊又可以進行INSERT了。?
在創建表空間的時候,使用子句Segment Space Management Manual設置段的手動管理。?
例:創建手動管理表空間
2) 自動管理
段的手工管理使用自由列表管理段中數據塊的使用,自動管理使用位圖來管理數據快。當塊發生變化時,Oracle會更新位圖,以反映這個塊是否允許INSERT操作。位圖使Oracle自動管理自由空間。?
例:創建自動管理表空間
? 與50位技術專家面對面20年技術見證,附贈技術全景圖
Oracle使用兩種方法進行塊管理:
手動管理(Manual Segment Space Management)
自動管理(Automatic Segment Space Management,ASSM)
1) 手動管理
Oracle使用自由列表(Free List)管理段中的塊,自由列表列出允許進行插入操作的數據塊。?
Oracle通過PCT_FREE和PCT_USED兩個參數來控制一個數據塊是否允許插入數據。當對一個塊進行INSERT或者UPDATE操作后,Oracle會把這個塊中剩余的自由空間和PCT_FREE進行對比,如果這個數據塊中的自由空間小于PCT_FREE的設置,Oracle將把這個快從自由列表中取出,這時,這個塊不再允許進行INSERT操作,但這個塊仍然允許UPDATE操作。當對一個塊進行DELETE或者UPDATE操作以后,Oracle會把這個塊中已經使用的空間和PCT_USED進行對比,如果這個數據塊中已經使用的空間小于PCT_USED的設置,則Oracle把這個塊重新放回自由列表中,這時,這個塊又可以進行INSERT了。?
在創建表空間的時候,使用子句Segment Space Management Manual設置段的手動管理。?
例:創建手動管理表空間
2) 自動管理
段的手工管理使用自由列表管理段中數據塊的使用,自動管理使用位圖來管理數據快。當塊發生變化時,Oracle會更新位圖,以反映這個塊是否允許INSERT操作。位圖使Oracle自動管理自由空間。?
例:創建自動管理表空間
? 與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的Oracle 表空间的段管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过Rman定期删除归档脚本
- 下一篇: ORACLE DBA学习笔记--表空间的