> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costgraph.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Oracle Cloud Infrastructure

> Bring Oracle Cloud Infrastructure cost into CostGraph, pulled by us or pushed by you

Oracle Cloud Infrastructure writes FOCUS cost reports for every tenancy several times a day, so spend is attributed per compartment and resource. Hourly cost per resource lets CostGraph flag Flex shapes sized above what they use and block volumes on a faster performance tier than their traffic needs.

CostGraph reads Oracle Cloud Infrastructure as **FOCUS 1.2** records at a grain of hour x resource x SKU.

## Choose how the data reaches us

<CardGroup cols={2}>
  <Card title="CostGraph pulls it" icon="cloud-arrow-down">
    You supply read-only credentials and we call Oracle Cloud Infrastructure once a day. Nothing to run.
  </Card>

  <Card title="You push it" icon="cloud-arrow-up">
    You send us FOCUS records over the API. Credentials never leave your infrastructure.
  </Card>
</CardGroup>

## Before you begin

* In the OCI console, go to **Identity > Users**, open the user CostGraph will read as, and add an **API key**. Download the private key and copy the fingerprint, user OCID and tenancy OCID.
* Put the user in a group and add this policy in the root compartment, so the group can read the cost reports Oracle keeps for your tenancy:

```text theme={null}
define tenancy usage-report as ocid1.tenancy.oc1..aaaaaaaaned4fkpkisbwjlr56u7cj63lf3wffbilvqknstgtvzub7vhqkggq
endorse group <your-group> to read objects in tenancy usage-report
```

* To see Oracle Cloud savings recommendations in **Insights**, add one more statement for the same group:

```text theme={null}
allow group <your-group> to read optimizer-api-family in tenancy
```

* Note the tenancy's home region, for example `us-ashburn-1`.

## Let CostGraph pull

1. Open **Settings > Integrations** and pick **Oracle Cloud Infrastructure**.
2. Name the connection and pick the tenant these charges belong to.
3. Enter the values you copied. The form lists what Oracle Cloud Infrastructure needs and marks the
   optional ones.
4. Leave **Show Oracle Cloud savings recommendations** checked to see Cloud Advisor's
   recommendations in **Insights**, or clear it to turn them off.
5. Select **Connect**.

CostGraph verifies the credentials with a short fetch before saving, so a wrong
value or a missing permission fails while you are still on the form.

<Note>
  Credentials are encrypted at rest and used only to read billing data. Revoke the
  API key in OCI at any time and the connection stops; nothing else is affected.
</Note>

## Push it yourself

Send the charges to CostGraph as FOCUS records instead. [Push FOCUS data](/costgraph/integrations/focus-push) covers the connection id,
the `focus:write` key, and the request shape.

## Run the exporter

Rather than build that request yourself, run our exporter. It reads Oracle Cloud Infrastructure on a
schedule and pushes the records for you, wherever you want to run it: a container, a
Kubernetes `CronJob`, or a binary on a machine you already have.

```bash theme={null}
focus-exporter --provider oci --sink costgraph
```

Your Oracle Cloud Infrastructure credential stays where you put it, and only the finished FOCUS records
reach CostGraph. [Run the exporter](/costgraph/integrations/exporter) covers the three
ways to run it and the variables it reads.

## Savings recommendations

With recommendations on, Oracle Cloud Advisor's cost recommendations appear in
**Insights** next to CostGraph's. Each one shows two numbers: Oracle's estimate, and
CostGraph's price calculated from your bill.

* Idle compute instances and unattached block and boot volumes show a saving: what
  the resource cost on your bill over the last month.
* Resize and other changes (downsizing compute, load balancers or Autonomous
  Databases, moving to burstable shapes, object lifecycle rules) show the monthly
  spend they affect, not a saving. They don't add to the savings total.
* A recommendation for a resource that does not appear on your bill does not show.

Cloud Advisor is on by default. If it was turned off, turn it on in the Console under
**Governance & Administration > Cloud Advisor > Settings > Activate**. The first
recommendations can take a few days to appear.

The connection card in **Settings > Integrations** tells you what to do if Cloud
Advisor is off or the policy statement is missing. To turn recommendations off or back
on, connect the tenancy again with **Show Oracle Cloud savings recommendations**
cleared or checked.

## What CostGraph does with it

Records land as raw billing rows, are normalised into line items, and roll up into
daily cost. From there Oracle Cloud Infrastructure spend appears in Cost Overview and in anomaly
detection alongside every other provider.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.