【ASM】ASMSNMP用户已存在
During Oracle Grid Infrastructure for a cluster installation, the ASMSNMP account is created and its status is set to OPEN. It is granted the SYSDBA for ASM privilege. Oracle Enterprise Manager requires access to the ASMSNMP account to monitor Oracle ASM instances and retrieve data from ASM-related data dictionary views.
根据官方文档资料,可见ASMSNMP用户是在集群安装过程中,创建GRID的时候创建的用户。该用户为OPEN状态并被赋予了SYSDBA权限。OEM需要该用户来监控ASM实例并从ASM实例相关的数据字典中获取数据。
客户在安装EM的时候,在ASM实例下需要建立ASMSNMP用户:
SQL> create user asmsnmp identified by oracle123; create user asmsnmp identified by oracle123 * ERROR at line 1: ORA-01920: user name 'ASMSNMP' conflicts with another user or role name |
该错误说明该用户已存在,但客户想通过查询的方式来确认该用户是否真的存在。在ASM实例中查询:
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS SYSBA SYSDG SYSKM CON_ID ------------------------------ ----- ----- ----- ----- ----- ----- ---------- SYS TRUE TRUE TRUE FALSE FALSE FALSE 0 ASMSNMP TRUE FALSE TRUE FALSE FALSE FALSE 0 |
在asmcmd命令中查看:
ASMCMD> lspwusr Username sysdba sysoper sysasm SYS TRUE TRUE TRUE ASMSNMP TRUE FALSE TRUE
ASMCMD> help lspwusr lspwusr
List the users from the local Oracle ASM password file
lspwusr [--suppressheader]
The options for the lspwusr command are described below.
--suppressheader - Suppresses column headers from the output.
The following is an example of the lspwusr example. The example lists the current current users in the local Oracle ASM password file.
ASMCMD [+] > lspwusr Username sysdba sysoper sysasm SYS TRUE TRUE TRUE ASMSNMP TRUE FALSE FALSE |