You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sample container build files to facilitate installation, configuration, and environment setup for DevOps users. For more information about Oracle Database please see the [Oracle Connection Manager online Documentation](http://docs.oracle.com/en/database/).
3
-
4
-
## How to build and run
5
-
This project offers sample container images for:
1
+
# Oracle Connection Manager in Linux Containers
2
+
Oracle Connection Manager is a proxy server that forwards connection requests to databases or other proxy servers. It operates at the session level, and usually resides on a computer separate from the database server and client computers.
3
+
4
+
This guide provides information about example container build files that you can use to facilitate installation, configuration, and environment setup of Oracle Connection Manager for DevOps users. For more information about Oracle Database, please see the [Oracle Connection Manager online Documentation](http://docs.oracle.com/en/database/).
5
+
6
+
## Using this documentation
7
+
-[Oracle Connection Manager in Linux Containers](#oracle-connection-manager-in-linux-containers)
8
+
-[Using this documentation](#using-this-documentation)
9
+
-[How to build and run Oracle Connection Manager in Containers](#how-to-build-and-run-oracle-connection-manager-in-containers)
To assist in building the container images, you can use the [buildContainerImage.sh](containerfiles/buildContainerImage.sh) script. See section **Create Oracle Connection Manager Image** for instructions and usage.
13
29
14
-
**IMPORTANT:** Oracle Connection Manager binds to a single port on your host and proxies incoming connections to multiple running containers. It can also proxy connections for users to Oracle RAC Databases running on internal container networks.
30
+
**IMPORTANT:** Oracle Connection Manager binds to a single port on your host, and proxies incoming connections to multiple running containers. It can also proxy connections for users to Oracle Databases running on internal container networks.
31
+
32
+
For complete Oracle Connection Manager setup, please go though following steps and execute them as per your environment:
33
+
34
+
## Getting Oracle Connection Manager Image
35
+
You can also deploy Oracle Connection Manager on Podman using the pre-built images available on the Oracle Container Registry. Refer [this documentation](https://docs.oracle.com/en/operating-systems/oracle-linux/docker/docker-UsingDockerRegistries.html#docker-registry) for details on using Oracle Container Registry.
15
36
16
-
If you are on Podman Host, please ensure that you have the `podman-docker` package installed on your OL8 Podman host to run the command using the docker utility.
37
+
Example of pulling an Oracle Connection Manager Image from the Oracle Container Registry:
podman tag container-registry.oracle.com/database/cman:23.5.0.0 localhost/oracle/client-cman:23.5.0
19
41
```
20
42
21
-
For complete Oracle Connection Manager setup, please go though following steps and execute them as per your enviornment:
43
+
If you are using pre-built Oracle Connection Manager from [the Oracle Container Registry](https://container-registry.oracle.com), then you can skip the section [Create Oracle Connection Manager Image](#create-oracle-connection-manager-image) to build the Oracle Connection Manager Image.
22
44
23
45
### Create Oracle Connection Manager Image
24
-
**IMPORTANT:** You will have to provide the installation binaries of Oracle ADMIN Client Oracle Database 23ai Client (23.5) for Linux x86-64 and put them into the `containerfiles/<version>` folder. You only need to provide the binaries for the edition you are going to install.
25
-
26
-
The binaries can be downloaded from the [Oracle Technology Network](http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html).
27
-
28
-
You also have to make sure to have internet connectivity for yum. Note that you must not uncompress the binaries.
46
+
**IMPORTANT:** You must provide the installation binaries of the Oracle ADMIN Client Oracle Database 23ai Client for Linux x86-64 (client_cman_home.zip) and put them into the `containerfiles/<version>` folder. You only need to provide the binaries for the edition that you are going to install. The binaries can be downloaded from the [Oracle Technology Network](http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html).
47
+
You also have to ensure you have internet connectivity for yum. You must not uncompress the binaries.
29
48
30
-
The `buildContainerImage.sh` script is just a utility shell script that performs MD5 checks and is an easy way for beginners to get started. Expert users are welcome to directly call `docker build` with their prefered set of parameters.
31
-
32
-
Before you build the image make sure that you have provided the installation binaries and put them into the right folder.
33
-
34
-
#### Create Oracle Connection Manager Image in Podman Hosts
35
-
Go into the **containerfiles** folder and run the **buildContainerImage.sh** script as root or with sudo privileges:
49
+
The `buildContainerImage.sh` script is just a utility shell script that performs MD5 checks. It provides an easy way for beginners to get started. Expert users are welcome to directly call `podman build` with their prefered set of parameters.
50
+
Before you build the image, ensure that you have provided the installation binaries and put them into the right folder. Go into the **containerfiles** folder and run the **buildContainerImage.sh** script as root or with sudo privileges:
-t: user defined image name and tag (e.g., image_name:tag). Default is set to oracle/client-cman:<VERSION>.
66
+
-o: passes on container build option (e.g., --build-arg ARGUMENT=value).
67
+
```
68
+
- If you are behind a proxy wall, then you must set the `https_proxy` or `http_proxy` environment variable based on your environment before building the image.
69
+
## Create Network Bridge
70
+
**Note:** You can change subnet according to your environment.
47
71
48
-
#### Create Oracle Connection Manager Image in Docker Hosts
49
-
Go into the **dockerfiles** folder and run the **buildContainerImage.sh** script as root or with sudo privileges:
72
+
Before creating the container, create the podman network. If you are using the same network which the Oracle RAC containers are created [using the documentation](../OracleRealApplicationClusters/README.md), then you can use the same IPs mentioned in the [Create Oracle Connection Manager Container](#create-oracle-connection-manager-container) section.
Before creating container, create the bridge. If you are using same bridge with same network then you can use same IPs mentioned in **Create Containers** section.
If you want to use Jumbo Frames MTU Network Configuration as similar as with Oracle RAC containers networks, then refer [Jumbo Frames MTU Network Configuration](../OracleRealApplicationClusters/README.md#jumbo-frames-mtu-network-configuration) section
87
+
88
+
## How to deploy Oracle Connection Manager Container
89
+
The Oracle Connection manager container (CMAN) can be used with either an Oracle Real Application Clusters (Oracle RAC) database or with an Oracle Database Single instance database. However, you must ensure that the the SCAN Name or the Single host instance database Hostname is resolvable from the connection manager container.
90
+
Oracle highly recommends that you use a DNS Server so that name resolution can happen successfully.
91
+
92
+
### Create Oracle Connection Manager Container
93
+
Before creating Oracle Connection Manager, we advise to review the **[Environment Variables Explained](#environment-variables-explained) section**. If you are planning to `cman.ora` file skip to [section](#create-oracle-connection-manager-container-using-cmanora)
94
+
To create the connection manager container, run the following command as the root user:
95
+
96
+
```bash
97
+
podman run -d \
98
+
--hostname racnodepc1-cman \
99
+
--dns-search=example.info \
100
+
--dns 10.0.20.25 \
101
+
--network=rac_pub1_nw \
102
+
--ip=10.0.20.15 \
103
+
--cap-add=AUDIT_WRITE \
104
+
--cap-add=NET_RAW \
105
+
-e DOMAIN=example.info \
106
+
-e PUBLIC_IP=10.0.20.15 \
107
+
-e DNS_SERVER=10.0.20.25 \
108
+
-e PUBLIC_HOSTNAME=racnodepc1-cman \
109
+
--privileged=false \
110
+
-p 1521:1521 \
111
+
--name racnodepc1-cman \
112
+
oracle/client-cman:23.5.0
81
113
```
82
114
83
-
Execute following command as root user to create connection manager container on `Podman Host`-
84
-
115
+
### Create Oracle Connection Manager Container using `cman.ora`
116
+
If you want to provide your own pre-created `cman.ora` file, you can provide with `-e USER_CMAN_FILE=<cman-file-name>` and also add attach <cman-file-name> as podman volume to podman run command. Refer sample of [cman.ora](./containerfiles/cman.ora) and execute below command to create Oracle Connection Manager Container -
In the above container, you can see that we are passing env variables using "-e". You need to change `PUBLIC_IP`, `PUBLIC_HOSTNAME`, `SCAN_NAME`, `SCAN_IP`, `DB_HOSTDETAILS` according to your environment. Also, container will be binding to port 1521 on your docker host.
106
-
107
-
**Note:** SCAN_NAME and SCAN_IP will be your Oracle RAC SCAN details. These will be registered in connection manager but will be accessible when you create Oracle RAC container.
108
-
109
-
To check the Cman container/services creation logs , please tail docker logs. It will take 2 minutes to create the Cman container service.
110
-
111
-
Check logs in `Docker Host` -
112
-
```bash
113
-
docker logs racnodedc1-cman
114
-
```
138
+
To check the Cman container/services creation logs, you can run a tail command on the podman logs. It should take two minutes to create the Cman container service.
115
139
116
-
Check logs in `Podman Host` -
117
140
```bash
118
141
podman logs racnodepc1-cman
119
142
```
120
143
121
-
You should see following when cman container setup is done:
144
+
You should see the following when the cman container setup is done:
122
145
123
146
```bash
124
147
###################################
125
148
CONNECTION MANAGER IS READY TO USE!
126
149
###################################
127
150
```
151
+
152
+
### Adding rules to the Oracle Connection Manager
153
+
154
+
You can add rules to the OracleConnectionManager using the following command line syntax.
155
+
Run this command inside the OracleConnectionManager container.
| DOMAIN | The domain name associated with the container environment. |
178
+
| PUBLIC_IP | The public IP address assigned to the Oracle Connection Manager container. |
179
+
| PUBLIC_HOSTNAME | The public hostname assigned to the Oracle Connection Manager container. |
180
+
| DNS_SERVER | The default is set to `10.0.20.25`, which is the DNS container resolving the Connection Manager and Oracle Database containers. Replace this with your DNS server IP if needed. |
181
+
| USER_CMAN_FILE | (Optional) If you want to provide your own pre-created `cman.ora` file, set this environment variable and attach the file as a Podman volume in the `podman run` command. |
182
+
183
+
## License
184
+
185
+
To download and run the Oracle ADMIN Client Oracle Database 23ai Client, regardless of whether inside or outside a container, you must download the binaries from the Oracle website and accept the license indicated on that page.
186
+
187
+
All scripts and files hosted in this repository which are required to build the container images are, unless otherwise noted, released under UPL 1.0 license.
188
+
189
+
## Copyright
190
+
191
+
Copyright (c) 2014-2025 Oracle and/or its affiliates.
Copy file name to clipboardexpand all lines: OracleDatabase/RAC/OracleRealApplicationClusters/README.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -143,11 +143,11 @@ podman tag localhost/oracle/database-rac:21.3.0-slim localhost/oracle/database-r
143
143
### Building Oracle RAC Database Container Base Image
144
144
In this document, an `Oracle RAC Database Container Base Image` refers to a container image that does not include installation of Oracle Grid Infrastructure and Oracle Database Software Binaries during the Oracle RAC Database Container Image creation. This image is extended to build patched image or extensions. To build an Oracle RAC Database Container Base Image run the following command:
0 commit comments