IoT Domain Database Schema Reference

Use the Internet of Things (IoT) domain database schema to access the metadata and data from the digital twin resources associated with an IoT domain.

If you configured access your IoT data using ORDS and you have the required authentication token, then you can use the Internet of Things Data API to get the data that you want to monitor.

JSON Collections

The following section contains the JSON collections including the keys, properties, and indexes for the digital twin resources in an IoT domain:

DIGITAL_TWIN_MODELS

The following digital twin model JSON collection contains the digital twin models in an IoT domain.

Digital Twin Model Primary Key

Name Properties
IDX_DIGITAL_TWIN_MODEL_ID_PK ID

Digital Twin Model Properties

NameDatatypeNot-nullComments
idstringYThe OCID of the digital twin model
displayNamestringNA user-friendly display name for the digital twin model. This name does not need to be unique and can be updated later. Avoid using confidential information. If left blank, the display name will be derived from the specification.
descriptionstringNA short description of the digital twin model. If left blank, the description will be derived from the specification.
specUristringYThis is the DTMI (Digital Twin Model Identifier) of the digital twin model as defined in DTDL specification.
lifecycleStatestringYThe current state of the digital twin model.
freeformTagsJSONNUser-defined free-form tags in JSON format for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags, Example: `{"Department": "Finance"}`
definedTagsJSONNDefined tags are predefined tags in JSON format for this resource. Each key is predefined and scoped to a namespace, For more information, see Resource Tags. Example: `{"Operations": {"CostCenter": "42"}}`
systemTagsJSONNSystem tags in JSON format for this resource. Each key is predefined and scoped to a namespace, Example: `{"orcl-cloud": {"free-tier-retained": "false"}}`
timeCreatedstringYThe date and time when the digital twin adapter resource was created, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
timeUpdatedstringNThe date and time when the digital twin adapter resource was last updated, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
specJSONNThe DTDL specification for the digital twin model.
Digital Twin Model Indexes
Name Unique Properties
IDX_IOT_DIGITAL_TWIN_MODELS_DISPLAY_NAME N DISPLAY_NAME
IDX_IOT_DIGITAL_TWIN_MODELS_LIFECYCLE_STATE N LIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_MODELS_SPEC_URI N SPEC_URI

DIGITAL_TWIN_ADAPTERS

This section contains digital twin adapters in the IoT domain.

Digital Twin Adapters Primary Key

Name Properties
IDX_DIGITAL_TWIN_ADAPTER_ID_PK ID

Digital Twin Adapters Properties

NameDatatypeNot-nullComments
idstringYThe OCID of the digital twin adapter.
displayNamestringYA user-friendly display name for the digital twin adapter. This name does not need to be unique and can be updated later. Avoid using confidential information.
descriptionstringNA short description of the digital twin adapter.
digitalTwinModelSpecUristringNThe Digital Twin Model Identifier (DTMI) URI of the digital twin model DTDL specification.
digitalTwinModelIdstringNThe OCID of the digital twin model.
inboundEnvelopeJSONNPayload containing device specific metadata and optional value mappings used to interpret or transform that metadata. This structure includes the device endpoint, the actual payload, and an optional envelope mapping that applies JQ expressions to extract or reshape the data as needed. For more information, see Creating a Digital Twin Adapter.
inboundRoutesJSONNDefines how inbound device payloads should be routed and mapped in a digital twin context. Routes are evaluated in the order they are defined, and only the first matching condition is processed. A final default route (with a condition that always evaluates to true) is recommended for fallback handling. Defines how inbound device payloads should be routed and mapped in a digital twin context. For more information, see Creating a Digital Twin Adapter.
lifecycleStatestringYThe current state of the digital twin adapter, the DigitalTwinAdapter resource.
freeformTagsJSONNUser-defined free-form tags in JSON format for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags, Example: `{"Department": "Finance"}`
definedTagsJSONNDefined tags are predefined tags in JSON format for this resource. Each key is predefined and scoped to a namespace, For more information, see Resource Tags. Example: `{"Operations": {"CostCenter": "42"}}`
systemTagsJSONNSystem tags in JSON format for this resource. Each key is predefined and scoped to a namespace, Example: `{"orcl-cloud": {"free-tier-retained": "false"}}`
timeCreatedstringYThe date and time when the digital twin adapter resource was created, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
timeUpdatedstringNThe date and time when the digital twin adapter resource was last updated, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
Digital Twin Adapters Indexes
Name Unique Properties
IDX_IOT_DIGITAL_TWIN_ADAPTERS_DISPLAY_NAME N DISPLAY_NAME
IDX_IOT_DIGITAL_TWIN_ADAPTERS_ID_LIFECYCLE_STATE N ID, LIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_ADAPTERS_LIFECYCLE_STATE N LIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_ADAPTERS_MODEL_ID N MODEL_ID
IDX_IOT_DIGITAL_TWIN_MODELS_SPEC_URI N SPEC_URI

