操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    實踐真知:使用ASM和文件系統的數據庫在AIO上有何不同?

    原創張大朋

    數據和云

    聚焦數據技術和云未來,、MySQL、、 ...從商用到開源,從國際到國產,及時的數據庫資訊、技術熱點、學習資源等。

    發表于

    收錄于合集

    張大朋(Lunar) 資深技術專家

    Lunar 擁有超過十年的 從業經驗,曾經服務于 ACS部門,現就職于 Sales 部門,負責的產品主要是 , Gate, 等。

    編輯說明:在數據庫中,很多概念在悄悄的發生變化,而如果缺乏實踐和動手驗證,你可能離真相會越來越遠。從文件系統到ASM,的異步IO參數也在發生不斷變化。

    昨天客戶的一個重要應用切換到新的系統環境上,今天觀察,發現部分異常等待:

    從OS的CPU負載來看,定期會出現一個峰值,從ASH中可以看出,這個峰值對應的等待事件跟AWR的完全吻合。

    因此,主要懷疑兩個東西:

    1,應用的SQL和對象的屬性(比如table或者index的統計信息,并行度等等……)

    2,系統的AIO設置

    上面的第一條,已經提交給開發相應的SQL和其他信息;第二條,因為系統以前是11.2 RAC,使用了ASM,而現在是單機文件系統.

    因此對比了這兩種環境下AIO的異同,結論如下:

    1,Linux下,ASM數據庫和文件系統數據庫的AIO設置差別:

    ----(1). ASM的AIO屬性是不受 參數的影響(因為ASM會繞過文件系統),只跟有關系

    ----(2). 文件系統的AIO屬性跟 和 都有關系

    2,=NONE : Bug – Wait Time on “ Path” with S=NONE (Doc ID .8)

    3, db file async I/O ’相關內容:

    ‘db file async I/O ’ when =NONE (Doc ID .1) —詳細講述了 ‘db file async I/O ’ 和 =NONE的關系

    當文件系統設置了=NONE時,會出現“db file async I/O ”后臺等待事件,而正常應該是出現“db file write”

    可以通過設置 =,啟用AIO,然后在AWR中會出現db file write,而不再是db file async I/O

    4,= : Wrong Can Cause a Block to be at the First Read (Doc ID .1)

    5,一般,linux建議設置為 =

    具體測試過程如下:

    先看看官方文檔的描述:

    --------------------------------

    type

    = { none | | | }

    value by and .

    No

    Basic No

    ------------------------------

    type

    value true

    No

    Range of true | false

    Basic No

    此處是文件系統:=none =true(缺省值),使用發現,沒有啟用AIO:

    15:21:06 SYS@ Lunar> show

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------

    none

    15:21:16 SYS@ Lunar> show

    NAME TYPE VALUE

    ------------------------------------ ----------- ------------

    TRUE

    15:21:30 SYS@ Lunar>

    在系統上看,目前并沒有啟用AIO:

    [@Lunar tmp]$ cat /proc/ | grep kio

    140 384 320 12 1 : 54 27 8 : 31 32 22

    kiocb 0 0 256 15 1 : 120 60 8 : 0 0 0

    [@Lunar tmp]$

    使用對后臺進程DBWR進行跟蹤,佐證了上述觀點,當前文件系統的數據庫沒有啟用AIO:

    [@Lunar tmp]$ ps -ef|grep dbw

    16540 30146 0 14:50 pts/3 00:00:00 grep dbw

    20618 1 0 Sep24 ? 00:02:39

    20620 1 0 Sep24 ? 00:02:55

    20622 1 0 Sep24 ? 00:02:47

    20624 1 0 Sep24 ? 00:02:29

    20626 1 0 Sep24 ? 00:02:48

    20628 1 0 Sep24 ? 00:02:41

    20630 1 0 Sep24 ? 00:02:44

    20632 1 0 Sep24 ? 00:02:55

    20634 1 0 Sep24 ? 00:02:06

    20636 1 0 Sep24 ? 00:01:46

    20638 1 0 Sep24 ? 00:01:56

    20640 1 0 Sep24 ? 00:01:58

    20642 1 0 Sep24 ? 00:01:52

    20644 1 0 Sep24 ? 00:01:57

    20646 1 0 Sep24 ? 00:01:50

    20648 1 0 Sep24 ? 00:01:50

    中,沒有函數,因為 = none

    如果 = ,那么會出現 函數。

    下面的測試是使用ASM的數據庫的參數:

    15:24:25 SYS@ > show

    NAME TYPE VALUE

    ------------------------------------ ----------- --------------

    none

    15:24:29 SYS@ > show

    NAME TYPE VALUE

    ------------------------------------ ----------- -------------

    TRUE

    15:24:39 SYS@ >

    在系統上看,雖然設置了=NONE,但是由于=TRUE(缺省值),因此,ASM下的數據庫依然使用AIO:

    [root@ ~]# cat /proc/ | grep kio

    238 340 384 10 1 : 54 27 8 : 34 34 0

    kiocb 3656 4845 256 15 1 : 120 60 8 : 323 323 180

    [root@ ~]#

    [@ ~]$ ps -ef|grep dbw

    82860 82820 0 15:25 pts/1 00:00:00 grep dbw

    grid 85795 1 0 Sep25 ? 00:00:36 +ASM1

    grid 86406 1 0 Sep25 ? 00:01:32 /u01/app/11.2.0/grid/jdk/jre//bin/java - -:jni - - -Djava.awt.=true -.=true -.=100 -.=10 -.=false -.wlm...level=INFO -Dport.rmi=23792 -jar /u01/app/11.2.0/grid/oc4j/j2ee/home/oc4j.jar - /u01/app/11.2.0/grid/oc4j/j2ee/home//.xml -out /u01/app/11.2.0/grid/oc4j/j2ee/home/log/oc4j.out -err /u01/app/11.2.0/grid/oc4j/j2ee/home/log/oc4j.err

    87014 1 0 Sep25 ? 00:10:02

    87018 1 0 Sep25 ? 00:11:22

    87022 1 0 Sep25 ? 00:09:28

    87026 1 0 Sep25 ? 00:08:50

    87030 1 0 Sep25 ? 00:09:43

    87041 1 0 Sep25 ? 00:09:47

    87048 1 0 Sep25 ? 00:08:52

    87052 1 0 Sep25 ? 00:08:59

    87056 1 0 Sep25 ? 00:08:26

    87060 1 0 Sep25 ? 00:12:26

    87064 1 0 Sep25 ? 00:09:35

    87068 1 0 Sep25 ? 00:09:25

    87072 1 0 Sep25 ? 00:08:35

    87076 1 0 Sep25 ? 00:09:22

    87080 1 0 Sep25 ? 00:08:16

    [@ ~]$

    可以看到數據庫應用系統包括什么,使用ASM數據庫的dbw0進程,即使設置為NONE,只要設置為true(缺省值),DBWR也可以使用到AIO:

    再看ASM實例的dbw進程數據庫應用系統包括什么,也是用了AIO:

    在實踐學習中,跟蹤工具是利器之一。

    如何加入"云和恩墨大講堂"微信群

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有