Database user privileges
Create the Oracle account that Scops uses on each database, and give it the grants for the features that you use.
Create the account
Connect as SYS or a different DBA. For a pluggable database, connect to that PDB.
Create the user and give it CREATE SESSION:
CREATE USER SCOPS_MONITOR IDENTIFIED BY "<password>"; GRANT CREATE SESSION TO SCOPS_MONITOR;Give it read access to the data dictionary.
SELECT ANY DICTIONARYis also correct. If your site does not permit the role, grant the views one by one.GRANT SELECT_CATALOG_ROLE TO SCOPS_MONITOR;Add the pack grants and the feature grants for the features that you use.
In Add Database, save the account as a credential and click Test Connection.
In the root of a container database, the account is a common user: its name usually starts with C##. Use a password that does not expire, or plan its change. Radar Engine warns you 30 days before it expires.
The GRANT script
When grants are missing, click Show Script after the test. Each tab has one script, with only the missing GRANT statements.
| Tab | What it is for | Required to add the database |
|---|---|---|
| Monitoring | What Scops reads: the dictionary views, and the Packs grants while the pack switch is on. | Yes |
| Automation | Kill session and datafile automation: ALTER SYSTEM and ALTER TABLESPACE. | No |
| Add-ons | Archiving, Compression and Statistics: ALTER ANY TABLE, ALTER ANY INDEX, ANALYZE ANY and more. | No |
For the views, the Monitoring script asks for one role:
GRANT SELECT_CATALOG_ROLE TO SCOPS_MONITOR;
If the account already has SELECT_CATALOG_ROLE or SELECT ANY DICTIONARY, the script grants the missing views one by one. It uses their SYS names, such as V_$SESSION, because a grant on a synonym does not work. If the account has no CREATE SESSION, the scripts have all the grants, CREATE SESSION first.
Run the scripts as SYS, then click Test Connection again. For a pluggable database, run them in that PDB, also when you registered its container.
Grant the views one by one
Some sites do not permit SELECT_CATALOG_ROLE. For them, the dialog has the same scripts with one GRANT for each view.
Click Show Script.
Click Individual Grants on the tab bar. Catalog Role shows the script with the role again.
Copy the Monitoring script and ask a DBA to run it as SYS.
Click Test Connection again.
The script has the required views first, then the views of the optional features. If a required view is still missing, the test fails, and the dialog opens on Individual Grants with only the missing grants. The Add-ons script then also has the views that the add-ons read.
Without the role, two things do not work: Objects cannot show the DDL of an object, and Radar Engine cannot check guaranteed restore points. Oracle gives these only to an account with SELECT_CATALOG_ROLE or a wider privilege.
Fix a missing grant
When a grant goes away later, the database shows Warning on the Databases page. Its panel shows the Oracle error, usually ORA-00942 or ORA-01031.
Right-click the database and select Edit Database.
Click Test Connection, then Show Script.
Ask a DBA to run the script as SYS.
The problem clears at the next run.
The four tiers
The test checks four tiers of grants. It finds a grant in all its forms: direct, through a role, through SELECT ANY DICTIONARY or EXECUTE ANY PROCEDURE, or to PUBLIC.
| Tier | What it holds | Required |
|---|---|---|
| Required | SELECT on the 134 views that Scops reads. | Yes |
| Packs | 8 grants for the Diagnostics Pack and Tuning Pack features. | While the pack switch is on |
| Features | 44 grants, each for one optional action or feature. | No |
| Recommended | 118 views that Scops does not read. The scripts do not ask for them. | No |
Required grants
Monitoring needs SELECT on these 134 views. Without one of them, you cannot add the database.
| Area | Views | Used by |
|---|---|---|
| Instance and configuration | 24 | Inventory, parameters, patch level, services and License. |
| Sessions, waits, undo and temp | 9 | Live Activity and the Dashboard. |
| SQL and schema objects | 25 | Insights, SQL details and Radar checks. |
| Object details | 11 | Objects. |
| Memory | 20 | Memory and the memory advisors. |
| Metrics | 4 | Metrics and service statistics. |
| Storage | 23 | Tablespaces, datafiles, segments, ASM, the fast recovery area and file I/O. |
| Redo, backup and Data Guard | 14 | Redo, RMAN backups and apply lag. |
| Exadata | 4 | The storage cells on the Exadata page. |
GRANT SELECT ON SYS.V_$INSTANCE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$INSTANCE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$DATABASE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$DATABASE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$PDBS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$VERSION TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$CONTAINERS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$OSSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$PARAMETER TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$PARAMETER TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$RESOURCE_LIMIT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$PROCESS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$OSSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SYSSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SESSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$STATNAME TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$STATNAME TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$LISTENER_NETWORK TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_USERS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SERVICES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_FEATURE_USAGE_STATISTICS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.CDB_FEATURE_USAGE_STATISTICS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_REGISTRY_SQLPATCH TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$DIAG_INFO TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SESSION TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SESSION_LONGOPS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SORT_USAGE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$TRANSACTION TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$ROLLSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_ROLLBACK_SEGS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$UNDOSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_UNDO_EXTENTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$PX_SESSION TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQL TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SQL TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQLSTATS_PLAN_HASH TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQLSTATS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQL_PLAN TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQL_BIND_CAPTURE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SQL_PROFILES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SQL_PLAN_BASELINES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_OBJECTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_PROCEDURES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SYNONYMS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TABLES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_COLUMNS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_STATISTICS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_INDEXES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_IND_COLUMNS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_IND_EXPRESSIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_INDEX_USAGE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_CONSTRAINTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_CONS_COLUMNS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_OPTSTAT_OPERATIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SEQUENCES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SCHEDULER_JOB_RUN_DETAILS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SCHEDULER_JOB_LOG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_IDENTITY_COLS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_VIEWS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_MVIEWS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TRIGGERS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SOURCE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_DEPENDENCIES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_ERRORS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_PRIVS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_COMMENTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_COL_COMMENTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_DB_LINKS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SCHEDULER_JOBS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SGAINFO TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SGASTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SGASTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$PGASTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$MEMORY_DYNAMIC_COMPONENTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SGA_DYNAMIC_COMPONENTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SGA_RESIZE_OPS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$MEMORY_RESIZE_OPS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$LIBRARYCACHE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$ROWCACHE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SHARED_POOL_RESERVED TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQL_WORKAREA_HISTOGRAM TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$DB_CACHE_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SHARED_POOL_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$PGA_TARGET_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SGA_TARGET_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$MEMORY_TARGET_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$DB_CACHE_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$PGA_TARGET_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SGA_TARGET_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SYSMETRIC_HISTORY TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$CON_SYSMETRIC_HISTORY TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SYSMETRIC_HISTORY TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SERVICE_STATS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TABLESPACES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_DATA_FILES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SEGMENTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_PARTITIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_SUBPARTITIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_IND_PARTITIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_PART_INDEXES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_IND_SUBPARTITIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_LOB_PARTITIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_LOB_SUBPARTITIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_LOBS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_PART_TABLES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_PART_KEY_COLUMNS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$ASM_DISKGROUP TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$ASM_DISK TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$RECOVERY_FILE_DEST TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$RECOVERY_AREA_USAGE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$RESTORE_POINT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$FILESTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$DATAFILE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$TABLESPACE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SEGMENT_STATISTICS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$ARCHIVED_LOG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$ARCHIVED_LOG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$LOG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$LOGFILE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$STANDBY_LOG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$LOG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$LOG_HISTORY TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$RMAN_BACKUP_JOB_DETAILS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$RMAN_STATUS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$BACKUP_SET_DETAILS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$BACKUP_DATAFILE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$ARCHIVE_DEST_STATUS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$ARCHIVE_DEST TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$DATAGUARD_STATS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$CELL TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$CELL_CONFIG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$CELL_OPEN_ALERTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$CELL_GLOBAL_HISTORY TO SCOPS_MONITOR;
Diagnostics and Tuning Pack grants
Scops checks these grants only while the Diagnostics and Tuning Pack switch of the database is on. The automatic plan fix also needs them.
| Grant | Used for |
|---|---|
ADMINISTER SQL MANAGEMENT OBJECT | SQL plan baselines and SQL profiles. |
EXECUTE on DBMS_SPM | SQL plan baselines. |
SELECT on DBA_HIST_SQLSTAT, DBA_HIST_SNAPSHOT | Load a plan from AWR into a baseline. |
EXECUTE on DBMS_SQLTUNE | The SQL Monitor report, the SQL Tuning Advisor, and a SQL profile from a plan. |
ADVISOR | A SQL Tuning Advisor task. |
SELECT on GV$SQL_MONITOR, GV$SQL_PLAN_MONITOR | The SQL Monitor report. |
GRANT ADMINISTER SQL MANAGEMENT OBJECT TO SCOPS_MONITOR;
GRANT EXECUTE ON SYS.DBMS_SPM TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_HIST_SQLSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_HIST_SNAPSHOT TO SCOPS_MONITOR;
GRANT EXECUTE ON SYS.DBMS_SQLTUNE TO SCOPS_MONITOR;
GRANT ADVISOR TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQL_MONITOR TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SQL_PLAN_MONITOR TO SCOPS_MONITOR;
Feature grants
Each grant is for one action. Without it, that action fails with the Oracle error, and all other features work.
| Grant | Used for |
|---|---|
ALTER SYSTEM | Kill a session, and stop the sessions of an add-on run. See Kill sessions. |
ALTER TABLESPACE | Automatic datafiles. |
ALTER ANY TABLE, ALTER ANY INDEX | Compression: move tables and rebuild indexes. |
ANALYZE ANY | Statistics. |
ANALYZE ANY DICTIONARY | Statistics on the dictionary and on fixed objects. |
EXECUTE on DBMS_COMPRESSION, DBMS_SPACE | The recompression analysis. |
SELECT on DBA_EXTENTS, DBA_TAB_COLS, DBA_POLICIES, DBA_MVIEW_LOGS, DBA_LOG_GROUPS, V$OPTION; EXECUTE on DBMS_ROWID | Archiving. Without them, archiving cannot run on the table. |
SELECT on DBA_TAB_MODIFICATIONS, DBA_EXTERNAL_TABLES | Statistics and the recompression analysis: the changes since the last gather. |
SELECT on V$CONTROLFILE_RECORD_SECTION, GV$SORT_SEGMENT, DBA_TS_QUOTAS, DBA_SYS_PRIVS, DBA_TABLESPACE_GROUPS, DBA_JOBS, GV$CON_SYSSTAT | More Radar Engine checks. Without them, Radar skips these checks. |
SELECT on V$DATAFILE_COPY | Image copies as backups. |
SELECT on GV$RMAN_OUTPUT | The RMAN output of a backup in Health Check. |
SELECT on V$PWFILE_USERS, V$PROCESS, V$SESSTAT, V$SORT_USAGE, V$TRANSACTION, V$SHARED_POOL_ADVICE, V$LOGFILE, V$FLASHBACK_DATABASE_LOG, DBA_RECYCLEBIN, DBA_TEMP_FILES, DBA_ROLES, DBA_PROFILES, DBA_SUBPART_KEY_COLUMNS | More checks of Scops AI. Without a view, the answer names the missing grant. |
SELECT on V$SESSION | Scops AI, and Compression: to stop a run on the database server. |
SELECT on DBA_ROLE_PRIVS, DBA_USERS_WITH_DEFPWD | The Account security audit report, and Scops AI. |
SELECT on V$ASM_DISK_STAT, V$ASM_DISKGROUP_STAT | Exadata: the ASM capacity without a disk discovery. |
GRANT ALTER SYSTEM TO SCOPS_MONITOR;
GRANT ALTER TABLESPACE TO SCOPS_MONITOR;
GRANT ALTER ANY TABLE TO SCOPS_MONITOR;
GRANT ALTER ANY INDEX TO SCOPS_MONITOR;
GRANT ANALYZE ANY TO SCOPS_MONITOR;
GRANT ANALYZE ANY DICTIONARY TO SCOPS_MONITOR;
GRANT EXECUTE ON SYS.DBMS_COMPRESSION TO SCOPS_MONITOR;
GRANT EXECUTE ON SYS.DBMS_SPACE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_EXTENTS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_COLS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_POLICIES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_MVIEW_LOGS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_LOG_GROUPS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$OPTION TO SCOPS_MONITOR;
GRANT EXECUTE ON SYS.DBMS_ROWID TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TAB_MODIFICATIONS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_EXTERNAL_TABLES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$CONTROLFILE_RECORD_SECTION TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$SORT_SEGMENT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TS_QUOTAS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SYS_PRIVS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TABLESPACE_GROUPS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$DATAFILE_COPY TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$RMAN_OUTPUT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$PWFILE_USERS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SESSION TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$PROCESS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SESSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SORT_USAGE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$TRANSACTION TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$SHARED_POOL_ADVICE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$LOGFILE TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$FLASHBACK_DATABASE_LOG TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_RECYCLEBIN TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_TEMP_FILES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_ROLE_PRIVS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_ROLES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_PROFILES TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_USERS_WITH_DEFPWD TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_SUBPART_KEY_COLUMNS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.DBA_JOBS TO SCOPS_MONITOR;
GRANT SELECT ON SYS.GV_$CON_SYSSTAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$ASM_DISK_STAT TO SCOPS_MONITOR;
GRANT SELECT ON SYS.V_$ASM_DISKGROUP_STAT TO SCOPS_MONITOR;
Kill sessions
To kill a session, Scops runs this statement with the database credential:
ALTER SYSTEM KILL SESSION 'sid,serial#,@inst_id' IMMEDIATE
Oracle has no smaller privilege for this. ALTER SYSTEM also lets the account change parameters, so give it only where Scops must kill sessions. The Scops user also needs Kill sessions.
Recommended grants
SELECT on 118 more views, for example GV$LOCK and DBA_FREE_SPACE. Scops does not read them: they are for a later release, Scops AI or your reports. SELECT_CATALOG_ROLE and SELECT ANY DICTIONARY cover them. The Individual Grants script does not ask for them.
Related
Updated November 10, 2026