Skip to content

Commit 86d91d3

Browse files
Documentation improvements.
1 parent b921b92 commit 86d91d3

File tree

2 files changed

+94
-32
lines changed

2 files changed

+94
-32
lines changed

doc/src/release_notes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Common Changes
4848
#) The default value of the ``tcp_connect_timeout`` parameter was changed
4949
from 60 seconds to 20 seconds. The default value of the
5050
``retry_delay`` parameter was changed from 0 seconds to 1 second.
51-
#) Added parameter `ping_timeout` to methods :meth:`oracledb.create_pool()`
51+
#) Added parameter ``ping_timeout`` to methods :meth:`oracledb.create_pool()`
5252
and :meth:`oracledb.create_pool_async()` with a default value of 5000
5353
milliseconds. This limits the amount of time that a call to
5454
:meth:`~ConnectionPool.acquire()` will wait for a connection to respond to

doc/src/user_guide/installation.rst

Lines changed: 93 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -157,15 +157,15 @@ To use python-oracledb, you need:
157157
cryptography package is not available, you can still install python-oracledb
158158
but can only use it in Thick mode, see :ref:`nocrypto`.
159159

160-
- Optionally, Oracle Client libraries can be installed to enable some additional
161-
advanced functionality. These can be from the free `Oracle Instant Client
162-
<https://www.oracle.com/database/technologies/instant-client.html>`__, from a
163-
full Oracle Client installation (such as installed by Oracle's GUI
164-
installer), or from those included in Oracle Database if
165-
Python is on the same machine as the database. Oracle Client libraries
166-
versions 23, 21, 19, 18, 12, and 11.2 are supported where available on Linux,
167-
Windows and macOS (Intel x86). Oracle's standard client-server version
168-
interoperability allows connection to both older and newer databases.
160+
- Optionally, Oracle Client libraries can be installed to enable some
161+
additional advanced functionality. These can be from the free `Oracle Instant
162+
Client <https://www.oracle.com/database/technologies/instant-client.html>`__,
163+
from a full Oracle Client installation (such as installed by Oracle's GUI
164+
installer), or from those included in Oracle Database if Python is on the
165+
same machine as the database. Oracle Client libraries versions 23, 21, 19,
166+
18, 12, and 11.2 are supported where available on Linux, Windows and macOS.
167+
Oracle's standard client-server version interoperability allows connection to
168+
both older and newer databases.
169169

170170
- An Oracle Database either local or remote, on-premises or in the Cloud.
171171

@@ -701,8 +701,8 @@ Installing python-oracledb on macOS
701701
===================================
702702

703703
Python-oracledb is available as a Universal binary for Python 3.8, or later, on
704-
Apple Intel and Apple Silicon (M1, M2, M3) architectures. A binary is also
705-
available for Python 3.7 on Apple Intel.
704+
Apple macOS Intel x86-64 and Apple macOS ARM64 (M1, M2, M3) architectures. A
705+
binary is also available for Python 3.7 on Apple Intel x86-64.
706706

707707
Install python-oracledb
708708
-----------------------
@@ -741,38 +741,66 @@ Optionally Install Oracle Client
741741
By default, python-oracledb runs in a Thin mode which connects directly to
742742
Oracle Database so no further installation steps are required. However, to use
743743
additional features available in :ref:`Thick mode <featuresummary>` you need
744-
Oracle Client libraries installed. Note that to use Thick mode on Apple
745-
Silicon (M1, M2, M3) you will need to use Rosetta with Python 64-bit Intel and
746-
the Instant Client (Intel x86) libraries.
744+
Oracle Client libraries installed.
747745

748-
Manual Installation
749-
+++++++++++++++++++
746+
You can get the libraries from either the Oracle Instant Client **Basic** or
747+
**Basic Light** package. The steps below show installing **Basic**.
750748

751-
* Download the **Basic** 64-bit DMG from `Oracle
752-
<https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html>`__.
749+
Instant Client Scripted Installation on macOS ARM64
750+
+++++++++++++++++++++++++++++++++++++++++++++++++++
751+
752+
Instant Client installation can be scripted. Open a terminal window and run:
753+
754+
.. code-block:: shell
755+
756+
cd $HOME/Downloads
757+
curl -O https://download.oracle.com/otn_software/mac/instantclient/233023/instantclient-basic-macos.arm64-23.3.0.23.09.dmg
758+
hdiutil mount instantclient-basic-macos.arm64-23.3.0.23.09.dmg
759+
/Volumes/instantclient-basic-macos.arm64-23.3.0.23.09/install_ic.sh
760+
hdiutil unmount /Volumes/instantclient-basic-macos.arm64-23.3.0.23.09
761+
762+
Note you should use the latest DMG available.
763+
764+
If you have multiple Instant Client DMG packages mounted, you only need to run
765+
``install_ic.sh`` once. It will copy all mounted Instant Client DMG packages at
766+
the same time.
767+
768+
The Instant Client directory will be like
769+
``$HOME/Downloads/instantclient_23_3``. Applications may not have access to
770+
the ``Downloads`` directory, so you should move Instant Client somewhere
771+
convenient.
772+
773+
Instant Client Manual Installation on macOS ARM64
774+
+++++++++++++++++++++++++++++++++++++++++++++++++
775+
776+
* Download the latest Instant Client **Basic** ARM64 package DMG from `Oracle
777+
<https://www.oracle.com/database/technologies/instant-client/macos-arm64-
778+
downloads.html>`__.
753779

