12C中,ASM口令文件,可以提供本地、远程登录asm的验证。当然,要想使用asm口令文件验证,必须为每个asm创建一个口令文件。
如果是使用asm存储,asmca在配置asm磁盘组的会后,会自动为asm创建口令文件,包含初始的用户sys和asmsnmp。要想增加其他用户,需要使用create user和授权。
如果不是使用asmca配置asm实例,必须手动创建一个口令文件,并授予sys用户sysasm特权。
集群中,可以共享口令文件。存放口令的asm磁盘,compatible.asm的值至少要设置为12.1。
可以使用orapwd命令创建口令文件,使用asmcmd、srvctl命令来维护口令文件。
1.查看asm口令文件的位置:
$ srvctl config asm
ASM home: <CRS home>
Password file: +OCR/orapwASM
Backup of Password file:
ASM listener: LISTENER
ASM instance count: 3
Cluster ASM listener: ASMNET1LSNR_ASM
$
11gR2是查不到的
$ srvctl config asm
ASM home: /u01/app/11.2.0/grid
ASM listener: LISTENER
$
2.创建口令文件
$ orapwd file='+data/ORCL/orapwdb' dbuniquename='orcl' asm=y
#asm=y 表明是asm口令文件
#也可使用已有的口令文件创建新的口令文件
$ orapwd input_file='/oraclegrid/dbs/orapwasm' file='+data/ORCL/orapwdb' asm=y
3.修改asm口令文件的位置
$ srvctl modify asm -pwfile <location>
$ srvctl modify database -db <dbname> -pwfile <location>
4.备份asm口令文件
ASMCMD [+] > pwget --asm
+DATA/orapwasm
ASMCMD [+] > pwcopy +DATA/orapwasm +FRA/my_pwfile_backup
5.还原asm口令文件
#从备份中拷贝过去即可
ASMCMD [+] > pwcopy --asm +FRA/my_pwfile_backup +DATA2/my_orapwasm