Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 60 additions & 12 deletions docs/guides/oracle/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ aliases:

## Supported Oracle Features

| Features | Availability |
|------------------------------------|:------------:|
| Clustering | ✓ |
| Data Guard | ✓ |
| Synchronous Replication | ✓ |
| Streaming Replication | ✓ |
| Automatic Failover | ✓ |
| Persistent Volume | ✓ |
| Initialization using Script | ✓ |
| Using Custom docker image | ✓ |

## Life Cycle of a Oracle Object
| Features | Availability |
|---------------------------------------------------|:------------:|
| Standalone Oracle Deployment | ✓ |
| Oracle Data Guard (Primary/Standby Topology) | ✓ |
| Synchronous and Asynchronous Replication | ✓ |
| Fast-Start Failover (FSFO) | ✓ |
| Automatic Failover Workflow | ✓ |
| Persistent Storage with PVC | ✓ |
| Pod-Level Resource and Security Customization | ✓ |
| Custom Container Image via OracleVersion Catalog | ✓ |

## Life Cycle of an Oracle Object

<p align="center">
<img alt="lifecycle" src="/docs/images/oracle/oracle_lifecycle.png">
Expand All @@ -37,5 +37,53 @@ aliases:
## User Guide

- [Quickstart Oracle](/docs/guides/oracle/quickstart/guide.md) with KubeDB Operator.
- Learn Oracle deployment and behavior through the [Oracle CRD Concepts](/docs/guides/oracle/concepts/oracle.md) guide.
- Explore high availability and automatic recovery using [Failover and Disaster Recovery](/docs/guides/oracle/failover/overview.md).
- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md).

## A Guide to Oracle Operations in KubeDB

The `Oracle` custom resource helps you manage day-2 operations for Oracle databases on Kubernetes through a declarative API. You can define your target topology, resource profile, and failover behavior, and KubeDB continuously reconciles runtime state with your desired state.

### Choose the Right Deployment Mode

KubeDB Oracle supports two deployment modes:

- **Standalone**: A single-instance Oracle deployment, typically used for development, test, and low-complexity workloads.
- **DataGuard**: A multi-node deployment with primary/standby roles for high availability and disaster recovery.

The [Quickstart guide](/docs/guides/oracle/quickstart/guide.md) walks through creating an Oracle instance and validating the generated resources.

### Understand Oracle CRD Structure

The [Oracle Concepts guide](/docs/guides/oracle/concepts/oracle.md) explains important fields in the `Oracle` spec, including:

- Base settings like `version`, `mode`, `edition`, and `replicas`.
- Data Guard settings such as `protectionMode`, `syncMode`, and failover observer configuration.
- Storage and pod template customization for production-ready runtime behavior.
- Lifecycle controls, including `deletionPolicy`.

Use this guide as the authoritative reference when designing manifests for either standalone or Data Guard deployments.

### Plan for High Availability and Failover

For production Oracle clusters, Data Guard is the key reliability building block. The [failover overview](/docs/guides/oracle/failover/overview.md) details:

- How primary and standby members are coordinated.
- How redo transport and apply flows affect recovery characteristics.
- How Fast-Start Failover (FSFO) and observer behavior impact automatic failover.
- Practical failure simulation scenarios and expected cluster behavior.

This is the best starting point for validating RTO/RPO expectations before promoting Oracle workloads to production.

### Recommended Workflow

For new users and platform teams, follow this sequence:

1. Deploy a baseline instance from [Quickstart](/docs/guides/oracle/quickstart/guide.md).
2. Review CRD-level controls in [Oracle Concepts](/docs/guides/oracle/concepts/oracle.md).
3. Enable and test recovery paths using [Failover and Disaster Recovery](/docs/guides/oracle/failover/overview.md).

By following this progression, you can move from initial deployment to production-grade high availability with a clear operational model.


2 changes: 1 addition & 1 deletion docs/guides/oracle/failover/overview.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: Oracle Faoilover and Disaster Recovery
title: Oracle Failover and Disaster Recovery
menu:
docs_{{ .version }}:
identifier: guides-oracle-fdr-overview
Expand Down
6 changes: 2 additions & 4 deletions docs/guides/oracle/quickstart/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,7 @@ This tutorial will show you how to use KubeDB to run an Oracle database.

<p align="center">   <img alt="lifecycle" src="/docs/images/oracle/oracle_lifecycle.png"> </p>

>Note: The YAML files used in this tutorial are stored in [docs/examples/oracle/quickstart](https://github.com/kubedb/docs/tree/{{
< param "info.version" >}}/docs/examples/oracle/quickstart) folder in the GitHub repository kubedb/docs
.
>Note: The YAML files used in this tutorial are stored in [docs/examples/oracle/quickstart](https://github.com/kubedb/docs/tree/{{< param "info.version" >}}/docs/examples/oracle/quickstart) folder in the GitHub repository kubedb/docs.

## Before You Begin

Expand Down Expand Up @@ -57,7 +55,7 @@ NAME VERSION DISTRIBUTION DB_IMAGE DEPRECATED

KubeDB implements an Oracle CRD to define Oracle database specifications. Below is an example:

```shell
```yaml
apiVersion: kubedb.com/v1alpha2
kind: Oracle
metadata:
Expand Down