@@ -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
703703Python-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
707707Install python-oracledb
708708-----------------------
@@ -741,38 +741,66 @@ Optionally Install Oracle Client
741741By default, python-oracledb runs in a Thin mode which connects directly to
742742Oracle Database so no further installation steps are required. However, to use
743743additional 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
768796If 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+
785819The Instant Client directory will be ``$HOME/Downloads/instantclient_19_16 ``.
786820Applications may not have access to the ``Downloads `` directory, so you should
787821move 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+
789848Configure 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+
7928541. 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