DIGITAL_TWIN_INSTANCES

This section contains digital twin instances in the IoT domain.

Primary Key

Name Properties
IDX_DIGITAL_TWIN_INSTANCES_PK ID

Digital Twin Instances Properties

NameDatatypeNot-nullComments
idstringYThe OCID of the digital twin instance.
displayNamestringNA user-friendly display name for the digital instance. This name does not need to be unique and can be updated later. Avoid using confidential information.
descriptionstringNA short description of the digital twin instance.
digitalTwinModelSpecUristringNThe DTMI URI of the digital twin model DTDL specification.
digitalTwinModelIdstringNThe OCID of the digital twin model.
digitalTwinAdapterId stringNThe OCID of the digital twin adapter.
authIdstringNThe OCID for the resource that authenticates the digital twin instance for example the secret OCID or a client certificate.
externalKeystringNA unique identifier for the physical entity, typically an IoT device represented by the digital twin instance. Depending on the use case, this could be a Bluetooth address, an Ethernet MAC address, or serial number. If it's not provided, the system automatically generates an external key.
lifecycleStatestringYThe current state of the digital twin instance resource.
freeformTagsJSONNUser-defined free-form tags in JSON format for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags, Example: `{"Department": "Finance"}`
definedTagsJSONNDefined tags are predefined tags in JSON format for this resource. Each key is predefined and scoped to a namespace, For more information, see Resource Tags. Example: `{"Operations": {"CostCenter": "42"}}`
systemTagsJSONNSystem tags in JSON format for this resource. Each key is predefined and scoped to a namespace, Example: `{"orcl-cloud": {"free-tier-retained": "false"}}`
timeCreatedstringYThe date and time when the digital twin adapter resource was created, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
timeUpdatedstringNThe date and time when the digital twin adapter resource was last updated, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
Indexes
Name Unique Properties
IDX_IOT_DIGITAL_TWIN_INSTANCES_DISPLAY_NAME N DISPLAY_NAME
IDX_IOT_DIGITAL_TWIN_INSTANCES_LIFECYCLE_STATE N LIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_INSTANCES_ID_LIFECYCLE_STATE N ID, LIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_INSTANCES_DIGITAL_TWIN_ADAPTER_ID_LIFECYCLE_STATE N DIGITAL_TWIN_ADAPTER_ID, LIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_INSTANCES_EXTERNAL_KEY N EXTERNAL_KEY
IDX_IOT_DIGITAL_TWIN_INSTANCES_DIGITAL_TWIN_MODEL_ID N DIGITAL_TWIN_MODEL_ID
IDX_IOT_DIGITAL_TWIN_INSTANCES_DIGITAL_TWIN_MODEL_SPEC_URI N DIGITAL_TWIN_MODEL_SPEC_URI

DIGITAL_TWIN_RELATIONSHIPS

This section contains digital twin relationships in the IoT domain.

Digital Twin Relationships Primary Key

Name Properties
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_PK ID

Digital Twin Relationships Foreign Keys

Name Column Referenced Table Referenced Column
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_SOURCE_DIGITAL_TWIN_INSTANCE_ID_FK SOURCE_DIGITAL_TWIN_INSTANCE_ID IOT_DIGITAL_TWIN_INSTANCES ID
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_TARGET_DIGITAL_TWIN_INSTANCE_ID_FK TARGET_DIGITAL_TWIN_INSTANCE_ID IOT_DIGITAL_TWIN_INSTANCES ID

Digital Twin Relationship Properties

