KB: How to create the monitoring account for the Oracle monitoring
Create the Oracle account used for monitoring, with read-only access to all tables or with minimal (locked-down) privileges.
Applies to: Opslogix Oracle Management Pack (all versions)
Last updated: November 2026 · Latest version: 26.11.4544.0
See also: Upgrade guide for 26.11.4544.0 · Version support · Release notes
Create the monitoring user
First create the Oracle user that is used for monitoring:
CREATE USER opslogix
IDENTIFIED BY <password> -- Assign password
DEFAULT TABLESPACE users -- Assign space for table and index segments
TEMPORARY TABLESPACE temp -- Assign sort space
QUOTA UNLIMITED ON users; -- Assign unlimited quota
Then give the account privileges. There are two options. For security, option 2 is best; option 1 is the quickest for testing.
If you use option 2 together with the Oracle authoring templates, also grant the user SELECT rights on the tables used in your custom queries.
Option 1: read-only on all tables
GRANT CREATE SESSION, SELECT ANY DICTIONARY, SELECT ANY TABLE TO opslogix;
Option 2: minimal privileges
With minimal privileges the account only needs read access to the views below:
GRANT CREATE SESSION TO opslogix;
grant SELECT on sys.v_$database to opslogix;
grant SELECT on sys.gv_$instance to opslogix;
grant SELECT on sys.v_$spparameter to opslogix;
grant SELECT on sys.v_$parameter to opslogix;
grant SELECT on sys.v_$system_event to opslogix;
grant SELECT on sys.v_$filestat to opslogix;
grant SELECT on sys.dba_temp_files to opslogix;
grant SELECT on sys.gv_$sqlstats to opslogix;
grant SELECT on sys.v_$log to opslogix;
grant SELECT on sys.v_$logfile to opslogix;
grant SELECT on sys.v_$controlfile to opslogix;
grant SELECT on sys.dba_free_space to opslogix;
grant SELECT on sys.v_$datafile to opslogix;
grant SELECT on sys.v_$rman_status to opslogix;
grant SELECT on sys.v_$archived_log to opslogix;
grant SELECT on sys.gv_$sgastat to opslogix;
grant SELECT on sys.gv_$pgastat to opslogix;
grant SELECT on sys.gv_$session to opslogix;
grant SELECT on sys.dba_extents to opslogix;
grant SELECT on sys.dba_tablespaces to opslogix;
grant SELECT on sys.dba_data_files to opslogix;
grant SELECT on sys.v_$log_history to opslogix;
grant SELECT on sys.v_$sysstat to opslogix;
grant SELECT on sys.gv_$rowcache to opslogix;
grant SELECT on sys.gv_$librarycache to opslogix;
grant SELECT on sys.gv_$session_longops to opslogix;
grant SELECT on sys.dba_objects to opslogix;
grant SELECT on sys.dba_temp_free_space to opslogix;
grant SELECT on sys.dba_indexes to opslogix;
grant SELECT on sys.v_$tempfile to opslogix;
grant SELECT on sys.v_$sort_segment to opslogix;
grant SELECT on sys.v_$flash_recovery_area_usage to opslogix;
grant SELECT on sys.dba_cpu_usage_statistics to opslogix;
grant SELECT on sys.v_$controlfile_record_section to opslogix;
grant SELECT on sys.dba_tablespace_usage_metrics to opslogix;
grant SELECT on sys.v_$resource_limit to opslogix;
grant SELECT on sys.gv_$containers to opslogix;
grant SELECT on sys.dba_segments to opslogix;
Data Guard monitoring
For Data Guard monitoring, also grant:
grant SELECT on sys.v_$dataguard_config to opslogix;
grant SELECT on sys.v_$dataguard_stats to opslogix;
grant SELECT on sys.gv_$archive_dest to opslogix;
grant SELECT on sys.v_$archive_gap to opslogix;
grant SELECT on sys.gv_$standby_log to opslogix;
grant SELECT on sys.gv_$managed_standby to opslogix;
grant SELECT on sys.v_$archive_dest_status to opslogix;
grant SELECT on sys.gv_$logstdby_process to opslogix;
V$ARCHIVE_DEST_STATUS (Standby Archive Gap (primary) monitor) and GV$LOGSTDBY_PROCESS (logical recovery monitor) are needed from V26.11.4544.0.
Data Guard primary and standby instances must be added with the DBA role SYSDBA or SYSDG. See "Data Guard monitoring: setup and troubleshooting".
Alert log monitoring
If you enable alert log monitoring with an account that does not connect as SYS or SYSDG, create this view as SYSDBA and grant the monitoring account access:
create view alertlog as select * from sys.x$dbgalertext;
grant select on sys.alertlog to opslogix;
See "How to enable Oracle alert log monitoring".
Password expiry
The account above gets the DEFAULT profile. In that profile Oracle expires passwords after 180 days by default, and when the password has expired, monitoring of the instance stops. From V26.11.4544.0 the Monitoring Account Password Expiry monitor warns 14 days before. If the security policy of your organization allows it, give the account a profile without password expiry, and set the password once more so that the new limit applies:
CREATE PROFILE opslogix_monitoring LIMIT PASSWORD_LIFE_TIME UNLIMITED;
ALTER USER opslogix PROFILE opslogix_monitoring;
ALTER USER opslogix IDENTIFIED BY <password>;
See Troubleshooting: The monitoring account password expires.