Database
Oracle
How to migrate an on-premises Oracle database to Oracle Cloud Infrastructure (OCI)
How to migrate an on-premises Oracle database to Oracle Cloud Infrastructure (OCI)
Migrating a local Oracle database to OCI requires evaluating the version, scale, license, and dependencies; 2. Choose the appropriate method: Data Pump is suitable for downtime migration of small databases, RMAN is suitable for large database backup and recovery, and GoldenGate achieves near-zero downtime synchronization; 3. Create a target environment in OCI and configure the network and permissions; 4. Verify data consistency, application connections, and failover after migration; 5. Optimize cloud performance and backup, and it is recommended to use autonomous databases to reduce operation and maintenance burden.

Migrating an on-premises Oracle database to Oracle Cloud Infrastructure (OCI) involves careful planning and execution to ensure data integrity, minimal downtime, and performance alignment with cloud capabilities. The process can be streamlined using native Oracle tools and OCI services designed for database migration.
Assess Your Current Environment
Before initiating the migration, evaluate your on-premises Oracle database setup:
- Database version and edition: Confirm compatibility with OCI-supported versions. Oracle Autonomous Database and DB Systems support most recent editions.
- Size and workload: Analyze storage requirements, peak usage patterns, and dependencies on other systems or applications.
- Licensing model: Decide whether to bring your own license (BYOL) or use pay-as-you-go licensing in OCI.
- Dependencies: Identify linked applications, custom scripts, or network configurations that may need adjustment post-migration.
Choose the Right Migration Method
OCI supports multiple migration approaches depending on your downtime tolerance and technical constraints:
- Data Pump Export/Import: Use Oracle Data Pump to export schema or full database from on-premises and import into an OCI DB System or Virtual Private Database (VPD). Suitable for smaller databases or when some downtime is acceptable.
- RMAN Backup and Restore: Perform a backup using Recovery Manager (RMAN), transfer backup files to OCI Object Storage via multipart upload, then restore to an OCI-based Oracle instance. Ideal for large databases needing consistent recovery points.
- Oracle GoldenGate: Set up real-time replication between on-premises and OCI. Enables near-zero downtime migration by synchronizing changes during cutover.
- Database Clone with Transportable Tablespaces: Move self-contained tablespaces across platforms using cross-platform transport. Efficient for selective schema migrations.
Set Up the Target Environment in OCI
Create and configure the destination database environment:
- Launch a DB System in OCI or provision an Autonomous Transaction Processing (ATP) / Autonomous Data Warehouse (ADW) instance based on workload type.
- Configure virtual cloud network (VCN), subnets, security lists, and firewall rules to allow connectivity from on-premises or application tiers.
- Ensure proper IAM policies are assigned for user access and management tasks.
- Mount block storage or increase disk size if needed for data file growth.
Execute and Validate the Migration
Run the chosen migration method and verify success:
- Initiate data transfer during a maintenance window or using continuous sync tools like GoldenGate.
- Monitor progress through logs, OCI console metrics, or Oracle Enterprise Manager.
- After cutover, validate data consistency, run test queries, and check application connectivity.
- Update connection strings, DNS entries, or tnsnames.ora files to point to the new OCI database endpoint.
- Test failover, backup schedules, and monitoring integrations in the cloud environment.
Post-migration, optimize performance using OCI autoscaling, automatic backups, and monitoring via Oracle Cloud Observability services. Keep licenses compliant and consider moving toward Autonomous Database for reduced operational overhead.
Basically, pick the right tool based on your needs—Data Pump for simplicity, RMAN for reliability, or GoldenGate for zero-downtime scenarios. With proper prep, most Oracle databases can move smoothly to OCI.
The above is the detailed content of How to migrate an on-premises Oracle database to Oracle Cloud Infrastructure (OCI). For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undress AI Tool
Undress images for free
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undresser.AI Undress
AI-powered app for creating realistic nude photos
ArtGPT
AI image generator for creative art from text prompts.
Stock Market GPT
AI powered investment research for smarter decisions
Hot Article
Popular tool
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
20518
7
13631
4
How to unlock a user account in Oracle Database? (User Management)
Mar 04, 2026 am 12:48 AM
Directly executing ALTERUSERusernameACCOUNTUNLOCK can unlock the account, but DBA authority is required; if it is a compound state such as EXPIRED&LOCKED or LOCKED (TIMED), the password must be reset simultaneously or the profile parameters must be adjusted.
How to troubleshoot the Oracle Listener startup? (Network Services)
Mar 10, 2026 am 12:58 AM
Oraclelistenerstartupfailuresstemfromsilentlistener.oraparsingerrors,hostnameresolutionissues,orpermissionproblems—notbinariesorports;validatesyntaxwithreload,checkownership,verifyactualconfigpath,testDNS,useexplicitIPs,confirmADR_BASE,enabletracingp
How to patch Oracle Grid Infrastructure? (System Maintenance)
Mar 10, 2026 am 01:00 AM
Three things must be confirmed before applying the GI patch: 1. The opatchlsinventory-detail output of each node is consistent; 2. OCR and VoteDisk are online and crsctlcheckcluster-all and ocrcheck both return SUCCESS; 3. $GRID_HOME/crs/install/rootcrs.sh-prepatch has been successfully executed.
How to use Sequences in Oracle to generate IDs? (Auto-increment)
Mar 06, 2026 am 01:16 AM
ID auto-increment in Oracle requires the cooperation of SEQUENCE and BEFOREINSERT triggers, and the trigger must check: NEW.IDISNULL; 12c supports IDENTITY but is not compatible with older versions and disables explicit insertion.
How to use Oracle APEX to build a low-code app? (Rapid Development)
Mar 13, 2026 am 12:48 AM
OracleAPEXislow-glue,notno-code:itskipsinfrastructurebutrequiresSQL,PL/SQL,anddeclarativelogic;ApplicationProcesseshandleserver-sidevalidationandsideeffects,DynamicActionsmanageclient-sideinteractivity;InteractiveGridneedskey-preservedsourcesforediti
How to implement Transparent Data Encryption (TDE) in Oracle? (Data Security)
Mar 13, 2026 am 12:14 AM
OracleTDE must first enable and open the encrypted wallet (Wallet), otherwise ORA-28365 will be reported when executing ALTERTABLESPACE...ENCRYPTION; Wallet needs to be created, opened and managed through the ADMINISTERKEYMANAGEMENT command, and the path must be explicitly configured in sqlnet.ora and permissions must be ensured.
How to manage Flashback Data Archive_Flashback Data Archive table space allocation
Mar 28, 2026 pm 04:06 PM
The reason why the FlashbackDataArchive table space is full is that the hidden history table (SYS_FBA_HIST_XXXXXX) occupies the table space where the main table is located and does not go through ASSM cleaning; you need to use ALTERFLASHBACKARCHIVE...MODIFYTABLESPACE to migrate to the local management automatic segment space table space, and manually clean up the orphan history table.
How to use JSON data types in Oracle Database? (NoSQL Features)
Mar 08, 2026 am 01:03 AM
In Oracle's JSON scenario, you should select VARCHAR2 (4000CHAR) plus ISJSON constraints (small documents) or BLOB plus ISJSON constraints (large documents), and disable CLOB; ISJSON is a column-level constraint syntax, not a function call; the JSON_VALUE path must be a string literal; JSON_EXISTS needs to be speeded up with the JSON_VALUE function index.





