Have you ever encountered a frustrating situation where your Oracle Enterprise Manager couldn’t monitor your ASM environment, leaving you blind to storage issues? Recently, we faced this exact scenario with a client’s production ASM cluster, and ASMSNMP user comes to rescue.
The ASMSNMP user plays a crucial role in Oracle ASM (Automatic Storage Management), primarily enabling monitoring through Oracle Enterprise Manager (OEM). Without proper ASMSNMP configuration, you lose critical visibility into ASM performance and storage utilization.
In this comprehensive guide, we’ll cover:
✅ What is ASMSNMP and why it’s essential for production ASM
✅ Step-by-step ASMSNMP user creation using SQL*Plus
✅ Alternative ASMCMD method for user creation
✅ Security best practices and privilege management
✅ Troubleshooting common ASMSNMP configuration issues
This step-by-step guide ensures your ASM environment is properly monitored while following Oracle best practices.
Why ASMSNMP User is Critical for ASM
Oracle Automatic Storage Management (ASM) is a key component of database storage management, simplifying disk management and providing better performance. The ASMSNMP user is created specifically for Oracle Enterprise Manager (OEM) to monitor ASM instances.
What Made This Case Particularly Important:
In our recent implementation, the absence of proper ASMSNMP configuration led to:
- Undetected storage issues that caused downtime
- Missing performance alerts during peak usage
- Inability to track ASM disk group utilization proactively
Why ASMSNMP is Important:
OEM Monitoring: Required for Oracle Grid Control and Cloud Control to collect ASM-related metrics. Without this, you’re operating blind.
Security: Limits access to only monitoring functionalities, avoiding unnecessary permissions that could compromise your ASM environment.
Performance Insights: Helps track ASM storage utilization and detect potential issues early, preventing costly downtime.
Enterprise Compliance: Many organizations require comprehensive monitoring for audit and compliance purposes.
Creating ASMSNMP User with SQL*Plus
There are two ways of creating ASMSNMP User in Oracle ASM. Let’s start with the SQL*Plus method, which provides more granular control.
Step 1: Connect to the ASM Instance
Log in as the SYSASM user:
sql
sqlplus / as sysasm
Step 2: Check if ASMSNMP Already Exists
Before creating the user, verify if ASMSNMP already exists:
sql
SELECT username FROM v$pwfile_users;
If it is present, there is no need to create it again.
Step 3: Create the ASMSNMP User
If the user does not exist, create it with a secure password:
sql
CREATE USER ASMSNMP IDENTIFIED BY MySecurePassword;
Replace MySecurePassword
with a strong password that meets your organization’s security requirements.
Step 4: Grant Necessary Privileges
sql
GRANT SYSDBA TO ASMSNMP;
For monitoring purposes, Oracle recommends using the SYSASM privilege instead of SYSDBA:
sql
GRANT SYSASM TO ASMSNMP;
Step 5: Verify User Creation
Run the following query to confirm:
sql
SELECT username, granted_role FROM dba_role_privs WHERE username='ASMSNMP';
Creating ASMSNMP User with ASMCMD
This alternative method uses ASMCMD utility, which many DBAs prefer for its simplicity.
Step 1: Open ASMCMD
Connect to ASM using ASMCMD:
bash
asmcmd
Step 2: Verify Current Users
List existing users:
bash
lspwusr
If user already exists, it will list the user. If not created already, use the steps below to create it.
Step 3: Create the ASMSNMP User
bash
mkusr ASMSNMP
Step 4: Assign a Password
bash
passwd ASMSNMP MySecurePassword
Step 5: Grant Necessary Privileges
bash
grantusr ASMSNMP SYSASM
Step 6: Verify User Creation
bash
lspwusr
This ensures that ASMSNMP is correctly set up for ASM monitoring using ASMCMD.
Security Best Practices
To enhance security in your production environment:
Password Management
Use a strong password and change it periodically:
sql
ALTER USER ASMSNMP IDENTIFIED BY NewSecurePassword;
Privilege Limitation
Limit access by restricting unnecessary privileges. The ASMSNMP user should only have monitoring-related permissions.
Auditing Configuration
Enable auditing to track usage:
sql
AUDIT SESSION BY ASMSNMP;
Network Security
Ensure ASMSNMP connections are encrypted and restricted to authorized monitoring servers only.
Troubleshooting Common ASMSNMP Issues
Based on our production experience, here are the most common issues and their solutions:
Issue 1: ORA-01918: User ‘ASMSNMP’ Already Exists
Solution: Use ALTER USER
instead of CREATE USER
:
sql
ALTER USER ASMSNMP IDENTIFIED BY MySecurePassword;
Issue 2: ASMSNMP Unable to Connect to ASM
Solution: Ensure the user has the correct privileges:
sql
GRANT SYSASM TO ASMSNMP;
Issue 3: ASMSNMP Fails in Oracle Enterprise Manager
Symptom: OEM shows connection errors for ASM monitoring
Solution: Update credentials in OEM → Targets → ASM → Monitoring Configuration.
Additional Verification:
sql
-- Test ASMSNMP connection
sqlplus ASMSNMP/password@ASM_instance as sysasm
Issue 4: Password File Corruption
Symptom: ASMSNMP user exists but cannot authenticate
Solution: Recreate the ASM password file:
bash
orapwd file=$ORACLE_HOME/dbs/orapw+ASM entries=10
Then recreate the ASMSNMP user following the steps above.
Post-Configuration Verification
After setting up ASMSNMP, verify the configuration works end-to-end:
Test ASM Connectivity
sql
-- Connect as ASMSNMP
sqlplus ASMSNMP/password as sysasm
-- Test basic ASM queries
SELECT name, state, type FROM v$asm_diskgroup;
Verify OEM Integration
- Log into Oracle Enterprise Manager
- Navigate to ASM targets
- Verify monitoring data is being collected
- Check for any credential or connection errors
Monitor ASM Metrics
Ensure the following metrics are visible in OEM:
- ASM disk group utilization
- ASM instance performance
- Storage allocation and free space
- I/O statistics and response times
Conclusion
The ASMSNMP user is essential for Oracle ASM monitoring, ensuring seamless tracking of ASM storage usage through Oracle Enterprise Manager. By following best practices in user creation, privilege assignment, and security, you can maintain a secure and efficient ASM environment.
The solution proved to be surprisingly straightforward once we understood the proper configuration sequence. This comprehensive setup prevents the monitoring blind spots that can lead to unexpected storage issues in production environments.
Let us know in the comments if you have questions about specific ASMSNMP configuration scenarios or if you’ve encountered other ASM monitoring challenges.
For related Oracle ASM topics, check our guides on Oracle ASM 19c installation and Oracle memory monitoring.