国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

oracle區管理和段空間管理詳細介紹

2024-08-29 13:55:55
字體:
來源:轉載
供稿:網友

作為一名DBA,常見的一個場景之一:

創建表空間:

復制代碼 代碼如下:


createtablespaceThink
datafile'/u01/app/oracle/oradata/orcl/think.dbf'size100M
autoextendonnext10Mmaxsize4096M
extentmanagementlocaluniformsize256K
segmentspacemanagementauto;


創建用戶:

復制代碼 代碼如下:


createuserbin
defaulttablespaceThink
temporarytablespacetemp;


授予權限:

復制代碼 代碼如下:


grantconnect,resourcetobin;
revokeunlimitedtablespacefrombin;
alteruserbinquotaunlimitedonThink;


在這個場景中,有兩條語句:
①extentmanagementlocaluniformsize256K
②segmentspacemanagementauto
其中,前者是區管理;后者則是段空間管理

㈠區管理
區管理實際上就是表空間的管理
8i以前,是字典管理表空間,當創建或刪除對象時,Oracle的空間分配或回收是通過數據字典來記錄和管理
在高并發系統中,這會導致性能衰減、空間碎片等難題
這已經是門過去的技術,這里就不贅述了。
8i開始,Oracle引入本地表空間管理
在每個表空間的數據文件的頭部加入了一個位圖區域
一個段的第一個區的第一個塊是firstlevelbitmapblock
第二個塊是secondlevelbitmapblock
第三個塊才是段頭塊
這兩個塊是用來管理freeblock

語法:

復制代碼 代碼如下:


extentmanagementlocal{autoallocate|uniformsizenK/M}


是自動分配還是統一尺寸
若為自動分配,則Oracle會按照遞增算法來分配空間
如果選擇統一尺寸,還可以詳細指定每個區間的大小
dba_extents這個視圖可以看到哪些對象分配了多少區間

㈡段空間管理
Oracle以區間為單位將空間分配給對象段,而段內則是以block為單位進行空間使用和管理
我們以幾個參數來理解段空間管理

復制代碼 代碼如下:


[sql]
<spanstyle="font-size:18px;">sys@ORCL>selectextent_management,segment_space_managementfromdba_tablespaces;
EXTENT_MANSEGMEN
----------------
LOCALMANUAL
LOCALMANUAL
LOCALAUTO
LOCALMANUAL
LOCALMANUAL


從9i開始,段空間管理有兩種:
①MSSM:由你設置freelists、freelistgroups、pctused、pctfree、initrans等參數來控制如何分配、使用段中的空間
②ASSM:你只需控制一個參數pctfree,其他參數即使建了也將被忽略
⑴freelist
使用MSSM表空間管理時,Oracle會在freelist中為有自由空間的對象維護HWM以下的塊
freelist和freelistgroup在ASSM表空間中根本不存在,僅在MSSM表空間使用這個技術
⑵pctfree和pctused
pctfree告訴Oracle:塊上應該保留多大的空間來完成將來的更新
對于MSSM,她控制著塊何時放入freelist中,以及何時從freelist中取出。
如果大于pctfree,則這個塊會一直在freelist上
對于ASSM,因為ASSM根本不使用freelist。在ASSM中,pctused也將被忽略。
但她仍然會限制能否將一個新行插入到一個塊中
適當的設置pctfree有助于減小行遷移
⑶initrans
無論是ASSMorMSSM這個參數仍然有效
塊頭的事務槽的初始化大小有對象的initrans指定

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南丹县| 当阳市| 上虞市| 大埔县| 扶余县| 彭州市| 阳东县| 白山市| 华坪县| 东乡| 抚顺县| 新干县| 河北省| 舞钢市| 丰城市| 通河县| 阿图什市| 嘉义县| 册亨县| 龙南县| 安溪县| 巴彦淖尔市| 阿瓦提县| 万山特区| 黑龙江省| 墨脱县| 铁岭市| 苍山县| 冷水江市| 陇川县| 乡城县| 海丰县| 渑池县| 台中市| 南江县| 绥中县| 灵石县| 当涂县| 鲁山县| 嘉兴市| 招远市|