Skip to content

Commit

Permalink
Oracle dialect docs review (#6882)
Browse files Browse the repository at this point in the history
  • Loading branch information
andreasohlund authored Oct 31, 2024
1 parent 55b9466 commit 08af222
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions persistence/sql/dialect-oracle.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,20 @@
title: Oracle dialect
component: SqlPersistence
related:
reviewed: 2022-02-18
reviewed: 2024-10-31
versions: "[2,)"
redirects:
- nservicebus/sql-persistence/oracle-caveats
- nservicebus/sql-persistence/oracle-design
---

> [!WARNING]
> SQL Persistence will run on [Oracle XE](https://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html). However it is strongly recommended to use commercial versions for any production system. It is also recommended to ensure that support agreements are in place. See [Oracle Support](https://www.oracle.com/support/index.html) for details.
> SQL Persistence will run on [Oracle XE](https://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html). However it is strongly recommended to use commercial versions for production systems. It is also recommended to ensure that [Oracle support agreements](https://www.oracle.com/support/index.html) are in place.
## Supported database versions

SQL persistence supports [Oracle 11g Release 2](https://docs.oracle.com/cd/E11882_01/readmes.112/e41331/chapter11204.htm) and above.


## Usage

Using the [Oracle.ManagedDataAccess NuGet Package](https://www.nuget.org/packages/Oracle.ManagedDataAccess).
Expand Down Expand Up @@ -52,11 +50,10 @@ snippet: OracleSchema

include: name-lengths

The SQL Persistence provides autonomy between endpoints by using separate tables for every endpoint based on the endpoint name. However, due to Oracle's 30-character limit on table names and index names in [Oracle 12.1 and below](https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF00223), the SQL Persistence must make some compromises.
The SQL Persistence provides autonomy between endpoints by using separate tables for each endpoint based on the endpoint name. However, due to Oracle's 30-character limit on table names and index names in [Oracle 12.1 and below](https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF00223), the SQL Persistence must make some compromises.

include: name-length-validation-on


### Table Names

> [!NOTE]
Expand All @@ -76,12 +73,11 @@ If an endpoint name is longer than 24 characters, an exception will be thrown, a

snippet: TablePrefix


### Sagas

Tables generated for sagas reserve 27 characters for the saga name, leaving 3 characters for the `_PK` suffix for the table's primary key.

In order to accommodate as many characters for the saga name as possible, the [table prefix](/persistence/sql/install.md#table-prefix) is omitted from the saga table name.
To accommodate as many characters for the saga name as possible, the [table prefix](/persistence/sql/install.md#table-prefix) is omitted from the saga table name.

| Saga Class Name | Table Name | Primary Key |
|-----------------|:-------------:|:----------------:|
Expand All @@ -98,7 +94,7 @@ where INDEX_NAME = 'SAGAIDX_525D1D4DC0C3DCD96947E1';
```

> [!NOTE]
> If saga name or correlation property name change, the name of the index will also change.
> If the saga name or correlation property name changes, the name of the index will also change.
If a saga name is longer than 27 characters, an exception will be thrown, and a [substitute table name must be specified](saga.md#table-structure-table-name).

Expand Down

0 comments on commit 08af222

Please sign in to comment.