NameDatatypeNot-nullComments
idstringYThe OCID of the digital twin relationship.
displayNamestringNA user-friendly display name for the digital relationship. This name does not need to be unique and can be updated later. Avoid using confidential information.
descriptionstringNA short description of the digital twin relationship.
contentPathstringYDigital twin relationship content path.
sourceDigitalTwinInstanceIdstringYThe OCID of the digital twin instance.
targetDigitalTwinInstanceIdstringYThe OCID of the digital twin instance.
contentJSONNDTDL specification defined properties placeholder.
lifecycleStatestringYThe current state of the digital twin relationship.
freeformTagsJSONNUser-defined free-form tags in JSON format for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see Resource Tags, Example: `{"Department": "Finance"}`
definedTagsJSONNDefined tags are predefined tags in JSON format for this resource. Each key is predefined and scoped to a namespace, For more information, see Resource Tags. Example: `{"Operations": {"CostCenter": "42"}}`
systemTagsJSONNSystem tags in JSON format for this resource. Each key is predefined and scoped to a namespace, Example: `{"orcl-cloud": {"free-tier-retained": "flase"}}`
timeCreatedstringYThe date and time when the digital twin adapter resource was created, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
timeUpdatedstringNThe date and time when the digital twin adapter resource was last updated, in the format defined by RFC 3339, Example: `2025-08-25T21:10:29.600Z`
Digital Twin Relationship Indexes

NameUniqueProperties
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_UNQYCONTENT_PATH, SOURCE_DIGITAL_TWIN_INSTANCE_ID, TARGET_DIGITAL_TWIN_INSTANCE_ID, LIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_DISPLAY_NAMENDISPLAY_NAME
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_SOURCE_DIGITAL_TWIN_INSTANCE_IDNSOURCE_DIGITAL_TWIN_INSTANCE_ID
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_TARGET_DIGITAL_TWIN_INSTANCE_ID NNTARGET_DIGITAL_TWIN_INSTANCE_ID
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_LIFECYCLE_STATENLIFECYCLE_STATE
IDX_IOT_DIGITAL_TWIN_RELATIONSHIPS_CONTENT_PATHNCONTENT_PATH

Data Tables

This section contains a list of views with data sent to and from IoT devices in an IoT domain.

RAW_DATA

This section contains raw data received from IoT devices in an IoT domain.

Raw Data Primary Key

Name Columns
IDX_IOT_RAW_DATA_IN_PK ID

Raw Data Columns

Name Data Type Length Not-null Description
ID NUMBER 22 Y The unique ID assigned to raw data.
DIGITAL_TWIN_INSTANCE_ID VARCHAR2 255 Y The OCID of the digital twin instance.
ENDPOINT VARCHAR2 256 Y The endpoint at which the raw data was received.
CONTENT_TYPE VARCHAR2 256 N This is the content type of the raw data content.
CONTENT BLOB 4000 N This is the raw data content.
TIME_RECEIVED TIMESTAMP(6) 11 Y The date and time when data was received, in timestamp format defined by RFC 3339.

Raw Data Indexes

RAW_DATA

Name Unique Columns
IDX_IOT_RAW_DATA_IN_DIGITAL_TWIN_INSTANCE_ID_ENDPOINT N DIGITAL_TWIN_INSTANCE_ID, ENDPOINT
IDX_IOT_RAW_DATA_IN_TIME_RECEIVED_DIGITAL_TWIN_INSTANCE_ID N TIME_RECEIVED, DIGITAL_TWIN_INSTANCE_ID
IDX_IOT_RAW_DATA_IN_TIME_RECEIVED_ENDPOINT N TIME_RECEIVED, ENDPOINT

REJECTED_DATA

Rejected Data Primary Key

This section contains data from IoT devices in the IoT domain that were rejected during normalization.

Name Columns
IDX_IOT_REJECTED_DATA_IN_PK ID

Rejected Data Columns

Name Data Type Length Not-null Comments
ID NUMBER 22 Y The unique ID assigned to rejected raw data.
DIGITAL_TWIN_INSTANCE_ID VARCHAR2 255 N The OCID of the digital twin instance.
ENDPOINT VARCHAR2 256 N The endpoint at which the raw data was received.
CONTENT BLOB 4000 N This is the raw data content.
CONTENT_TYPE VARCHAR2 256 N This is the content type of the raw data content.
TIME_RECEIVED TIMESTAMP(6) 11 N The date and time when data was received, in timestamp format defined by RFC 3339.
REASON_CODE NUMBER 22 N A code that identifies the specific reason for the raw data rejection.
REASON_MESSAGE VARCHAR2 4096 N A detailed message that provides details for the raw data rejection.

Rejected Data Indexes

