|
1 | 1 | # About this Container Image
|
2 | 2 |
|
3 |
| -These container images are for the Oracle Instant Client 'Basic', 'SDK' and 'SQL\*Plus' packages. They can be used to build and run Oracle Call Interface (OCI), Oracle C++ Call Interface (OCCI), and JDBC-OCI applications applications. The SQL\*Plus command-line query tool allows quick ad-hoc SQL and PL/SQL execution. The container images can be extended with optional packages for ODBC, or to include tools such as Oracle SQL\*Loader. |
4 |
| - |
5 |
| -The base images support building and using scripting language APIs that internally call OCI. These include [Python's cx_Oracle](https://yum.oracle.com/oracle-linux-python.html), [Node.js's node-oracledb](https://yum.oracle.com/oracle-linux-nodejs.html), [PHP's OCI8](https://yum.oracle.com/oracle-linux-php.html), [Go's goracle](https://github.com/go-goracle/goracle) and [Ruby's ruby-oci8](https://www.rubydoc.info/github/kubo/ruby-oci8). |
| 3 | +These container images are for the Oracle Instant Client 'Basic', 'SDK' and |
| 4 | +'SQL\*Plus' packages. They can be used to build and run Oracle Call Interface |
| 5 | +(OCI), Oracle C++ Call Interface (OCCI), and JDBC-OCI applications applications. |
| 6 | +The SQL\*Plus command-line query tool allows quick ad-hoc SQL and PL/SQL |
| 7 | +execution. The container images can be extended with optional Instant Client |
| 8 | +packages for ODBC, or to include tools such as Oracle SQL\*Loader. |
| 9 | + |
| 10 | +The base images support building and using scripting language APIs that |
| 11 | +internally call OCI. These include [Python's |
| 12 | +cx_Oracle](https://yum.oracle.com/oracle-linux-python.html), [Node.js's |
| 13 | +node-oracledb](https://yum.oracle.com/oracle-linux-nodejs.html), [PHP's |
| 14 | +OCI8](https://yum.oracle.com/oracle-linux-php.html), [Go's |
| 15 | +godror](https://godror.github.io/godror/) and [Ruby's |
| 16 | +ruby-oci8](https://www.rubydoc.info/github/kubo/ruby-oci8). |
6 | 17 |
|
7 | 18 | ## About Oracle Instant Client
|
8 | 19 |
|
9 |
| -The [Oracle Instant Client](https://www.oracle.com/technetwork/database/features/instant-client/) is a repackaging of Oracle Database libraries, tools and header files usable to create and run applications that connect to a remote (or local) Oracle Database. |
10 |
| - |
11 |
| -Oracle client-server version interoperability is detailed in [Doc ID 207303.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=207303.1). In summary, applications using Oracle Call Interface (OCI) 19, 18 and 12.2 can connect to Oracle Database 11.2 or later. Some tools may have other restrictions. |
| 20 | +The [Oracle Instant |
| 21 | +Client](https://www.oracle.com/database/technologies/instant-client.html) is a |
| 22 | +repackaging of Oracle Database libraries, tools and header files usable to |
| 23 | +create and run applications that connect to a remote (or local) Oracle Database. |
12 | 24 |
|
13 |
| -From release 18.3, the Oracle Instant Client RPMs for Oracle Linux are available for direct download from the [Oracle Linux yum server](https://yum.oracle.com) without requiring manual license acceptance. |
| 25 | +Oracle client-server version interoperability is detailed in [Doc ID |
| 26 | +207303.1](https://support.oracle.com/epmos/faces/DocumentDisplay?id=207303.1). |
| 27 | +In summary, applications using Oracle Call Interface (OCI) 19, 18 and 12.2 can |
| 28 | +connect to Oracle Database 11.2 or later. Some tools may have other |
| 29 | +restrictions. |
14 | 30 |
|
15 |
| -## Building the Oracle Instant Client 19 Image |
| 31 | +## Building the Oracle Instant Client 19 Images |
16 | 32 |
|
17 |
| -Change directory to [`dockerfiles/19`](dockerfiles/19) and run: |
| 33 | +Change directory to [`oraclelinux7/19`](oraclelinux7/19) or |
| 34 | +[`oraclelinux8/19`](oraclelinux8/19)and run: |
18 | 35 |
|
19 | 36 | ```
|
20 | 37 | docker build --pull -t oracle/instantclient:19 .
|
21 | 38 | ```
|
22 | 39 |
|
23 |
| -The build process automatically installs Instant Client using RPMs directly from the [Oracle Instant Client repository](https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html) on the [Oracle Linux yum server](https://yum.oracle.com). |
| 40 | +The build process automatically installs Instant Client using RPMs directly from |
| 41 | +the [Oracle Instant Client repository |
| 42 | +(OL7)](https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html) |
| 43 | +or [Oracle Instant Client repository |
| 44 | +(OL8)](https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient/x86_64/index.html). |
24 | 45 |
|
25 | 46 | Applications using Oracle Call Interface (OCI) 19 can connect to
|
26 | 47 | Oracle Database 11.2 or later. Some tools may have other
|
27 | 48 | restrictions.
|
28 | 49 |
|
29 |
| -## Building the Oracle Instant Client 18 Image |
| 50 | +## Building the Oracle Instant Client 18 Image for Oracle Linux 7 |
30 | 51 |
|
31 |
| -Change directory to [`dockerfiles/18`](dockerfiles/18) and run: |
| 52 | +Change directory to [`oraclelinux7/18`](oraclelinux7/18) and run: |
32 | 53 |
|
33 | 54 | ```
|
34 | 55 | docker build --pull -t oracle/instantclient:18 .
|
35 | 56 | ```
|
36 | 57 |
|
37 |
| -The build process will automatically install the Instant Client using RPMs sourced directly from the [Oracle Instant Client repository](https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html) on the [Oracle Linux yum server](https://yum.oracle.com). |
| 58 | +The build process will automatically install the Instant Client using RPMs |
| 59 | +sourced directly from the [Oracle Instant Client |
| 60 | +repository](https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html). |
38 | 61 |
|
39 | 62 | Applications using Oracle Call Interface (OCI) 18 can connect to
|
40 | 63 | Oracle Database 11.2 or later. Some tools may have other
|
41 | 64 | restrictions.
|
42 | 65 |
|
43 |
| -## Building the Oracle Instant Client 12.2 Image |
| 66 | +## Building the Oracle Instant Client 12.2 Image for Oracle Linux 7 |
44 | 67 |
|
45 |
| -Download the following three RPMs from the [Instant Client download page](https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html) on the Oracle Technology Network: |
| 68 | +Download the following three RPMs from the [Instant Client download |
| 69 | +page](https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html) |
| 70 | +on the Oracle Technology Network: |
46 | 71 |
|
47 | 72 | - `oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm`
|
48 | 73 | - `oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm`
|
49 | 74 | - `oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm`
|
50 | 75 |
|
51 | 76 | Place the downloaded Oracle Instant Client RPMs (from the previous step) in the
|
52 |
| -[`dockerfiles/12.2.0.1`](dockerfiles/12.2.0.1) directory, then switch to that directory and run: |
| 77 | +[`oraclelinux7/12.2.0.1`](oraclelinux7/12.2.0.1) directory, then switch to that |
| 78 | +directory and run: |
53 | 79 |
|
54 | 80 | ```
|
55 | 81 | docker build --pull -t oracle/instantclient:12.2.0.1 .
|
@@ -103,15 +129,18 @@ mounts](https://docs.docker.com/storage/bind-mounts/).
|
103 | 129 | If you have a wallet zip downloaded from an Oracle Cloud Database then you
|
104 | 130 | should unzip it and, in this example, place the extracted files in
|
105 | 131 | `/my/host/wallet_dir` on your host. Cloud database wallets provide connection
|
106 |
| -strings for the database service and enable TLS. Your container applications |
107 |
| -should use one of the connection strings from `tnsnames.ora` and also supply a |
108 |
| -valid database username and password for connection. If you are using C based |
109 |
| -applications (including database drivers for Python, Node.js, Go, Ruby or PHP) |
110 |
| -you only need the `tnsnames.ora`, `sqlnet.ora` and `cwallet.sso` files from the |
111 |
| -zip file. Keep the files secure. |
| 132 | +strings for the database service and enable mutual TLS. Your container |
| 133 | +applications should use one of the connection strings from `tnsnames.ora` and |
| 134 | +also supply a valid database username and password for connection. If you are |
| 135 | +using C based applications (including database drivers for Python, Node.js, Go, |
| 136 | +Ruby or PHP) you only need the `tnsnames.ora`, `sqlnet.ora` and `cwallet.sso` |
| 137 | +files from the zip file. Keep the files secure. |
112 | 138 |
|
113 | 139 | ## Adding Oracle Database Drivers
|
114 | 140 |
|
115 |
| -To extend the image with optional Oracle Database drivers, follow your desired driver installation steps. The Instant Client libraries are in `/usr/lib/oracle/<version>/client64/lib` and the Instant Client headers are in `/usr/include/oracle/<version>/client64/`. |
| 141 | +To extend the image with optional Oracle Database drivers, follow your desired |
| 142 | +driver installation steps. The Instant Client libraries are in |
| 143 | +`/usr/lib/oracle/<version>/client64/lib` and the Instant Client headers are in |
| 144 | +`/usr/include/oracle/<version>/client64/`. |
116 | 145 |
|
117 | 146 | The Instant Client libraries are in the default library search path.
|
0 commit comments