Skip to content

Commit 837a705

Browse files
yunus-qureshipsaini79
authored andcommitted
Readme changes
1 parent 093fb95 commit 837a705

File tree

2 files changed

+36
-30
lines changed

2 files changed

+36
-30
lines changed

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ In this v1.0.0 production release, `OraOperator` supports the following database
1414
* Containerized Sharded databases (SHARDED) deployed in OKE and any k8s where OraOperator is deployed
1515
* Oracle Multitenant Databases (CDB/PDBs)
1616
* Oracle Base Database Cloud Service (BDBCS)
17+
* Oracle Data Guard (Preview status)
1718
* Cloud Native Database Observer (Preview status)
1819

1920
Oracle will continue to extend `OraOperator` to support additional Oracle Database configurations.
@@ -28,6 +29,7 @@ This release of Oracle Database Operator for Kubernetes (the operator) supports
2829
* SHARDED: Provision/deploy sharded databases and the shard topology, Add a new shard, Delete an existing shard
2930
* Oracle Multitenant Database: Bind to a CDB, Create a  PDB, Plug a  PDB, Unplug a PDB, Delete a PDB, Clone a PDB, Open/Close a PDB
3031
* Oracle Base Database Cloud Service (BDBCS): Provision, Bind, Scale Up/Down, Liveness Probe, Manual Backup
32+
* Oracle Data Guard: Provision a Standby for the SIDB resource and setup a Data Guard configuration to enable manual switch over
3133
* Cloud Native Database Observer: Provide Quick/Detailed Database Status
3234

3335
The upcoming releases will support new configurations, operations and capabilities.
@@ -38,7 +40,7 @@ This production release has been installed and tested on the following Kubernete
3840