Name Unique Columns
IDX_IOT_REJECTED_DATA_IN_TIME_RECEIVED_REASON_CODE N TIME_RECEIVED, REASON_CODE
IDX_IOT_REJECTED_DATA_IN_TIME_RECEIVED N TIME_RECEIVED
IDX_IOT_REJECTED_DATA_IN_DIGITAL_TWIN_INSTANCE_ID N DIGITAL_TWIN_INSTANCE_ID

Historized Data Primary Key

This section contains data from IoT devices in the IoT domain that were rejected during normalization.

Name Columns
IDX_IOT_REJECTED_DATA_IN_PK ID

Historized Data Columns

Name Data Type Length Not-null Comments
DIGITAL_TWIN_INSTANCE_ID VARCHAR2 255 N The OCID of the digital twin instance.
TIME_OBSERVED TIMESTAMP(6) 11 N The date and time when data was observed, in timestamp format defined by RFC 3339.
REASON_CODE NUMBER 22 N A code that identifies the specific reason for the raw data rejection.
REASON_MESSAGE VARCHAR2 4096 N A detailed message that provides details for the raw data rejection.

Historized Data Indexes

Name Unique Columns
IDX_IOT_DT_HISTORIZED_DATA_TIME_OBSERVED N TIME_RECEIVED, REASON_CODE
IDX_IOT_DT_HISTORIZED_DATA_INSTANCE_ID N TIME_RECEIVED
IDX_IOT_DT_HISTORIZED_DATA_CONTENT_PATH N DIGITAL_TWIN_INSTANCE_ID
IDX_IOT_DT_HISTORIZED_DATA_INSTANCE_ID_CONTENT_PATH N INSTANCE_ID, CONTENT_PATH

Snapshot Primary Key

Name Columns
IDX_IOT_DIGITAL_TWIN_SNAPSHOT_DATA_PK DIGITAL_TWIN_INSTANCE_ID, CONTENT_PATH

Snapshot Foreign Key

Name Columns Referenced Table Referenced Column
IDX_IOT_DIGITAL_TWIN_SNAPSHOT_DATA_DIGITAL_TWIN_INSTANCE_ID_FK DIGITAL_TWIN_INSTANCE_ID, CONTENT_PATH IOT_DIGITAL_TWIN_INSTANCES ID

Snapshot Columns

Name Data Type Length Not-null Comments
DIGITAL_TWIN_INSTANCE_ID VARCHAR2 255 Y The OCID of the digital twin instance.
CONTENT_PATH VARCHAR2 4096 Y The name of the DTDL content as defined in the digital twin model.
VALUE JSON 8200 N The JSON data, which can be a primitive type (e.g., string, number, boolean) or a complex type (e.g., object or array), identified by the content path.
TIME_OBSERVED TIMESTAMP(6) 11 Y The date and time when data was observed, in timestamp format defined by RFC 3339.

Snapshot Indexes

Name Unique Columns
IDX_DIGITAL_TWIN_SNAPSHOT_DATA_TIME_OBSERVED_DIGITAL_TWIN_INSTANCE_ID N DIGITAL_TWIN_INSTANCE_ID, TIME_OBSERVED
IDX_IOT_DIGITAL_TWIN_SNAPSHOT_DATA_DIGITAL_TWIN_INSTANCE_ID N DIGITAL_TWIN_INSTANCE_ID
IDX_IOT_DIGITAL_TWIN_SNAPSHOT_DATA_TIME_OBSERVED N TIME_OBSERVED

Raw Command Data Primary Key

NameColumns
IDX_IOT_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_PKID

Raw Command Data Columns

