1. Summary
Lot of times we have a need to pause all OIC integrations, primarily for ex. when there are scheduled downtimes.
Below is a tentative, production‑ready solution design for managing pause and resume of scheduled integrations in Oracle Integration Cloud (OIC).
In this solution, integration state is persisted in a database table, enabling stronger consistency, transactional control, reporting, and operational governance. The solution supports controlled operational scenarios such as maintenance windows, downstream system outages, cut‑over activities, or disaster‑recovery exercises, ensuring predictable and auditable handling of OIC scheduled integrations.
2. Objectives
Primary Objectives
- Pause all active, schedule‑based OIC integrations in a controlled and auditable manner
- Resume previously paused integrations safely and consistently based on database state
- Maintain a single source of truth for paused/resumed integration state
3. Scope
In Scope
- OIC freeform scheduled integrations with active schedules
- REST‑based interaction with OIC Integration APIs
- Centralized persistence using a relational database table (e.g. Oracle DB, Autonomous DB, RDS)
- Controlled resume operations driven by persisted integration state
Out of Scope
- Event‑based or app‑driven integrations
- Business process orchestration changes
- Integration payload transformation logic
4. High‑Level Architecture
Logical Components:
- OIC REST API Layer
- Integration discovery
- Schedule status management (pause/resume)
- Control Orchestration (OIC Integration / OCI Function / Script)
- Looping and conditional execution
- Transaction handling and retries
- Database Layer
- Persistent storage of pause/resume state
- Query‑driven resume operations
- Audit and reporting
- Observability & Logging
- Integration Insight / OCI Logging / APM
- Error and execution tracking
4.1 Sequence Diagrams
4.1.1 Pause Scheduled Integrations – Sequence Flow

4.1.2 Resume Scheduled Integrations – Sequence Flow

4.1.3 Failure & Retry Handling – Sequence Flow
1 Control Orchestration | | POST pause / resume vOIC REST API | | Error / Timeout vControl Orchestration | | Retry (exponential backoff) | | Max retries exceeded vDatabase | | UPDATE status = FAILED | UPDATE error_message |
5. Data Model Design
5.1 Integration Control Table
Table Name: OIC_INTEGRATION_SCHEDULE_CTRL
Column Name | Description |
INTEGRATION_CODE | OIC integration identifier |
INTEGRATION_VERSION | Integration version |
INTEGRATION_NAME | Human‑readable name |
ACTION | PAUSE / RESUME |
CURRENT_STATUS | ACTIVE / PAUSED / RESUMED / FAILED |
REQUESTED_AT | Timestamp of pause request |
EXECUTED_AT | Timestamp of execution |
EXECUTION_STATUS | SUCCESS / FAILED |
ERROR_MESSAGE | Error details (if any) |
REQUEST_ID | Execution correlation ID |
COMMENTS | Operational reason or notes |
Key Constraints:
- Unique active pause record per integration
6. Detailed Functional Design
6.1 Pause Scheduled Integrations
Step 1: Discover Eligible Integrations
1 GET /ic/api/integration/v1/integrations?q={status:’ACTIVATED’,style:’freeform_scheduled’}&integrationInstance={OicInstanceName} |
Filtering Logic:
- scheduleApplicableFlag = true
- scheduleDefinedFlag = true
Step 2: Fetch Schedule Details
GET /ic/api/integration/v1/integrations/{IntegrationCode}|{IntegrationVersion}/schedule?integrationInstance={OicInstanceName} |
Proceed only if:
- Schedule status = ACTIVE
Step 3: Persist Pause Intent (Database)
Insert or update record in OIC_INTEGRATION_SCHEDULE_CTRL:
- ACTION = PAUSE
- CURRENT_STATUS = ACTIVE
- REQUESTED_AT = current UTC timestampThis ensures idempotency and prevents duplicate pause attempts.
Step 4: Pause Integration Schedule
POST /ic/api/integration/v1/integrations/{IntegrationCode}|{IntegrationVersion}/schedule/pause?integrationInstance={OicInstanceName} |
Step 5: Update Execution Status (Database)
On success:
- CURRENT_STATUS = PAUSED
- EXECUTED_AT = timestamp
- EXECUTION_STATUS = SUCCESS
On failure:
- EXECUTION_STATUS = FAILED
- ERROR_MESSAGE populated
6.2 Resume Scheduled Integrations
Step 1: Identify Integrations to Resume
Query database:
SELECT * FROM OIC_INTEGRATION_SCHEDULE_CTRLWHERE CURRENT_STATUS = ‘PAUSED’ |
Step 2: Resume Integration Schedule
POST /ic/api/integration/v1/integrations/{IntegrationCode}|{IntegrationVersion}/schedule/resume?integrationInstance={OicInstanceName} |
Step 3: Update Resume Status (Database)
On success:
- CURRENT_STATUS = RESUMED
- ACTION = RESUME
- EXECUTED_AT updated
On failure:
- EXECUTION_STATUS = FAILED
- ERROR_MESSAGE populated
7. Error Handling & Resilience
Scenario | Handling Strategy |
OIC API failure | Retry with exponential backoff; update failure state |
Partial execution | Continue processing remaining integrations |
Database failure | Rollback transaction; retry execution |
Duplicate execution | Prevented via primary key and status checks |
8. Security Considerations
9. Audit & Observability
- Database‑driven audit trail
- Full lifecycle timestamps (requested, executed, resumed)
- Supports reporting, dashboards, and compliance exports
10. Operational Usage Scenarios
- Planned maintenance windows
- ERP or downstream system outages
- DR testing and cut‑over rehearsals
- Controlled production freezes
11. Future Enhancements (Optional)
- UI‑based operational console
- Role‑based approval workflow before resume
- Tag‑ or domain‑based pause control
- Dry‑run and simulation mode
- Notification via email / Teams / Slack


