在本教程中,您將學(xué)習(xí)如何在 IBM Informix 數(shù)據(jù)庫上配置和管理存儲(chǔ)空間,創(chuàng)建這些存儲(chǔ)空間的實(shí)用程序,以及如何使用碎片和各種功能來優(yōu)化數(shù)據(jù)庫中的存儲(chǔ)。本教程幫助您為參加 Informix v11.70 系統(tǒng)管理認(rèn)證考試 919 的第 2 部分做準(zhǔn)備。
正在考慮獲得 informix 11.70 版的系統(tǒng)管理認(rèn)證(考試 919)?如果是,那么您來對(duì)地方了。這個(gè) 認(rèn)證準(zhǔn)備系列 涵蓋您在參加考試前需要理解的所有主題。即使您目前沒有獲取認(rèn)證的想法,這一系列也是您開始了解 informix 11.70 中的新功能的不錯(cuò)地方。
關(guān)于本教程
在本教程中,您將學(xué)習(xí)如何使用 IBM Informix 工具創(chuàng)建 dbspace、sbspace 以及時(shí)態(tài) dbspace。您將學(xué)習(xí)創(chuàng)建和管理表碎片,以及使用存儲(chǔ)優(yōu)化特性,比如壓縮。此處提供的材料主要涵蓋考試第 2 部分(名為空間管理)中的目標(biāo)。
目標(biāo)
完成本教程的學(xué)習(xí)后,您應(yīng)該能夠:
- 創(chuàng)建 dbspace 和 sbspace
- 向 dbspace 或 sbspace 添加塊區(qū)
- 重命名 dbspace
- 在塊區(qū)中鏡像一個(gè) dbspace 或 sbspace
- 使用表碎片
- 使用附加或分離來向碎片表添加或刪除碎片
- 使用數(shù)據(jù)壓縮來優(yōu)化存儲(chǔ)
前提條件
要理解本教程中介紹的內(nèi)容,您必須熟悉以下內(nèi)容:
- IBM Informix 環(huán)境(配置文件和參數(shù)、安裝和管理)
- 命令(onstat、onmode、oncheck 和 dbschema)
- IBM Informix 概念和術(shù)語(dbspace、塊區(qū)、物理日志、邏輯日志、檢查點(diǎn)等)
系統(tǒng)需求
無需 IBM Informix 的副本即可完成本教程的學(xué)習(xí)。但是如果 Informix Innovator-C Edition 的免費(fèi)試用版以供在學(xué)習(xí)本教程的過程中使用,您將從本教程獲得更多知識(shí)。
配置和管理存儲(chǔ)空間
存儲(chǔ)空間是一個(gè)物理區(qū)域,這是 IBM Informix 存儲(chǔ)數(shù)據(jù)的區(qū)域。有一些不同類型的存儲(chǔ)空間可供 IBM Informix 使用,包括 dbspace、blob 空間、智慧 blob 空間和外部空間。您可以在數(shù)據(jù)庫服務(wù)器上創(chuàng)建最多達(dá) 32,766 個(gè)存儲(chǔ)空間。
以下實(shí)用程序可幫助您管理存儲(chǔ)空間:
- onspaces 實(shí)用程序
- SQL 管理 API 命令
- OpenAdmin Tool (OAT)
理解 dbspace
dbspace 是一個(gè)邏輯單元,其中可包含 1 到 32,766 個(gè)塊區(qū)。將數(shù)據(jù)庫、表、邏輯日志文件和物理日志放在 dbspace 中。
使用默認(rèn)頁面大小的 dbspace
要使用 onspace 創(chuàng)建一個(gè)標(biāo)準(zhǔn)的 dbspace,您必須以用戶 informix 或 root 的身份登錄。在 Windows 上,Informix-Admin 組中的用戶可創(chuàng)建一個(gè) dbspace。請(qǐng)確保數(shù)據(jù)庫服務(wù)器處于在線、管理或休眠模式。
使用 onspaces -c -d 選項(xiàng)創(chuàng)建 dbspace 或臨時(shí) dbspace,如 清單 1 中所示。
清單 1. 創(chuàng)建 dbspace
onspaces -c -d < dbspace_name> -p < pathname or drive> -o < offset> -s < size> -m--< pathname> < offset>
一個(gè) dbspace 的最大大小等于最大塊區(qū)數(shù)乘以一個(gè)塊區(qū)的最大大小。(最大塊區(qū)數(shù)是每實(shí)例 32,766 個(gè)。一個(gè)塊區(qū)的最大大小等于 2147483647 個(gè)頁面乘以頁面大小。)
清單 2 展示了如何創(chuàng)建一個(gè) 10 MB 的鏡像 dbspace dbspce1,它在主要和鏡像塊區(qū)上都具有 5000 KB 的偏移;使用默認(rèn)頁面大小;使用 UNIX 上的原始磁盤空間。
清單 2. 示例鏡像 dbspace 創(chuàng)建
onspaces -c -d dbspce1 -p /dev/raw_dev1 -o 5000 -s 10240 -m /dev/raw_dev2 5000
清單 3 展示了如何在 Windows 上創(chuàng)建一個(gè) 5 MB 的 dbspace dbspc3,它具有一個(gè)離原始磁盤空間(驅(qū)動(dòng)器 e:)200 KB 的偏移。
清單 3. 示例 dbspace 創(chuàng)建
onspaces -c -d dbspc3 .e: -o 200 -s 5120
具有非默認(rèn)頁面大小的 dbspace
如果想要使鍵長(zhǎng)度比可用于默認(rèn)頁面大小的鍵長(zhǎng)度更長(zhǎng),那么您可以為標(biāo)準(zhǔn)或臨時(shí) dbspace 指定一個(gè)頁面大小。Root dbspace 具有默認(rèn)的頁面大小。如果您希望指定頁面大小,該大小必須是默認(rèn)頁面大小的整數(shù)倍,并且不能大于 16 KB。
對(duì)于具有充足存儲(chǔ)空間的系統(tǒng),更大的頁面大小所提供的性能優(yōu)勢(shì)包括:
- 減少 b-型樹索引深度,即使是較小的索引鍵也是如此
- 縮短檢查點(diǎn)時(shí)間
您還可通過執(zhí)行以下操作,獲得額外的性能優(yōu)勢(shì):
- 將當(dāng)前跨越多個(gè)默認(rèn)頁面大小頁面的長(zhǎng)行分組在同一個(gè)頁面上
- 為臨時(shí)表定義一個(gè)不同的頁面大小,使臨時(shí)表具有一個(gè)獨(dú)立的緩沖池
您可以使用 BUFFERPOOL 配置參數(shù)創(chuàng)建一個(gè)與 dbspace 的頁面大小對(duì)應(yīng)的緩沖池。表可以放在一個(gè) dbspace 中,對(duì)該表的索引可以放在另一個(gè) dbspace 中。這些分區(qū)的頁面大小可以不同。可以執(zhí)行以下步驟來指定 dbspace 的頁面大小。
- 如果還未啟用此模式,使用 onmode -BC 命令啟用大塊區(qū)模式。默認(rèn)情況下,當(dāng)首次初始化或重新啟動(dòng) IBM Informix 時(shí),IBM Informix 首先會(huì)啟用大塊區(qū)模式。有關(guān) onmode 實(shí)用程序的信息,請(qǐng)參閱 IBM Informix 管理員參考指南。
- 創(chuàng)建一個(gè)與 dbspace 的頁面大小對(duì)應(yīng)的緩沖池。您可以使用 onparams 實(shí)用程序或 BUFFERPOOL 配置參數(shù)。此操作應(yīng)該在創(chuàng)建 dbspace 之前執(zhí)行。如果您創(chuàng)建的 dbspace 頁面大小沒有相應(yīng)的緩沖池,則 IBM Informix 會(huì)使用在 onconfig 配置文件中定義的默認(rèn)參數(shù)自動(dòng)創(chuàng)建一個(gè)緩沖池。不能有多個(gè)具有相同頁面大小的緩沖池。
- 在創(chuàng)建 dbspace 時(shí)定義它的頁面大小。您可以使用 onspaces 實(shí)用程序或 ON-Monitor。例如,如果創(chuàng)建一個(gè)具有 6 KB 頁面大小的 dbspace,則必須創(chuàng)建一個(gè) 6 KB 的緩沖池。如果沒有為新緩沖池指定頁面大小,IBM Informix 將使用操作系統(tǒng)的默認(rèn)頁面大小(Windows 上為 4 KB,大部分 UNIX 平臺(tái)上為 2 KB)作為緩沖池的默認(rèn)頁面大小。