ORACLE DATABASE → STACKIT · ARCHITECTURE
Oracle Database and Autonomous Database: the target decision
STACKIT has no Oracle Database service, so a DB system or an Autonomous Database cannot be moved like for like. StackToIT classifies each one as REDESIGN and leaves the choice to your architects: change the engine, with a schema and procedure conversion, or run Oracle yourself under your own licence. This page sets the options side by side, shows what the run records for three Oracle databases, and says how to decide.
Three Oracle databases, assessed
A demo estate written for this page and assessed on 4 November 2026: a two-node DB system, and two Autonomous Databases, one for transactions and one for analytics. Left: the input. Right: the decision the run recorded, as it stands in assessment.json. assessment.json is written as a single line, so the pane shows selected fields of each unit, indented and nested as in the file, with the values unchanged.
resource "oci_database_db_system" "erp" {
compartment_id = var.compartment_id
availability_domain = var.availability_domain
subnet_id = oci_core_subnet.db.id
hostname = "erpdb"
shape = "VM.Standard.E5.Flex"
database_edition = "ENTERPRISE_EDITION"
license_model = "LICENSE_INCLUDED"
node_count = 2
data_storage_size_in_gb = 512
ssh_public_keys = ["ssh-rsa AAAAexample"]
display_name = "erp"
db_home {
db_version = "19.0.0.0"
display_name = "erp-home"
database {
admin_password = var.db_admin_password
db_name = "ERP"
character_set = "AL32UTF8"
}
}
}
resource "oci_database_autonomous_database" "orders" {
compartment_id = var.compartment_id
db_name = "ORDERS"
display_name = "orders"
db_workload = "OLTP"
admin_password = var.db_admin_password
compute_model = "ECPU"
compute_count = 4
data_storage_size_in_tbs = 1
license_model = "LICENSE_INCLUDED"
}
resource "oci_database_autonomous_database" "reporting" {
compartment_id = var.compartment_id
db_name = "REPORTING"
display_name = "reporting"
db_workload = "DW"
admin_password = var.db_admin_password
compute_model = "ECPU"
compute_count = 2
data_storage_size_in_tbs = 2
license_model = "BRING_YOUR_OWN_LICENSE"
}[
{
"id": "oci_database_db_system.erp",
"result": {
"class": "REDESIGN",
"confidence": "LOW",
"reason": "STACKIT has no Oracle Database service. Decide whether the database changes engine, with a schema and procedure conversion, or stays on self-managed Oracle under your own licence."
}
},
{
"id": "oci_database_autonomous_database.orders",
"result": {
"class": "REDESIGN",
"confidence": "LOW",
"reason": "STACKIT has no Oracle Database service. Decide whether the database changes engine, with a schema and procedure conversion, or stays on self-managed Oracle under your own licence."
}
},
{
"id": "oci_database_autonomous_database.reporting",
"result": {
"class": "REDESIGN",
"confidence": "LOW",
"reason": "STACKIT has no Oracle Database service. Decide whether the database changes engine, with a schema and procedure conversion, or stays on self-managed Oracle under your own licence."
}
}
]REDESIGN, low confidence, no target
All three are REDESIGN at low confidence and propose no STACKIT service. The reason is the same for each: the choice is between a new engine and self-managed Oracle.
Only the network is mapped
Of the 5 units in the run, the VCN and the subnet are RECONFIGURE at medium confidence. Every open design decision of this estate sits with the three databases.
The settings that carry the decision
The report lists 16 critical settings of the DB system left to you, among them the edition, the node count, the storage size and the administrator password reference, and 9 for each Autonomous Database, among them the compute model and count and the storage in terabytes.
The options side by side
Three ways to land an Oracle workload on STACKIT. The first two are the two the run names; the third is a common split, labelled as practice.
| Option | What it asks of you | What you take on |
|---|---|---|
| Convert to another engine, for example PostgreSQL Flex | Convert the schema and the procedural code, change the application SQL where it uses Oracle-specific features, and move the data. | Conversion and test effort scale with the amount of PL/SQL and Oracle-specific SQL. The managed side is STACKIT's: STACKIT documents high availability through replica sets for PostgreSQL Flex, connections that are always encrypted with TLS 1.3, and no in-place recovery: you restore by cloning to a point in time into a new instance. |
| Self-managed Oracle on STACKIT Compute Engine under your own licence | Provision servers and storage, install Oracle, and bring the licence. The run states the licence is yours in this option. | Everything the OCI service did for you becomes your work: patching, backups, high availability, monitoring. Oracle states that license-included customers get their support through the OCI database cloud subscription; clarify with your licence owner what covers Oracle on STACKIT servers. |
| Split: move the application tier first, keep the database where it is for a defined period (practice) | Network connectivity and latency between the tiers become part of the design; a date for the final move is agreed. | Two operators, two bills and a cross-environment dependency for the length of the split. Not an output of the run; a design choice your architects may make. |
PostgreSQL Flex facts are from the STACKIT introduction and FAQ; the Oracle support statement is from the OCI Base Database overview, and the licence point is the run's reason.
How to decide, workload by workload
The run cannot decide this for you: it has no size, no query mix and no licence data. These are the questions that settle it.
How much code lives in the database
Stored procedures, packages and triggers decide the conversion effort. A database that is mostly tables and plain SQL moves differently from an ERP schema with years of procedural code.
Which Oracle features the application needs
List what the application relies on beyond plain SQL: RAC, Data Guard, editions, workload types. On Base Database Service, Oracle names Enterprise Edition - Extreme Performance as required for multi-node RAC DB systems, and has announced the retirement of that edition effective 31 July 2026.
What licence you hold
The demo estate sets license_model to LICENSE_INCLUDED for two databases and BRING_YOUR_OWN_LICENSE for one. For the two license-included databases the support comes through the OCI subscription, so self-managed Oracle needs a licence and support position of your own; confirm the BYOL one with your licence owner as well.
Transactional or analytic
The orders database is OLTP, the reporting database is DW. Both carry db_workload among their critical settings, but the run says nothing about how either workload type converts or which target suits analytic queries. Test with your own queries before you choose.
Who operates it
A managed service such as PostgreSQL Flex hands replication and backups to STACKIT; self-managed Oracle keeps patching, backups and failover with your team. Decide by who is on call.
Downtime you can accept
The data movement plan lists every one of the three databases with mechanism UNKNOWN and downtime tolerance NOT_PROVIDED. Give the run your numbers in an applications file and it records them as written.
What the run says about the data
The data movement file lists the three databases as stateful units and chooses no method. These are the rows exactly as written in migration/data-movement.md.
| Unit | Source service | Target service | Application | Mechanism | State | Data class | RPO | Downtime tolerance |
|---|---|---|---|---|---|---|---|---|
| oci_database_autonomous_database.orders | oci_database_autonomous_database | NO_TARGET_PROPOSED | | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| oci_database_autonomous_database.reporting | oci_database_autonomous_database | NO_TARGET_PROPOSED | | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |
| oci_database_db_system.erp | oci_database_db_system | NO_TARGET_PROPOSED | | UNKNOWN | DECISION_REQUIRED | NOT_PROVIDED | NOT_PROVIDED | NOT_PROVIDED |No target proposed
The target column reads NO_TARGET_PROPOSED for all three databases. Until your architects choose an option there is nothing to move to.
Size is yours to state
The run lists the size of the data, its rate of change and the downtime tolerated as not known. It also prints the provisioned capacity as not stated in the source, although the input sets 512 GB for the DB system and 1 and 2 TB for the Autonomous Databases; take those sizes from the source yourself. StackToIT never moves data and never measures it; a person picks the method from those numbers.
The order the run proposes
The dependency order has three waves. It describes the units in the estate, not the data work.
Wave 1
The VCN and both Autonomous Databases, which depend on no other unit.
Wave 2
The database subnet.
Wave 3
The DB system, which sits in the subnet.
What your architects own
The engine decision, recorded
Write the chosen option for each database into the note of its step in review/progress.yaml, and into your change record. The run raised no decision records for these units, so decisions.yaml is empty.
The conversion scope
Count procedures, packages and Oracle-specific SQL before choosing. The run flags the conversion; the inventory is a task for a conversion tool and your developers.
The licence position
Confirm with the licence owner what applies if Oracle runs on STACKIT, before sizing any server. The run records only that the licence is yours.
The data method and the rehearsal
Pick the transfer method from size, change rate and tolerated downtime, and rehearse it with a restore test before the window.
Questions database teams ask
Does STACKIT offer an Oracle Database service?
No. The run states it plainly: STACKIT has no Oracle Database service. That is why DB systems and Autonomous Databases are REDESIGN rather than a mapped service.
Which STACKIT database is the usual target when we convert?
The run names no engine. PostgreSQL Flex is the managed PostgreSQL service in the STACKIT documentation, and the option table above names it as one example. Whether your schema and PL/SQL convert cleanly is shown only by a trial conversion.
Can we run Autonomous Database features on STACKIT?
Autonomous Database is an Oracle-managed service: Oracle documents that it handles provisioning, backups, patching and upgrades, and growing or shrinking the database. None of that comes with a self-managed Oracle on Compute Engine, so each becomes your operations work.
Is the license-included setting in our Terraform a problem?
It is one of the critical settings the architect report leaves to you for each database. Oracle states that license-included customers have support through their OCI database cloud subscription, so running Oracle yourself needs a licence and support position you hold; the run only records that the licence is yours in that option.
Sources
Your next move: STACKIT.
Tell us about your estate. We show you what StackToIT delivers for it: target architecture, Terraform artifacts and a structured migration plan.