754780
* Using Finder, double-click the DMG to mount it.
755781

756-
* Open a terminal window and run the install script in the mounted package, for example:
782+
* Open a terminal window and run the install script in the mounted package,
783+
for example if you downloaded version 23.3:
757784

758785
.. code-block:: shell
759786
760-
/Volumes/instantclient-basic-macos.x64-19.16.0.0.0dbru/install_ic.sh
787+
/Volumes/instantclient-basic-macos.arm64-23.3.0.23.09/install_ic.sh
761788
762-
This copies the contents to ``$HOME/Downloads/instantclient_19_16``.
763-
Applications may not have access to the ``Downloads`` directory, so you
764-
should move Instant Client somewhere convenient.
789+
The Instant Client directory will be like
790+
``$HOME/Downloads/instantclient_23_3``. Applications may not have access to
791+
the ``Downloads`` directory, so you should move Instant Client somewhere
792+
convenient.
765793

766794
* Using Finder, eject the mounted Instant Client package.
767795

768796
If you have multiple Instant Client DMG packages mounted, you only need to run
769-
``install_ic.sh`` once. It will copy all mounted Instant Client DMG packages at
770-
the same time.
797+
``install_ic.sh`` once. It will copy all mounted Instant Client DMG packages
798+
at the same time.
771799

772-
Scripted Installation
773-
+++++++++++++++++++++
800+
Instant Client Scripted Installation on macOS Intel x86-64
801+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
774802

775-
Instant Client installation can alternatively be scripted, for example:
803+
Instant Client installation can be scripted. Open a terminal window and run:
776804

777805
.. code-block:: shell
778806
@@ -782,20 +810,54 @@ Instant Client installation can alternatively be scripted, for example:
782810
/Volumes/instantclient-basic-macos.x64-19.16.0.0.0dbru/install_ic.sh
783811
hdiutil unmount /Volumes/instantclient-basic-macos.x64-19.16.0.0.0dbru
784812
813+
Note you should use the latest DMG available.
814+
815+
If you have multiple Instant Client DMG packages mounted, you only need to run
816+
``install_ic.sh`` once. It will copy all mounted Instant Client DMG packages at
817+
the same time.
818+
785819
The Instant Client directory will be ``$HOME/Downloads/instantclient_19_16``.
786820
Applications may not have access to the ``Downloads`` directory, so you should
787821
move Instant Client somewhere convenient.
788822

823+
Instant Client Manual Installation on macOS Intel x86-64
824+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
825+
826+
* Download the latest Instant Client **Basic** Intel 64-bit package DMG from
827+
`Oracle <https://www.oracle.com/database/technologies/instant-client/macos-
828+
intel-x86-downloads.html>`__.
829+
830+
* Using Finder, double-click the DMG to mount it.
831+
832+
* Open a terminal window and run the install script in the mounted package, for example:
833+
834+
.. code-block:: shell
835+
836+
/Volumes/instantclient-basic-macos.x64-19.16.0.0.0dbru/install_ic.sh
837+
838+
The Instant Client directory will be ``$HOME/Downloads/instantclient_19_16``.
839+
Applications may not have access to the ``Downloads`` directory, so you
840+
should move Instant Client somewhere convenient.
841+
842+
* Using Finder, eject the mounted Instant Client package.
843+
844+
If you have multiple Instant Client DMG packages mounted, you only need to run
845+
``install_ic.sh`` once. It will copy all mounted Instant Client DMG packages at
846+
the same time.
847+
789848
Configure Oracle Instant Client
790849
-------------------------------
791850

851+
Your application must load the installed Oracle Instant Client libraries. It
852+
can optionally indicate external configuration files.
853+
792854
1. Call :meth:`oracledb.init_oracle_client()` in your application:
793855

794856
.. code-block:: python
795857
796858
import oracledb
797859
798-
oracledb.init_oracle_client(lib_dir="/Users/your_username/Downloads/instantclient_19_16")
860+
oracledb.init_oracle_client(lib_dir="/Users/your_username/Downloads/instantclient_23_3")
799861
800862
2. If you use optional Oracle configuration files such as ``tnsnames.ora``,
801863
``sqlnet.ora``, or ``oraaccess.xml`` with Oracle Instant Client, then put the
@@ -806,14 +868,14 @@ Configure Oracle Instant Client
806868
807869
import oracledb
808870
809-
oracledb.init_oracle_client(lib_dir="/Users/your_username/Downloads/instantclient_19_16",
871+
oracledb.init_oracle_client(lib_dir="/Users/your_username/Downloads/instantclient_23_3",
810872
config_dir="/Users/your_username/oracle/your_config_dir")
811873
812874
Or set the environment variable ``TNS_ADMIN`` to that directory name.
813875

814876
Alternatively, put the files in the ``network/admin`` subdirectory of Oracle
815877
Instant Client, for example in
816-
``/Users/your_username/Downloads/instantclient_19_16/network/admin``. This is the
878+
``/Users/your_username/Downloads/instantclient_23_3/network/admin``. This is the
817879
default Oracle configuration directory for executables linked with this
818880
Instant Client.
819881

0 commit comments

Comments
 (0)