chunk與dbspace的概念
chunk :chunk是ONLINE的物理存儲實體, 是磁盤上的一塊連續的物理空間,ONLINE數據最終存放於此,我們可設置chunk的個數和大小。
dbspace:是一個邏輯上的概念,較chunk高一層,實際上是由一個或多個chunk組合而成。每個dbspace至少包含一個chunk來存儲數據,在用onspace指令創建dbspace時即須指令其初始chunk。
chunk與dbspace的關系
當我們建立數據庫或表時,不直接與某個chunk關聯,庫或表建立在dbspace上,庫或表的數據存放在dbspace的chunk中, 至於數據最終放在dbspace的哪個chunk上,則由系統內部自身決定。當dbspace中的chunk都寫滿時,用戶必須追加chunk。
為了提高系統性能,用戶在為數據空間分配chunk時需要計算以保證它的大小能適應未來的需要,否則在追加chunk的時候,它與先前的chunk在物理上不一定相鄰,導致增加讀取數據的時間。
chunk與dbspace的建立
一般情況下,應在原始磁盤設備上建立三個dbspace
rootdbs:ONLINE初始化是缺省建立。
Workdbs:存放應用系統數據庫數據。
Tmpdbs:存放系統臨時文件數據。
rootdbs:ONLINE初始化時,自動建立了一個名為rootdbs的dbspace。該rootdbs存儲ONLINE的管理信息,包括物理日志,邏輯日志等。當建立一個數據庫或表時,如果不指定dbspace,作為缺省,該數據庫或表建在rootdbs,因此要將庫或表建立在某個 dbspace中,則必須在SQL語句中指定dbspace名字。
建chunk或dbspace時,要指定原始磁盤設備名路徑,所需磁盤空間大小,以及該塊磁盤空間在原始磁盤設備中的偏移量。其中, 偏移量非常關鍵,要小心設置,否則容易造成chunk塊之間空間上的重疊與覆蓋。
例如:假定原始磁盤設備/dev/rdsk/0s2有500M空間其中rootdbs用去前100M如果要在/dev/rdsk/0s2中建立一個新的dbspace偏移量應大於100M。
l 使用onspaces命令建立dbspace和chunk
建立dbspace
語法:onspace -c -d 數據庫名 -p 設備文件名(初始chunk的全路徑) -o 偏移量 -s尺寸
建立chunk (即為dbsapce增加一個trunk)
onspace -a 數據庫名 -p 設備文件名 -o偏移量 -s尺寸
選項:
-c 建立新的dbspace
-d dbspace名字
-a 為指定dbspace增加一個chunk
-p chunk全路徑名/dev/rdsk/0s2
-o 偏移量,以K字節為單位
-s chunk的尺寸,以K字節為單位
例: 建立一新dbspace
a. 以informix用戶身份登錄
su Informix
b.將目錄切換至格式化的空間將駐留的目錄
cd /usr/data
c. 建立mychunk文件
cat /dev/null >my_chunk
or touch my_chunk
d. 設置權限
chmod 660 my_chunk
e. 保證組與文件所有者均設置到informix
ls -l my_chunk -rw-rw---- 1 informix informix 0 Oct 12 13:43 my_chunk
f. 用onspace 創建dbspace
onspace -c -d workdbs -p /usr/data/my_chunk -o 0 -s 100000
g. 為workdbs增加chunk時,須重復a~e,建立新文件my_chunk.1,再調用onspace指令
onspace -a -d workdbs -p /usr/data/my_chunk.1 -o 0 -s 100000
chunk :chunk是ONLINE的物理存儲實體, 是磁盤上的一塊連續的物理空間,ONLINE數據最終存放於此,我們可設置chunk的個數和大小。
dbspace:是一個邏輯上的概念,較chunk高一層,實際上是由一個或多個chunk組合而成。每個dbspace至少包含一個chunk來存儲數據,在用onspace指令創建dbspace時即須指令其初始chunk。
chunk與dbspace的關系
當我們建立數據庫或表時,不直接與某個chunk關聯,庫或表建立在dbspace上,庫或表的數據存放在dbspace的chunk中, 至於數據最終放在dbspace的哪個chunk上,則由系統內部自身決定。當dbspace中的chunk都寫滿時,用戶必須追加chunk。
為了提高系統性能,用戶在為數據空間分配chunk時需要計算以保證它的大小能適應未來的需要,否則在追加chunk的時候,它與先前的chunk在物理上不一定相鄰,導致增加讀取數據的時間。
chunk與dbspace的建立
一般情況下,應在原始磁盤設備上建立三個dbspace
rootdbs:ONLINE初始化是缺省建立。
Workdbs:存放應用系統數據庫數據。
Tmpdbs:存放系統臨時文件數據。
rootdbs:ONLINE初始化時,自動建立了一個名為rootdbs的dbspace。該rootdbs存儲ONLINE的管理信息,包括物理日志,邏輯日志等。當建立一個數據庫或表時,如果不指定dbspace,作為缺省,該數據庫或表建在rootdbs,因此要將庫或表建立在某個 dbspace中,則必須在SQL語句中指定dbspace名字。
建chunk或dbspace時,要指定原始磁盤設備名路徑,所需磁盤空間大小,以及該塊磁盤空間在原始磁盤設備中的偏移量。其中, 偏移量非常關鍵,要小心設置,否則容易造成chunk塊之間空間上的重疊與覆蓋。
例如:假定原始磁盤設備/dev/rdsk/0s2有500M空間其中rootdbs用去前100M如果要在/dev/rdsk/0s2中建立一個新的dbspace偏移量應大於100M。
l 使用onspaces命令建立dbspace和chunk
建立dbspace
語法:onspace -c -d 數據庫名 -p 設備文件名(初始chunk的全路徑) -o 偏移量 -s尺寸
建立chunk (即為dbsapce增加一個trunk)
onspace -a 數據庫名 -p 設備文件名 -o偏移量 -s尺寸
選項:
-c 建立新的dbspace
-d dbspace名字
-a 為指定dbspace增加一個chunk
-p chunk全路徑名/dev/rdsk/0s2
-o 偏移量,以K字節為單位
-s chunk的尺寸,以K字節為單位
例: 建立一新dbspace
a. 以informix用戶身份登錄
su Informix
b.將目錄切換至格式化的空間將駐留的目錄
cd /usr/data
c. 建立mychunk文件
cat /dev/null >my_chunk
or touch my_chunk
d. 設置權限
chmod 660 my_chunk
e. 保證組與文件所有者均設置到informix
ls -l my_chunk -rw-rw---- 1 informix informix 0 Oct 12 13:43 my_chunk
f. 用onspace 創建dbspace
onspace -c -d workdbs -p /usr/data/my_chunk -o 0 -s 100000
g. 為workdbs增加chunk時,須重復a~e,建立新文件my_chunk.1,再調用onspace指令
onspace -a -d workdbs -p /usr/data/my_chunk.1 -o 0 -s 100000
