Skip to main content

Oracle Database

Description

The Oracle Database connector scans an Oracle Database instance via JDBC (ojdbc11) to discover database users, roles, and privilege assignments. It uses the Oracle Thin driver — no Oracle Client installation is required on the OrbisID server.

System Type Classification

FieldValue
System TypeInfrastructure
Default Scan Priority500

Version Support

OrbisID EditionSupported
CommunityNo
ProYes
EnterpriseYes

Oracle Database scanning requires a Pro or Enterprise licence.

Supported Protocol

ProtocolPortNotes
JDBC / Oracle Thin (TCP)1521 TCPDefault; configurable per instance

What OrbisID Discovers

DataSourceRequires
Database users (full details)DBA_USERSSELECT_CATALOG_ROLE or DBA
Database users (fallback)ALL_USERSAny connected user
Account status (OPEN, LOCKED, EXPIRED)DBA_USERS.account_statusSELECT_CATALOG_ROLE
User profilesDBA_USERS.profileSELECT_CATALOG_ROLE
Database rolesDBA_ROLESSELECT_CATALOG_ROLE
Role grants to usersDBA_ROLE_PRIVSSELECT_CATALOG_ROLE
Direct system privilege grantsDBA_SYS_PRIVSSELECT_CATALOG_ROLE

If the scanning user does not have access to DBA_* views, OrbisID falls back to ALL_USERS for user discovery and skips role/privilege data.

Privileged Roles Detected

DBA, SYSDBA, SYSOPER, SYSBACKUP, SYSDG, SYSKM, SYSRAC, IMP_FULL_DATABASE, EXP_FULL_DATABASE, DATAPUMP_IMP_FULL_DATABASE, DATAPUMP_EXP_FULL_DATABASE, SCHEDULER_ADMIN

Connection Requirements

Credential Requirements

Recommended: Create a dedicated Oracle user for OrbisID with read-only access to catalogue views:

-- Create the scanning user
CREATE USER orbisid_scanner IDENTIFIED BY "<strong-password>";
GRANT CREATE SESSION TO orbisid_scanner;

-- Grant read access to DBA catalogue views (for full discovery)
GRANT SELECT_CATALOG_ROLE TO orbisid_scanner;

SELECT_CATALOG_ROLE gives read access to all DBA_* views without granting DBA itself, following the principle of least privilege.

Credential Mapping

OrbisID FieldOracle Value
credential.usernameOracle database username
credential.passwordOracle database password

System Attributes

AttributeRequiredDefaultDescription
oracleServiceNameRecommendedOracle service name (e.g., ORCL, pdb1.example.com). Used in the JDBC URL as jdbc:oracle:thin:@//host:port/serviceName
oracleSidFallbackOracle SID (legacy). Used only when oracleServiceName is not set.

If neither oracleServiceName nor oracleSid is configured, OrbisID defaults to connecting via service name XE.

Network Requirements

RequirementDetail
Oracle ListenerTCP listener must be accessible from the OrbisID server (or On-Premise Agent) on port 1521 (or the configured port)
TNS Listener configuredThe listener must be registered with the service name or SID being used

Configuration Steps

  1. Create the orbisid_scanner user and grant SELECT_CATALOG_ROLE
  2. Create a Credential in OrbisID:
    • Username: orbisid_scanner
    • Password: The scanning user's password
  3. Navigate to Systems → Add System
  4. Fill in the fields:
FieldValue
NameDescriptive name (e.g., Oracle – prod-db01)
Hostname / IPOracle host or SCAN address
Port1521 (or custom listener port)
OS TypeOracle
System TypeInfrastructure
CredentialThe scanning credential
  1. Add system attributes:
    • oracleServiceName → Oracle service name (preferred) or oracleSid → SID
  2. Click Test Connection to verify connectivity and authentication
  3. Click Save
Service Name vs SID

Use service name wherever possible — it is the modern Oracle connection method and supports RAC, Data Guard, and PDBs. SID connections are legacy and may not work with Oracle 12c+ PDB containers.

CDB / PDB

For Oracle 12c+ Container Databases, set oracleServiceName to the PDB service name (e.g., pdb1) to scan users within that pluggable database. Connecting to the CDB root (CDB$ROOT) requires the C## prefix convention for common users.

Troubleshooting

SymptomLikely CauseResolution
ORA-01017: invalid username/passwordWrong credentialsVerify the username and password; ensure the account is not locked
ORA-12541: no listenerPort blocked or listener downCheck that port 1521 is reachable; verify the Oracle listener is running
ORA-12505: SID not foundWrong SIDCheck the SID or switch to service name (oracleServiceName)
ORA-28000: account is lockedUser account lockedUnlock the scanning user: ALTER USER orbisid_scanner ACCOUNT UNLOCK
No roles or privileges returnedMissing SELECT_CATALOG_ROLEGrant SELECT_CATALOG_ROLE to the scanning user
Scan falls back to ALL_USERSMissing SELECT_CATALOG_ROLEAs above — the fallback returns limited data