aix5.3系統安裝oracle 10g使用裸裝置--4k位移量問題

來源:互聯網
上載者:User

標籤:aix oracle

今天朋友在aix 5.3系統上安裝oracle 10g 建庫是用裸裝置時候,dbca建庫到2%報錯退出,觀察alert日誌發現是temp資料表空間空間不足導致。查看該資料表空間資料檔案所在的裸裝置容量為512M,建庫時候給出的資料檔案大小也是512M。也許是因為aix系統以1000進位計算,而oracle資料庫計算容量是以1024進位導致差距,隨即將oracle資料檔案大小改為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在建立vg時有3中vg類型可選,分別是 Original Volume Group,Big Volume Group和Scalable Volume Group 
對於普通的VG(Original Volume Group),不管你使用什麼命令建立lv,都是普通的DS_LV類型的LV。 
對於Big VG,是唯一允許同時存在這兩種LV類型的VG,如果我們指定-T O(注意,這裡是大寫的字母O),則建立DS_LVZ類型的LV,否則,建立普通類型的LV。如 
/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs。 
對於Scalable-type VG類型的VG,不管你使用什麼方式的命令建立lv,都是擴充的DS_LVZ類型的LV。 
由Oracle的警告日誌可以看出,Oracle 使用raw裝置時,建議設定不帶4k的lv。

AIX將這4k位移量稱之為lvcb(logical volume control block),它將佔用4k的前512個位元組,它類似於Oracle資料檔案頭,保留有lv的建立時間,鏡像拷貝資訊,檔案系統掛載點等。

從2個方面可以查看lv是否有4k位移量 
1、主機層面 
沒有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位移量: 

引用

[[email protected]_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位移量: 

引用

[[email protected]_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



如果資料庫使用block size為16k,建立跨pv帶有4k位移的lv,條帶塊大小為64k。這樣將導致第4個block橫跨2個pv(條帶化操作,把lvcb也計算進條帶塊中)。這樣會導致 
條帶塊的第4個Oracle block跨磁碟,撇開效能方面考慮,如果系統異常宕機,或者儲存異常宕機,極易引起資料庫塊損壞,引起ora-01578錯誤。(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時候無法通過參數來取消4k offerset,唯一的辦法就是將oracle資料庫db_block_size設定為4k。(不推薦使用)

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

而Scalable-type VG類型的VG,無論如何建立LV都是不帶4K位移量的,且支援的pp更多,支援單個檔案容量最大。(強烈推薦使用)


本文出自 “文化流氓的DBA生活” 部落格,轉載請與作者聯絡!

aix5.3系統安裝oracle 10g使用裸裝置--4k位移量問題

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.