原作者:Bane Radulovic
譯者: 魏興華
審核: 魏興華
DBGeeK社區聯合出品
原文鏈接:http://asmsupportguy.blogspot.sg/2014/01/the-asm-passWord-directory.html
本篇介紹ASM的13號文件-密碼文件目錄,密碼文件給Oralce或ASM的本地或遠程連接提供訪問授權,在Oracle的12C版本,密碼文件可以存放在ASM磁盤組中了,ASM的也專門為密碼文件的管理設計了元數據結構-ASM Password Directory-ASM密碼文件目錄 ,元數據文件號為13。
注意,密碼文件只有在磁盤組mount以后才能被訪問,這意味著如果磁盤組沒有被mount,那么遠端的客戶端將不能連接ASM或DB實例。
對于密碼文件的管理涉及到ASMCMD、ORAPWD、SRVCTL命令,密碼文件可以使用ORAPWD和ASMCA(在ASM被配置的時候)進行創建。密碼文件的其他相關操作是通過ASMCMD和SRVCTL命令來進行的。
如果要使用到上面提到的這一特性,密碼文件所在的磁盤組的COMPATIBLE.ASM 屬性必須至少設置為12.1,管理ASM密碼文件的用戶需要具有SYSASM的權限,管理DB的密碼文件需要具有SYSDBA權限。
我們在ASM磁盤組DATA中創建一個ASM密碼文件:
首先確認磁盤組的COMPATIBLE.ASM屬性值是否滿足要求:
$ asmcmd lsattr -G DATA -l compatible.asm
Name Value
compatible.asm 12.1.0.0.0
創建ASM的密碼文件:
$ orapwd file='+DATA/orapwasm' asm=y
Enter password for SYS: *******
$
通過asmcmd的pwget命令來獲取ASM密碼文件的名稱:
$ asmcmd pwget --asm
+DATA/orapwasm
還可以通過asmcmd的find命令來找到密碼文件的全路徑和名稱:
$ asmcmd find +DATA "*" --type password
+DATA/ASM/PASSWORD/pwdasm.256.837972683
+DATA/orapwasm
其實+DATA/orapwasm是實際文件名(+DATA/ASM/PASSWORD/pwdasm.256.837972683)的一個alias。
ASM用來管理密碼文件的元數據結構是ASM的密碼文件目錄,是ASM元數據結構中的13號文件。但是要注意,ASM的密碼文件跟其他文件一樣也被ASM文件目錄所管理。
我們來定位到ASM的密碼文件目錄,根據他的文件號為13,我們可以在ASM的文件目錄中找到它,我們首先需要定位到ASM的文件目錄,它位于ASM 0號磁盤的磁盤頭中kfdhdb.f1b1locn所指向的位置。
首先定位到磁盤組DATA的0號磁盤:
$ asmcmd lsdsk -p -G DATA | cut -c12-21,78-88
Disk_Num Path
0 /dev/sdc1
1 /dev/sdd1
2 /dev/sde1
3 /dev/sdf1
然后找到文件目錄的起始AU:
$ kfed read /dev/sdc1 | grep f1b1locn
kfdhdb.f1b1locn: 10 ; 0x0d4: 0x0000000a
上面的輸出代表文件目錄在這個磁盤的AU 10處,只需要定位到AU 10的塊13(因為密碼文件目錄是文件13),就可以通過kfed工具查看ASM密碼文件目錄的AU分布信息:
$ kfed read /dev/sdc1 aun=10 blkn=13 | egrep "au|disk" | head
kfffde[0].xptr.au: 47 ; 0x4a0: 0x0000002f
kfffde[0].xptr.disk: 2 ; 0x4a4: 0x0002
kfffde[1].xptr.au: 45 ; 0x4a8: 0x0000002d
kfffde[1].xptr.disk: 1 ; 0x4ac: 0x0001
kfffde[2].xptr.au: 46 ; 0x4b0: 0x0000002e
kfffde[2].xptr.disk: 3 ; 0x4b4: 0x0003
kfffde[3].xptr.au: 4294967295 ; 0x4b8: 0xffffffff
kfffde[3].xptr.disk: 65535 ; 0x4bc: 0xffff
...
以上輸出顯示了,ASM的密碼文件目錄位于磁盤2的AU 47處,并且同時又復制了2分,分別位于磁盤1的AU 45,磁盤3的AU 46處。注意這是一個normal冗余的磁盤組,ASM的密碼文件目錄被做了3重鏡像。對于元數據的3重鏡像我們在本系列文章中已經多次看到。
我們看下2號磁盤的AU 47:
$ kfed read /dev/sde1 aun=47 blkn=1 | more
kfbh.endian: 1 ; 0x000: 0x01
kfbh.hard: 130 ; 0x001: 0x82
kfbh.type: 29 ; 0x002: KFBTYP_PASWDDIR
...
kfzpdb.block.incarn: 3 ; 0x000: A=1 NUMM=0x1
kfzpdb.block.frlist.number: 4294967295 ; 0x004: 0xffffffff
kfzpdb.block.frlist.incarn: 0 ; 0x008: A=0 NUMM=0x0
kfzpdb.next.number: 15 ; 0x00c: 0x0000000f
kfzpdb.next.incarn: 3 ; 0x010: A=1 NUMM=0x1
kfzpdb.flags: 0 ; 0x014: 0x00000000
kfzpdb.file: 256 ; 0x018: 0x00000100
kfzpdb.finc: 837972683 ; 0x01c: 0x31f272cb
kfzpdb.bcount: 15 ; 0x020: 0x0000000f
kfzpdb.size: 512 ; 0x024: 0x00000200
...
上面的輸出顯示了此ASM元數據塊的類型是KFBTYP_PASWDDIR,也就是ASM的密碼文件目錄:
$ asmcmd ls -l +DATA/ASM/PASSWORD
Type Redund Striped Time Sys Name
PASSWORD HIGH COARSE JAN 27 18:00:00 Y pwdasm.256.837972683
ASM的密碼文件是HIGH冗余,做了3副本,但是讀者需要注意,這是一個normal冗余的磁盤組。
從12C 版本開始,ASM和數據庫的密碼文件可以存放在ASM的磁盤組中,ASM的密碼文件可以在GI安裝時或者使用ORAPWD命令去創建,磁盤組的密碼文件可以使用ASMCMD、ORAPWD、SRVCTL命令去管理。
新聞熱點
疑難解答
圖片精選