3941
* [Oracle Container Engine for Kubernetes (OKE)](https://www.oracle.com/cloud-native/container-engine-kubernetes/) with Kubernetes 1.24
4042
* [Oracle Linux Cloud Native Environment(OLCNE)](https://docs.oracle.com/en/operating-systems/olcne/) 1.6
41-
* [Minikube](https://minikube.sigs.k8s.io/docs/) with version v1.21.0
43+
* [Minikube](https://minikube.sigs.k8s.io/docs/) with version v1.29.0
4244
* [Azure Kubernetes Service](https://azure.microsoft.com/en-us/services/kubernetes-service/)
4345
* [Amazon Elastic Kubernetes Service](https://aws.amazon.com/eks/)
4446
* [Red Hat OKD](https://www.okd.io/)
@@ -92,7 +94,7 @@ The quickstarts are designed for specific database configurations:
9294

9395
* [Oracle Autonomous Database](./docs/adb/README.md)
9496
* [Oracle Autonomous Container Database](./docs/adb/ACD.md)
95-
* [Containerized Oracle Single Instance Database](./docs/sidb/README.md)
97+
* [Containerized Oracle Single Instance Database and Data Guard](./docs/sidb/README.md)
9698
* [Containerized Oracle Sharded Database](./docs/sharding/README.md)
9799
* [Oracle Multitenant Database](./docs/multitenant/README.md)
98100
* [Oracle Base Database Cloud Service (BDBCS)](./docs/dbcs/README.md)
@@ -119,6 +121,8 @@ YAML file templates are available under [`/config/samples`](./config/samples/).
119121
kubectl delete autonomouscontainerdatabase.database.oracle.com --all -n <namespace>
120122
kubectl delete cdb.database.oracle.com --all -n <namespace>
121123
kubectl delete pdb.database.oracle.com --all -n <namespace>
124+
kubectl delete dataguardbrokers.database.oracle.com --all -n <namespace>
125+
kubectl delete databaseobservers.observability.oracle.com --all -n <namespace>
122126
```
123127

124128
After all CRD instances are deleted, it is safe to remove the CRDs, APIServices and operator deployment. To remove these files, use the following command:

docs/sidb/README.md

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ Oracle Database Operator for Kubernetes (`OraOperator`) includes the Single Inst
1414
* [Dynamic Persistence](#dynamic-persistence)
1515
* [Static Persistence](#static-persistence)
1616
* [Configuring a Database](#configuring-a-database)
17-
* [Configure ArchiveLog, Flashback and ForceLog](#configure-archivelog-flashback-and-forcelog)
18-
* [Change Init Parameters](#change-init-parameters)
17+
* [Switching Database Modes](#switching-database-modes)
18+
* [Changing Init Parameters](#changing-init-parameters)
1919
* [Clone a Database](#clone-a-database)
2020
* [Patch a Database](#patch-a-database)
2121
* [Delete a Database](#delete-a-database)
@@ -24,10 +24,10 @@ Oracle Database Operator for Kubernetes (`OraOperator`) includes the Single Inst
2424
* [Setup Database with LoadBalancer](#setup-database-with-loadbalancer)
2525
* [Enabling TCPS Connections](#enabling-tcps-connections)
2626
* [Specifying Custom Ports](#specifying-custom-ports)
27-
* [Creating an Oracle Data Guard Configuration](#creating-an-oracle-data-guard-configuration)
28-
* [Creating a Standby Database](#creating-a-standby-database)
29-
* [Setup DataGuardBroker Configuration for a Single Instance Database](#setup-dataguardbroker-configuration-for-a-single-instance-database)
30-
* [Delete a standby database with dataguard broker configured](#delete-a-standby-database-with-dataguard-broker-configured)
27+
* [Setup Data Guard Configuration for a Single Instance Database](#setup-data-guard-configuration-for-a-single-instance-database)
28+
* [Create a Standby Database](#create-a-standby-database)
29+
* [Add the Databases in Data Guard Configuration](#add-the-databases-in-data-guard-configuration)
30+
* [Delete a database configured for Data Guard](#delete-a-database-configured-for-data-guard)
3131
* [OracleRestDataService Resource](#oraclerestdataservice-resource)
3232
* [REST Enable a Database](#rest-enable-a-database)
3333
* [Provision ORDS](#provision-ords)
@@ -161,10 +161,15 @@ To provision a new database instance on the Kubernetes cluster, use the example
161161

162162
secret/oracle-container-registry-secret created
163163
```
164-
This secret can also be created using the docker config file after a successful docker login
164+
This secret can also be created from the docker config.json or from podman auth.json after a successful login
165165
```sh
166-
$ docker login container-registry.oracle.com
167-
$ kubectl create secret generic oracle-container-registry-secret --from-file=.dockerconfigjson=.docker/config.json --type=kubernetes.io/dockerconfigjson
166+
docker login container-registry.oracle.com
167+
kubectl create secret generic oracle-container-registry-secret --from-file=.dockerconfigjson=.docker/config.json --type=kubernetes.io/dockerconfigjson
168+
```
169+
or
170+
```sh
171+
podman login container-registry.oracle.com
172+
podman create secret generic oracle-container-registry-secret --from-file=.dockerconfigjson=${XDG_RUNTIME_DIR}/containers/auth.json --type=kubernetes.io/dockerconfigjson
168173
```
169174
3. Provision a new database instance on the cluster by using the following command:
170175

@@ -202,7 +207,7 @@ To provision new Oracle Database Express Edition (XE) database, use the sample *
202207
This command pulls the XE image uploaded on the [Oracle Container Registry](https://container-registry.oracle.com/).
203208
204209
**NOTE:**
205-
- Provisioning Oracle Database express edition is supported for release 21c (21.3.0) and later releases.
210+
- Provisioning Oracle Database express edition is supported for release 21c (21.3.0) only.
206211
- For XE database, only single replica mode (i.e. `replicas: 1`) is supported.
207212
- For XE database, you **cannot change** the init parameters i.e. `cpuCount, processes, sgaTarget or pgaAggregateTarget`.
208213
@@ -366,17 +371,17 @@ spec:
366371
### Configuring a Database
367372
The `OraOperator` facilitates you to configure the database. Various database configuration options are explained in the following subsections:
368373

369-
#### Configure ArchiveLog, Flashback, and ForceLog
370-
The following database parameters can be updated after the database is created:
374+
#### Switching Database Modes
375+
The following database modes can be updated after the database is created:
371376

372377
- `flashBack`
373378
- `archiveLog`
374379
- `forceLog`
375380

376-
To change these parameters, change their attribute values, and apply the change by using the
381+
To change these modes, change their attribute values, and apply the change by using the
377382
`kubectl apply` or `kubectl edit/patch` commands.
378383

379-
**Caution**: Enable `archiveLog` mode before setting `flashback` to `ON`, and set `flashback` to `OFF` before disabling `archiveLog` mode.
384+
**Caution**: Enable `archiveLog` mode before setting `flashBack` to `ON`, and set `flashBack` to `OFF` before disabling `archiveLog` mode.
380385

381386
For example:
382387

@@ -393,7 +398,7 @@ $ kubectl get singleinstancedatabase sidb-sample -o "jsonpath=[{.status.archiveL
393398
[true, true, true]
394399
```
395400

396-
#### Change Init Parameters
401+
#### Changing Init Parameters
397402

398403
The following database initialization parameters can be updated after the database is created:
399404

@@ -559,7 +564,6 @@ The following steps are required to connect the Database using TCPS:
559564
sqlplus sys@ORCL1 as sysdba
560565
```
561566
**NOTE:**
562-
- Only database server authentication is supported (no mTLS).
563567
- When TCPS is enabled, a self-signed certificate is generated and stored inside the wallets. For users' convenience, a client-side wallet is generated and stored at `/opt/oracle/oradata/clientWallet/$ORACLE_SID` location in the pod.
564568
- The self-signed certificate used with TCPS has validity for 1 year. After the certificate is expired, it will be renewed by the `OraOperator` automatically. You need to download the wallet again after the auto-renewal.
565569
- You can set the certificate renew interval with the help of `tcpsCertRenewInterval` field in the **[config/samples/sidb/singleinstancedatabase.yaml](../../config/samples/sidb/singleinstancedatabase.yaml)** file. The minimum accepted value is 24h, and the maximum value is 8760h (1 year). The certificates used with TCPS will automatically be renewed after this interval. If this field is omitted/commented in the yaml file, the certificates will not be renewed automatically.
@@ -583,9 +587,9 @@ In case of `NodePort` service, `listenerPort`, and `tcpsListenerPort` will be th
583587
- If TCPS connections are enabled, and `listenerPort` is commented/removed in the [config/samples/sidb/singleinstancedatabase.yaml](../../config/samples/sidb/singleinstancedatabase.yaml) file, only TCPS endpoint will be exposed.
584588
- If LoadBalancer is enabled, and either `listenerPort` or `tcpsListenerPort` is changed, then it takes some time to complete the work requests (drain existing backend sets and create new ones). In this time, the database connectivity is broken. Although, SingleInstanceDatabase and LoadBalancer remain in the healthy state, you can check the progress of the work requests by logging into the cloud provider's console and checking the corresponding LoadBalancer.
585589

586-
### Creating an Oracle Data Guard Configuration
590+
### Setup Data Guard Configuration for a Single Instance Database
587591

588-
### Creating a Standby Database
592+
### Create a Standby Database
589593

590594
#### Prerequisites
591595
Before creating a standby, ArchiveLog, FlashBack, and ForceLog on primary Single Instance Database(`.spec.primaryDatabaseRef`) should be turned on.
@@ -628,15 +632,14 @@ $ kubectl get singleinstancedatabase stdby-1 -o "jsonpath={.status.status}"
628632
Healthy
629633
```
630634

631-
### Setup DataGuardBroker Configuration for a Single Instance Database
635+
### Add the Databases in Data Guard Configuration
632636

633637
#### Template YAML
634-
After you have created standbys, now configure dataguard broker for standbys and primary databases by mentioning the dataguard sample yaml.
635638

636-
For the use cases detailed below a sample .yaml file is available at
639+
After creating standbys, setup a dataguard configuration with protection mode and switch over capability using the following sample yaml.
637640
[config/samples/sidb/dataguardbroker.yaml](./../../config/samples/sidb/dataguardbroker.yaml)
638641

639-
#### Setup DataGuardBroker Resource
642+
#### Create DataGuardBroker Resource
640643

641644
Provision a new DataguardBroker custom resource for a single instance database(`.spec.primaryDatabaseRef`) by specifying appropriate values for the attributes in the example `.yaml` file, and running the following command:
642645

@@ -667,7 +670,6 @@ To list the DataguardBroker resources, use the following command:
667670
668671
```
669672

670-
671673
#### Detailed Status
672674

673675
```sh
@@ -738,9 +740,9 @@ To list the DataguardBroker resources, use the following command:
738740
10.0.25.87:1521/DATAGUARD
739741
```
740742

741-
#### Set any database as Primary Database (Switchover)
743+
#### Performing a Switchover
742744

743-
Mention SID of the any databases (SID of one of `.spec.primaryDatabaseRef` , `.spec.standbyDatabaseRefs[]`) to be set primary in the `.spec.setAsPrimaryDatabase` of [dataguardbroker.yaml](./../../config/samples/sidb/dataguardbroker.yaml) and apply the yaml file.
745+
Specify the approppriate SID (SID of one of `.spec.primaryDatabaseRef` , `.spec.standbyDatabaseRefs[]`) to be set primary in the `.spec.setAsPrimaryDatabase` of [dataguardbroker.yaml](./../../config/samples/sidb/dataguardbroker.yaml) and apply the yaml file.
744746

745747
The database will be set to primary. Ignored if the database is already primary.
746748

@@ -771,7 +773,7 @@ $ kubectl delete dataguardbroker dgbroker-sample
771773

772774
**NOTE :** You can only delete DataGuard broker when role of `.spec.primaryDatabaseRef` is PRIMARY
773775

774-
### Patch primary and standby databases in dataguard configuration
776+
### Patch primary and standby databases in Data Guard configuration
775777

776778
Databases (both primary and standby) running in you cluster and managed by the Oracle Database operator can be patched or rolled back between release updates of the same major release. While patching databases configured with the dataguard broker you need to first patch the Primary database followed by seconday/standby databases in any order.
777779

@@ -782,9 +784,9 @@ kubectl --type=merge -p '{"spec":{"image":{"pullFrom":"patched-image:tag","pullS
782784
783785
```
784786

785-
### Delete a database in dataguard configuration
787+
### Delete a database configured for Data Guard
786788

787-
To delete a standby database in a dataguard configuration, delete the dataguardbroker resource first followed by the standby database
789+
To delete a standby or primary database configured for Data Guard, delete the dataguardbroker resource first followed by the standby databases and finally the primary database
788790

789791
#### Delete DataguardBroker Resource
790792
```sh

0 commit comments

Comments
 (0)