How RMS architecture radically changed when it moved to the cloud — and what it means for every developer, DBA, and operations engineer.
The SaaS Paradigm Shift
For decades, Oracle RMS was an on-premise behemoth. Retailers bought the software, installed it on their own servers (or hosted it in a private data center), and had absolute control over the database. DBAs could SSH into the server, run SQL*Plus against production, create indexes, add columns, and modify PL/SQL packages at will.
With Oracle Retail Merchandising Foundation Cloud Service (MFCS), Oracle shifted RMS to a true Software-as-a-Service (SaaS) model. You no longer buy the software; you rent access to it. Oracle manages the servers, the database, the upgrades, and the security.
This is not just a deployment change — it is a fundamental operating model change that affects every role in the retail IT organization.
MFCS Architecture
┌──────────────────────────────────────────────────────────────────┐
│ ORACLE CLOUD INFRASTRUCTURE (OCI) │
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────┐ │
│ │ ORACLE JET │ │ ORDS │ │ AUTONOMOUS │ │
│ │ Web UI │ │ (REST API │ │ DATABASE │ │
│ │ │ │ Gateway) │ │ │ │
│ │ Managed by │ │ Managed by │ │ ┌────────────────┐ │ │
│ │ Oracle │ │ Oracle │ │ │ RMS Base │ │ │
│ └──────────────┘ └──────────────┘ │ │ Schema │ │ │
│ │ │ (READ-ONLY) │ │ │
│ ┌──────────────┐ ┌──────────────┐ │ ├────────────────┤ │ │
│ │ POM │ │ BDI │ │ │ Custom Ext │ │ │
│ │ (Batch │ │ (Data │ │ │ Schema │ │ │
│ │ Scheduler) │ │ Integration)│ │ │ (YOUR ACCESS) │ │ │
│ │ Managed by │ │ Managed by │ │ ├────────────────┤ │ │
│ │ Oracle │ │ Oracle │ │ │ APEX │ │ │
│ └──────────────┘ └──────────────┘ │ │ Workspace │ │ │
│ │ │ (YOUR ACCESS) │ │ │
│ │ └────────────────┘ │ │
│ └──────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘
What You Lose
Moving to MFCS requires a massive mindset shift for legacy RMS developers, primarily because you lose direct access to the database.
| Column | Type | Description |
|---|---|---|
SYS/SYSTEM Access | ❌ Removed | You cannot install custom schemas, create database links, or run AWR reports. Oracle manages all database administration. |
Base Modifications | ❌ Removed | You physically cannot ALTER an Oracle base table or recompile an Oracle base package. The Extension Model is strictly enforced. |
Direct SQL*Plus | ❌ Removed | You cannot SSH into a server and run SQL scripts against production. All SQL access goes through APEX SQL Workshop or SQL Developer Web. |
OS Access | ❌ Removed | No SSH, no file system access, no ability to read log files directly. Logs are accessed through cloud monitoring tools. |
Custom Indexes | ❌ Removed | You cannot create indexes on base tables. The Autonomous Database manages indexes automatically. |
External Schedulers | ❌ Removed | Control-M, Autosys, and cron cannot be used. All batch scheduling must go through POM. |
Database Links | ❌ Removed | Direct database links to external systems are not allowed. All integration must use REST APIs or BDI. |
The New Cloud Tools
To compensate for the locked-down environment, Oracle provides cloud-native alternatives:
| On-Premise Tool | Cloud Replacement | Purpose |
|---|---|---|
| SQL*Plus / Toad | APEX SQL Workshop / SQL Developer Web | Interactive SQL access to your custom schema |
| Control-M / Autosys | POM (Process Orchestration & Monitoring) | Batch job scheduling and monitoring |
| Database Links | ORDS REST APIs | Real-time integration with external systems |
| Direct Extracts (SQL) | BDI (Bulk Data Integration) | Batch data extraction and loading |
| Custom Schemas (manual) | Oracle-Provisioned Extension Schema | Custom tables, views, and PL/SQL |
| Oracle Forms / Custom UIs | Oracle APEX | Custom data entry screens and dashboards |
| AWR / Statspack | Cloud Performance Insights | Database performance monitoring |
Process Orchestration & Monitoring (POM)
POM replaces external batch schedulers like Control-M and Autosys. It provides a web-based interface for:
Key POM Features
- Job Scheduling: Define batch jobs with dependencies, execution windows, and retry policies
- Dependency Management: Job B runs only after Job A completes successfully — with automatic hold/release
- Monitoring Dashboard: Real-time status of all running, queued, and completed batch jobs
- Error Handling: Failed jobs are held for review with detailed error logs
- Parallel Execution: Configure multiple threads for parallel batch processing
- Calendar Integration: Schedule jobs based on business calendars (skip holidays, run on fiscal period boundaries)
POM vs. External Schedulers
The biggest adjustment for operations teams is losing the flexibility of external schedulers. In Control-M, you could create arbitrary job sequences mixing RMS batches with non-RMS processes. In POM, you are constrained to Oracle's predefined batch flows — though you can add custom jobs to the sequence.
Bulk Data Integration (BDI)
BDI (Bulk Data Integration) is the cloud replacement for direct database extracts and loads. Instead of running SELECT INTO against production or using SQL*Loader, BDI provides:
- Scheduled Extractions: Pull data from RMS base tables into flat files or JSON payloads
- Incremental (Delta) Support: Extract only changed records since the last run
- Pre-Built Extractors: Oracle ships BDI extractors for all major RMS entities (Items, Locations, POs, Inventory)
- Cloud Object Storage: Extracted data is deposited in Oracle Cloud Object Storage buckets for downstream consumption
- REST API Triggers: BDI jobs can be triggered via REST API for on-demand extractions
Custom Schema Provisioning
In the cloud, you cannot create your own database schemas. Instead, you request Oracle to provision a custom extension schema for you:
- Submit Service Request (SR) to Oracle Support requesting a custom schema
- Oracle provisions the schema with appropriate grants:
- SELECT access on most base RMS views (not tables)
- CREATE TABLE, CREATE VIEW, CREATE PACKAGE privileges in your custom schema
- APEX workspace linked to your custom schema
- You create custom objects in your schema:
CUST_ITEM_ATTR— custom item attributes tableCUST_LOC_ATTR— custom location attributes tablePKG_CUST_ITEM_PROCESSING— custom PL/SQL package- APEX applications for data entry and reporting
Schema Naming Convention
Custom schemas typically follow the pattern RMS_CUSTOM_01 or RETAILER_EXT. You get read-only access to base data through views like V_ITEM_MASTER, V_ORDHEAD, and V_ITEM_LOC_SOH — not the actual base tables.
Operating in the Cloud
Daily Batch Monitoring
Instead of tailing log files on a server, cloud operations teams monitor batch execution through POM's web UI:
- Green = job completed successfully
- Yellow = job running
- Red = job failed — click for error details and stack trace
Performance Troubleshooting
Without AWR reports and direct execution plan access, performance troubleshooting follows a different workflow:
- Identify slow-performing operations through POM execution times or user reports
- Use APEX SQL Workshop to analyze your custom queries
- For base table performance issues, open an Oracle Support SR with the query hash and execution time
- Oracle's DBA team investigates and applies fixes (statistics gathering, plan management)
Upgrade Management
Oracle pushes updates automatically:
- Monthly patches: Bug fixes and minor enhancements (mandatory, automatic)
- Quarterly releases: Feature releases with new functionality (scheduled maintenance window)
- Annual major releases: Significant feature additions (coordinated with the retailer for testing)
You must maintain a regression test suite that runs after every Oracle patch to verify that your custom extension code still works.
Best Practices
Important Gotchas
- !Start your cloud migration by inventorying EVERY base modification in your current on-premise installation. Each modification must be either eliminated, replicated via the Extension Model, or redesigned using REST APIs. This inventory is the foundation of your migration project plan.
- !Build automated regression tests for all custom extension code. Oracle pushes monthly patches that can change base behavior. Without automated tests, you won't know if a patch broke your custom logic until a business user reports it.
- !Don't underestimate the POM learning curve. Operations teams accustomed to Control-M's flexibility will find POM's constraints frustrating. Invest in POM training well before go-live.
- !ORDS REST API performance is not the same as direct SQL performance. Expect REST API calls to be 2-5x slower than equivalent direct database queries. Design integrations to batch requests where possible.
- !Cloud environments have network latency that on-premise didn't. If your external systems are not hosted in OCI, factor in cross-cloud network latency for all integration points.
Key Takeaways
- Oracle Retail Cloud (MFCS) is a true SaaS model — Oracle manages the infrastructure, database, upgrades, and security.
- Direct database access, base code modifications, database links, and external schedulers are all removed in the cloud.
- POM replaces external batch schedulers; BDI replaces direct database extracts; ORDS replaces database links.
- Custom extension schemas are provisioned by Oracle Support and provide a sandboxed environment for retailer-specific customizations.
- Oracle pushes automatic monthly patches and quarterly releases — requiring automated regression testing of all custom code.
- APEX is the officially supported tool for custom UIs, data entry screens, and administrative dashboards in the cloud environment.


