All posts · General

OCI Fundamentals for Oracle Cloud PaaS Developers

Oracle Cloud Infrastructure underpins everything in Oracle Cloud. Here is what PaaS developers need to know — regions, tenancies, compartments, IAM, and the OCI console.

Anurag Jangra · January 11, 2026 · 6 min read · ... views

OCI hierarchy

graph TD
    TEN[Tenancy
 your-company.oraclecloud.com] --> REG1[Region: ap-mumbai-1]
    TEN --> REG2[Region: uk-london-1]
    REG1 --> AD1[Availability Domain 1]
    REG1 --> AD2[Availability Domain 2]
    AD1 --> COMP1[Compartment: Production]
    AD1 --> COMP2[Compartment: Development]
    COMP1 --> OIC[OIC Instance]
    COMP1 --> ATP[ATP Database]
    COMP1 --> OBJ[Object Storage Bucket]
    COMP2 --> OIC2[OIC Dev Instance]

    style TEN fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0
    style COMP1 fill:#0f2d1f,stroke:#22C55E,color:#e2e8f0
    style COMP2 fill:#1e293b,stroke:#F59E0B,color:#e2e8f0

IAM policy patterns for PaaS developers

# Allow OIC to read/write Object Storage:
Allow service integrations to manage objects
  in compartment Production
  where target.bucket.name = 'oic-staging'

# Allow OIC to use ATP database:
Allow service integrations to use database-connections
  in compartment Production

# Allow dev team to manage OIC:
Allow group OIC-Developers to manage integrations
  in compartment Development

# Read-only for auditors:
Allow group Auditors to inspect integrations
  in tenancy

Essential OCI CLI commands for PaaS work

# Install OCI CLI
pip install oci-cli

# Configure (creates ~/.oci/config)
oci setup config

# List all OIC instances in a compartment
oci integration integration-instance list \
  --compartment-id ocid1.compartment.oc1..xxxxx \
  --query "data[].{Name:"display-name",State:"lifecycle-state"}"

# Upload a certificate to OCI Certificates service
oci certs-mgmt certificate create \
  --compartment-id ocid1.compartment.oc1..xxxxx \
  --name my-sftp-cert \
  --certificate-config file://cert-config.json

# Download ATP wallet
oci db autonomous-database generate-wallet \
  --autonomous-database-id ocid1.autonomousdatabase.oc1..xxxxx \
  --password "WalletPassword123#" \
  --file atp-wallet.zip

# Upload file to Object Storage
oci os object put \
  --bucket-name oic-staging \
  --file-to-upload report.csv \
  --name /incoming/report.csv

OCI regions — choose correctly

RegionCodeGood for
Mumbaiap-mumbai-1India-based clients
Londonuk-london-1UK/Europe clients
Dubaime-dubai-1Middle East clients
Ashburnus-ashburn-1US clients, largest region
Frankfurteu-frankfurt-1GDPR-sensitive EU data

Always deploy OIC, ATP, and Oracle Fusion in the same region. Cross-region calls add 50-200ms latency per round-trip — enough to noticeably slow integrations.

Free tier for development

OCI Always Free includes:

  • 2 AMD compute VMs (1 OCPU, 1GB RAM each) — enough for a Connectivity Agent
  • 2 Autonomous Databases (20GB each) — development schema storage
  • 10GB Object Storage — staging files for OIC
  • OCI IAM — identity and access management

This covers a full OIC development stack at zero cost.

Think Beyond the Implementation

Questions worth sitting with after reading this

01

Why is this architecture appropriate for this specific context — and where would it be the wrong choice?

02

What assumptions did we make that aren't stated explicitly? What happens if those assumptions are wrong?

03

What would break first if the requirements changed — volume doubled, a third system was added, or the deadline halved?

04

What alternatives did we reject, and why? Was the decision made on evidence — or habit?

AJ
Anurag Jangra
Oracle Cloud PaaS Consultant · OIC & VBCS Specialist

4.5+ years delivering enterprise Oracle Cloud integrations and VBCS applications across manufacturing, IT services, and financial sectors. OCI Certified — writes about real-world OIC, VBCS, SQL, and BI Publisher patterns from production experience.

Chat on WhatsApp