Name Data Type Length Not-null Comments
ID VARCHAR2 40 Y The unique ID assigned to raw data command.
DIGITAL_TWIN_INSTANCE_ID VARCHAR2255 Y The OCID of the digital twin instance.
REQUEST_ENDPOINT VARCHAR2 1024 N The endpoint to which the request should be forwarded.
REQUEST_DURATION VARCHAR2 64 N The amount of time taken to complete the request.
REQUEST_DATA_FORMATVARCHAR215NThe format of the request data. Allowed values are TEXT, JSON or BINARY.
REQUEST_DATABLOB4000NThe data to be sent in the request.
REQUEST_CONTENT_TYPE VARCHAR2256 N The content type of the request data, for example: application/json.
RESPONSE_ENDPOINTVARCHAR21024NThe endpoint from which a response is expected, if any.
RESPONSE_DURATIONVARCHAR264NThe duration of time waited for a response.
RESPONSE_DATA_FORMATVARCHAR215NThe format of the response data. Allowed values are TEXT, JSON, or BINARY.
RESPONSE_DATABLOB4000NThe data returned in response to a request.
RESPONSE_CONTENT_TYPEVARCHAR2256NThe content type of the response data, for example: application/json.
DELIVERY_STATUSVARCHAR264YThe status of the command delivery. Possible values are ACCEPTED, PREPARED, REJECTED, SENT, PENDING, EXPIRED, REFUSED, RESPONDED, BAD_RESPONSE, COMPLETED, NOT_RESPONDED.
CREATED_BYVARCHAR2255YThe username of the individual who initiated this command.
TIME_CREATEDTIMESTAMP(6)11NThe date and time when command invocation was created, in timestamp format defined by RFC 3339.
TIME_UPDATEDTIMESTAMP(6)11NThe date and time when command invocation was updated, in timestamp format defined by RFC 3339.
TIME_FINISHEDTIMESTAMP(6)11NThe date and time when command invocation was completed, in timestamp format defined by RFC 3339.

Raw Command Indexes

The unique ID assigned to raw data command.
NameUniqueColumns
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_TIME_CREATEDNTIME_CREATED
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_TIME_UPDATEDNTIME_UPDATED
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_REQUEST_ENDPOINTNREQUEST_ENDPOINT
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_DIGITAL_TWIN_INSTANCE_IDNDIGITAL_TWIN_INSTANCE_ID
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_DIGITAL_TWIN_INSTANCE_ID_DELIVERY_STATUS_RESPONSE_ENDPOINT NDIGITAL_TWIN_INSTANCE_ID, DELIVERY_STATUS, RESPONSE_ENDPOINT
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_DIGITAL_TWIN_INSTANCE_ID_RESPONSE_ENDPOINT_COMMAND_STATUS_TIME_UPDATEDNDIGITAL_TWIN_INSTANCE_ID, RESPONSE_ENDPOINT, COMMAND_STATUS
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_DIGITAL_TWIN_INSTANCE_ID_TIME_UPDATEDNDIGITAL_TWIN_INSTANCE_ID, TIME_UPDATED
IDX_DIGITAL_TWIN_INSTANCE_RAW_COMMAND_DATA_DIGITAL_TWIN_INSTANCE_ID_COMMAND_PATHNCOMMAND_PATH

Transactional Event Queues (TxEventQ)

This section contains a list of Transaction Event Queues that can be subscribed to for an IoT domain.

Raw Data Queues

RAW_DATA_IN

Queue Type: RAW_DATA_IN_TYPE

Queue Type Attributes

Name Data Type Length Description
DIGITAL_TWIN_INSTANCE_ID VARCHAR2 255 The OCID of the digital twin instance.
ENDPOINT VARCHAR2 256 The endpoint at which the raw data was received.
CONTENT BLOB 4000 This is the raw data content.
CONTENT_TYPE VARCHAR2 256 This is the content type of the raw data content.
TIME_RECEIVED TIMESTAMP(6) 11 The date and time when data was received, in timestamp format defined by RFC 3339.

Rejected Data In Queues

REJECTED_DATA_IN

Queue Type: REJECTED_DATA_IN_TYPE

Queue Type Attributes
NameData TypeLengthDescription
DIGITAL_TWIN_INSTANCE_IDVARCHAR2255The OCID of the digital twin instance.
ENDPOINTVARCHAR2256The endpoint at which the raw data was received.
CONTENT BLOB 4000This is the raw data content.
CONTENT_TYPEVARCHAR2256This is the content type of the raw data content.
TIME_RECEIVEDTIMESTAMP(6)11The date and time when data was received, in timestamp format defined by RFC 3339.
REASON_CODENUMBER22A code that identifies the specific reason for the raw data rejection.
REASON_MESSAGEVARCHAR24096A detailed message that provides details for the raw data rejection.

Normalized Data Queue

NORMALIZED_DATA

Queue Type:JSON

Queue Type Attributes

NameData TypeDescription
digitalTwinIdstringThe OCID of the digital twin instance.
contentPathstringThe name of the DTDL content, as defined in the digital twin model.
value JSONThe JSON data, which can be a primitive type (e.g., string, number, boolean) or a complex type (e.g., object or array), identified by the content path.
timeObservedstringThe date and time when data was observed, in timestamp format defined by RFC 3339.