溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

aix5.3系統(tǒng)安裝oracle 10g使用裸設(shè)備--4k偏移量問題

發(fā)布時(shí)間:2020-08-03 23:16:32 來源:網(wǎng)絡(luò) 閱讀:1611 作者:vans0927 欄目:關(guān)系型數(shù)據(jù)庫

今天朋友在aix 5.3系統(tǒng)上安裝oracle 10g 建庫是用裸設(shè)備時(shí)候,dbca建庫到2%報(bào)錯(cuò)退出,觀察alert日志發(fā)現(xiàn)是temp表空間空間不足導(dǎo)致。查看該表空間數(shù)據(jù)文件所在的裸設(shè)備容量為512M,建庫時(shí)候給出的數(shù)據(jù)文件大小也是512M。也許是因?yàn)閍ix系統(tǒng)以1000進(jìn)制計(jì)算,而oracle數(shù)據(jù)庫計(jì)算容量是以1024進(jìn)制導(dǎo)致差距,隨即將oracle數(shù)據(jù)文件大小改為500M,則正常通過。

但是,在alert日志中不斷爆出warning提示:WARNING: You are creating datafile /dev/temp01. 
WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details。通過查詢資料以及朋友的幫助,終于找到了問題原因并得到解決方法。

AIX在創(chuàng)建vg時(shí)有3中vg類型可選,分別是 Original Volume Group,Big Volume Group和Scalable Volume Group 
對于普通的VG(Original Volume Group),不管你使用什么命令創(chuàng)建lv,都是普通的DS_LV類型的LV。 
對于Big VG,是唯一允許同時(shí)存在這兩種LV類型的VG,如果我們指定-T O(注意,這里是大寫的字母O),則創(chuàng)建DS_LVZ類型的LV,否則,創(chuàng)建普通類型的LV。如 
/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs。 
對于Scalable-type VG類型的VG,不管你使用什么方式的命令創(chuàng)建lv,都是擴(kuò)展的DS_LVZ類型的LV。 
由Oracle的警告日志可以看出,Oracle 使用raw設(shè)備時(shí),建議設(shè)置不帶4k的lv。

AIX將這4k偏移量稱之為lvcb(logical volume control block),它將占用4k的前512個(gè)字節(jié),它類似于Oracle數(shù)據(jù)文件頭,保留有l(wèi)v的創(chuàng)建時(shí)間,鏡像拷貝信息,文件系統(tǒng)掛載點(diǎn)等。

從2個(gè)方面可以查看lv是否有4k偏移量 
1、主機(jī)層面 
沒有4k偏移量: 

引用

#lslv jfkdb_2G_044 
LOGICAL VOLUME: jfkdb_2G_044 VOLUME GROUP: jfk_dbvg_01 
LV IDENTIFIER: 00c3dff400004c00000001217a9d839e.84 PERMISSION: read/write 
VG STATE: active/complete LV STATE: closed/syncd 
TYPE: raw WRITE VERIFY: off 
MAX LPs: 1024 PP SIZE: 32 megabyte(s) 
COPIES: 1 SCHED POLICY: parallel 
LPs: 64 PPs: 64 
STALE PPs: 0 BB POLICY: relocatable 
INTER-POLICY: maximum RELOCATABLE: yes 
INTRA-POLICY: middle UPPER BOUND: 1024 
MOUNT POINT: N/A LABEL: None 
MIRROR WRITE CONSISTENCY: on/ACTIVE 
EACH LP COPY ON A SEPARATE PV ?: yes 
Serialize IO ?: NO 
DEVICESUBTYPE : DS_LVZ


有4k偏移量: 

引用

[root@jfk_p560q /]# lslv jfkdb_2G_044 
LOGICAL VOLUME: jfkdb_2G_044 VOLUME GROUP: jfk_db_vg01 
LV IDENTIFIER: 00ce76de00004c00000001134ee6bc51.84 PERMISSION: read/write 
VG STATE: active/complete LV STATE: opened/syncd 
TYPE: raw WRITE VERIFY: off 
MAX LPs: 1024 PP SIZE: 32 megabyte(s) 
COPIES: 1 SCHED POLICY: parallel 
LPs: 64 PPs: 64 
STALE PPs: 0 BB POLICY: relocatable 
INTER-POLICY: maximum RELOCATABLE: yes 
INTRA-POLICY: middle UPPER BOUND: 16 
MOUNT POINT: N/A LABEL: None 
MIRROR WRITE CONSISTENCY: on/ACTIVE 
EACH LP COPY ON A SEPARATE PV ?: yes 
Serialize IO ?: NO


(2)Oracle層面: 
Oracle提供了一小工具dbfsize(在$ORACLE_HOME/bin下)用于觀察lv是否有4k偏移量 
無4k偏移量: 

引用

$ dbfsize /dev/rlvsysaux_1g 

Database file: /dev/rlvsysaux_1g 
Database file type: raw device without 4K starting offset 
Database file size: 40960 8192 byte blocks


有4k偏移量: 

引用

[oracle@jfk_p560q /dev]$ dbfsize /dev/rjfkdb_2G_054 

Database file: /dev/rjfkdb_2G_054 
Database file type: raw device 
Database file size: 262016 8192 byte blocks



如果數(shù)據(jù)庫使用block size為16k,創(chuàng)建跨pv帶有4k偏移的lv,條帶塊大小為64k。這樣將導(dǎo)致第4個(gè)block橫跨2個(gè)pv(條帶化操作,把lvcb也計(jì)算進(jìn)條帶塊中)。這樣會(huì)導(dǎo)致 
條帶塊的第4個(gè)Oracle block跨磁盤,撇開性能方面考慮,如果系統(tǒng)異常宕機(jī),或者存儲(chǔ)異常宕機(jī),極易引起數(shù)據(jù)庫塊損壞,引起ora-01578錯(cuò)誤。(metalink ID 261460.1) 

引用

$ oerr ora 01578 
01578, 00000, "ORACLE data block corrupted (file # %s, block # %s)" 
// *Cause: The data block indicated was corrupted, mostly due to software 
// errors. 
// *Action: Try to restore the segment containing the block indicated. This 
// may involve dropping the segment and recreating it. If there 
// is a trace file, report the errors in it to your ORACLE 
// representative.

 

也就是說,使用Original Volume Group時(shí)候無法通過參數(shù)來取消4k offerset,唯一的辦法就是將oracle數(shù)據(jù)庫db_block_size設(shè)置為4k。(不推薦使用)

而使用big VG的時(shí)候,可以通過創(chuàng)建LV加入-T -O參數(shù)來實(shí)現(xiàn)創(chuàng)建DS_LVZ類型的LV,從而取消前面4K的偏移量。(但傳說big vg有已知的bug,顧不推薦使用)。

而Scalable-type VG類型的VG,無論如何創(chuàng)建LV都是不帶4K偏移量的,且支持的pp更多,支持單個(gè)文件容量最大。(強(qiáng)烈推薦使用)


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI