Introduction
Oracle Integration Cloud (OIC) licensing is based on message pack consumption, and misunderstanding how messages are billed can lead to unexpected cost overruns. Each integration design choice—payload size, trigger type, file handling, and invoke responses—directly impacts message usage.
This blog explains:
- How OIC message packs are consumed
- Key billing rules you must consider
- Real-world use cases
- Practical solution steps to optimize message consumption
What Is a Message Pack in OIC?
A message pack represents a predefined number of messages processed by an OIC instance.
Consumption Models
BYOL (Bring Your Own License)
1 pack = 20,000 messages/hour
Non-BYOL
1 pack = 5,000 messages/hour
OIC for SaaS
Metered monthly
1 pack = 1 million messages/month
Each message is calculated in increments of 50 KB.
Core Rules That Impact Message Consumption
1️⃣ Trigger Rule
Every inbound trigger is billed
Payload size is rounded up in 50 KB blocks
Examples:
30 KB → 1 message
70 KB → 2 messages
120 KB → 3 messages
📌 Trigger payload size is the most critical cost driver
2️⃣ Invoke Rule
Invoke request → ❌ Not billed
Invoke response:
≤ 50 KB → ❌ Not billed
50 KB → ✅ Billed in multiples of 50 KB
📌 Large responses from REST, SOAP, BIP, or SaaS APIs increase message usage.
3️⃣ File Server Rule
Applies to scheduled/file-based integrations
Each file > 50 KB is counted as messages
Billing is done in ceil(file_size / 50 KB)
Example:
170 KB file → ceil(170/50) = 4 messages
4️⃣ Internal Calls Rule
Calls within the same OIC instance are not billed
Integration → Integration
Process → Integration
Visual Builder → Integration
⚠️ Calling another OIC instance incurs billing on:
Target instance (always)
Source instance (if response > 50 KB)
Common Real-World Use Cases & Consumption Analysis
Use Case 1: REST Inbound → SaaS Update
Scenario
REST inbound payload: 40 KB
SaaS invoke response: 20 KB
Consumption
Trigger: ceil(40/50) = 1
Response: Not counted
✅ Total = 1 message
Use Case 2: Large REST Inbound Payload
Scenario
REST inbound payload: 120 KB
Consumption
Trigger: ceil(120/50) = 3
✅ Total = 3 messages
Use Case 3: File-Based Scheduled Integration
Scenario
Scheduled job downloads 3 files:
20 KB
40 KB
170 KB
Consumption
Only file > 50 KB is counted
ceil(170/50) = 4 messages
✅ Total = 4 messages
Use Case 4: Database Adapter with Loop Invokes
Scenario
DB adapter pulls 2 rows (20 KB)
REST invoke per row returns 20 KB
Consumption
Trigger: ceil(20/50) = 1
Invoke responses < 50 KB → Not billed
✅ Total = 1 message
Use Case 5: SOAP Trigger + Multiple File Downloads
Scenario
SOAP inbound: 70 KB
Files downloaded:
20 KB
170 KB
40 KB
Consumption
Trigger: ceil(70/50) = 2
File > 50 KB: ceil(170/50) = 4
✅ Total = 6 messages
Solution Steps to Optimize Message Consumption in OIC
✅ Step 1: Minimize Trigger Payload Size
Avoid sending unnecessary fields
Use query parameters instead of body where possible
Use lightweight JSON over SOAP when feasible
✅ Step 2: Control Invoke Response Size
Use REST APIs with selective fields
Avoid returning full object payloads
Use pagination for large datasets
✅ Step 3: Handle Large Files Smartly
Split large files before processing
Filter files before download
Process only delta files instead of full loads
✅ Step 4: Prefer Internal OIC Calls
Reuse integrations within the same OIC instance
Avoid cross-instance integration unless mandatory
✅ Step 5: Use Scheduled Integrations Carefully
Schedule only when needed
Avoid unnecessary polling
Combine multiple lightweight operations into one flow
✅ Step 6: Monitor Usage Regularly
Use Usage Metrics → Billable Messages
Track hourly (OIC) or monthly (OIC for SaaS) usage
Identify spikes caused by large payloads or files
Key Takeaways
- Trigger payload size is always billed.
- Invoke responses matter, not requests
- Files > 50 KB increase cost quickly
- Good integration design = lower licensing cost
Understanding these rules helps architects and developers design cost-efficient, scalable OIC integrations without compromising functionality.
Reference:
https://www.oraclespot.net/2023/05/oracle-integration-cloud-oic.html?m=0






























