On Oracle Database Appliance (ODA), DBAs can also provision a database in instance-only mode. This approach creates only the Oracle instance shell—without generating physical database files such as controlfiles, datafiles, and redo logs. Understanding when and how to use odacli instance only is quite handy for migrations, restores, and advanced troubleshooting.
Why Use odacli Instance Only?
The main reason for choosing instance-only creation is flexibility. Instead of creating a brand-new database, you provision just the instance environment and then populate it manually. Common scenarios include:
- RMAN restores or duplicates → Bring in datafiles from an existing database.
- Database migrations → Move an existing workload onto ODA without creating fresh files.
- Cloning setups → Restore or duplicate databases for testing.
- Debugging workflows → I’ve used this option multiple times when testing and troubleshooting, and it has been a reliable way to get things moving.
Just like with full creation, registering the instance through odacli ensures the ODA is aware of it and can include it in patching and lifecycle management. Skipping registration risks leaving the database unmanaged.
Steps to Create an Instance Only Database
1. Verify or Create a Database Home
odacli list-dbhomes
odacli create-dbhome -v 19.26.0.0.0 # if required
2. Run odacli with Instance Only Flag
The -io (or --instanceonly) flag ensures only the Oracle instance is created.
odacli create-database \
-n MIGDB \
-dh <dbhome-id> \
-io \
-m StrongP@ssword
As documented,When creating an instance-only database, the following are also set up:
- A password file for the SYS user
- Required directory structures for the database instance
3. Restore or Duplicate with RMAN
Since no database files exist yet, you must set up a static listener to allow RMAN or other tools to connect. Update listener.ora as needed and restart the listener. Please note this is only required with duplicate to run.
At this stage, the instance is ready to accept an RMAN restore or duplicate from backups. Example:
rman target sys@MIGDB auxiliary /
DUPLICATE DATABASE TO MIGDB FROM ACTIVE DATABASE;
5. Register the Database
Once restored, you are ready to register the database so ODA lifecycle tools can manage it:
You must provide the dbclass, dbshape, servicename, and password to register the database. These parameters have an effect on sga, pga and other init parameters. When you review the job steps for instance registration, you’ll see a step to apply changes using datapatch. Make sure you stage the SQL patches in $OH/sqlpatch beforehand. It also checks the datafile and log file locations, then moves the control file and SPFILE to their correct locations.
However first test EZConnect
sqlplus sys/password@//hostname:1521/service_name
odacli register-database -c OLTP -s odb1 -sn MIGDB
Enter SYS, SYSTEM and PDB Admin user password:
Retype SYS, SYSTEM and PDB Admin user password:
{
"jobId" : "317b430f-ad5f-42ae-bb07-13f053d266e2",
"status" : "Created",
"message" : null,
"reports" : [ ],
"createTimestamp" : "August 11, 2025 09:45:24 AM EDT",
"description" : "Database service registration with
db service name: MIGDB",
"updatedTime" : "August 11, 2025 09:45:24 AM EDT"
}
# odacli describe-job -i "317b430f-ad5f-42ae-bb07-13f053d266e2"
Job details
----------------------------------------------------------------
ID: 317b430f-ad5f-42ae-bb07-13f053d266e2
Description: Database service registration with
db service name: example_service
Status: Success
Created: August 11, 2025 9:45:24 AM EDT
Message:
Task Name Start Time
----------------------------- ------------------------------
restore control file August 11, 2025 9:45:24 AM EDT
move spfile to right location August 11, 2025 9:46:45 AM EDT
register DB with clusterware August 11, 2025 9:47:41 AM EDT
reset db parameters August 11, 2025 9:48:11 AM EDT
Running DataPatch August 11, 2025 9:48:21 AM EDT
When to Choose Instance Only
- Pick full creation when you need a new, ready-to-use database.
- Pick instance only when you need control—migrations, restores, or testing scenarios.
This option gives DBAs flexibility while keeping ODA aware of the database, ensuring lifecycle patching and management are not missed.
The odacli instance only option is invaluable when migrating or restoring databases on ODA. I’ve used it multiple times while debugging issues, and it remains a reliable way to move forward when the standard path isn’t enough.
Discover more from oratrails-aish
Subscribe to get the latest posts sent to your email.