Skip to content

Commit 1592d81

Browse files
Improved documentation.
1 parent 1212c44 commit 1592d81

File tree

3 files changed

+65
-22
lines changed

3 files changed

+65
-22
lines changed

doc/src/api_manual/module.rst

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,15 +1317,6 @@ General
13171317
String constant stating the supported DB API level. Currently '2.0'.
13181318

13191319

1320-
.. data:: buildtime
1321-
1322-
String constant stating the time when the binary was built.
1323-
1324-
.. note::
1325-
1326-
This constant is an extension to the DB API definition.
1327-
1328-
13291320
.. data:: paramstyle
13301321

13311322
String constant stating the type of parameter marker formatting expected by

doc/src/user_guide/appendix_a.rst

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,18 @@ see :ref:`driverdiff` and :ref:`compatibility`.
8686
- No
8787
- Yes
8888
- Yes
89+
* - Lightweight Directory Access Protocol (LDAP) connections
90+
- No
91+
- Yes
92+
- Yes
8993
* - Proxy connections (see :ref:`proxyauth`)
9094
- Yes
9195
- Yes
9296
- Yes
97+
* - Socket Secure (SOCKS) Proxy connections
98+
- No
99+
- No
100+
- No
93101
* - Connection mode privileges (see :ref:`connection-authorization-modes`)
94102
- Yes
95103
- Yes - only :data:`~oracledb.AUTH_MODE_SYSDBA` is supported
@@ -114,7 +122,7 @@ see :ref:`driverdiff` and :ref:`compatibility`.
114122
- No
115123
- Yes - No TIMESTAMP support
116124
- Yes - No TIMESTAMP support
117-
* - Oracle Database Native Network Encryption (see :ref:`nne`)
125+
* - Oracle Database Native Network Encryption (NNE) (see :ref:`nne`)
118126
- No
119127
- Yes
120128
- Yes

doc/src/user_guide/installation.rst

Lines changed: 56 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -899,8 +899,16 @@ If using python-oracledb fails:
899899
- If you have multiple versions of Python installed, ensure that you are
900900
using the correct python and pip (or python3 and pip3) executables.
901901

902+
- If ``import oracledb`` gives a warning like ``Python 3.6 is no longer
903+
supported by the Python core team. Therefore, support for it is deprecated in
904+
python-oracledb and will be removed in a future release`` then plan to
905+
upgrade Python. You can temporarily suppress the warning by importing the
906+
`warnings <https://docs.python.org/3/library/warnings.html>`__ module and
907+
adding a call like ``warnings.filterwarnings(action='ignore',
908+
module="oracledb")`` *before* importing ``oracledb``.
909+
902910
- If you get the error ``DPI-1047: Oracle Client library cannot be
903-
loaded``:
911+
loaded`` then:
904912

905913
- Review the :ref:`features available in python-oracledb's default Thin mode
906914
<featuresummary>`. If Thin mode suits your requirements, then remove calls
@@ -958,17 +966,53 @@ If using python-oracledb fails:
958966
file in the ``/etc/ld.so.conf.d`` directory contains the path to the
959967
Instant Client directory, and then run ``ldconfig``.
960968

961-
- If you get the error ``DPY-3010: connections to this database server
962-
version are not supported by python-oracledb in thin mode`` when
963-
connecting to Oracle Database 11.2, then you need to enable Thick mode by
969+
- If you get the error ``DPY-3010: connections to this database server version
970+
are not supported by python-oracledb in thin mode`` when connecting to Oracle
971+
Database 11.2, then you need to enable python-oracledb's Thick mode by
964972
installing Oracle Client libraries and calling
965-
:meth:`oracledb.init_oracle_client()` in your code. Alternatively,
966-
upgrade your database.
973+
:meth:`oracledb.init_oracle_client()` in your code. Alternatively, upgrade
974+
your database.
967975

968976
- If you get the error ``DPI-1072: the Oracle Client library version is
969-
unsupported``, then review the installation requirements. The Thick
970-
mode of python-oracledb needs Oracle Client libraries 11.2 or later.
971-
Note that version 19 is not supported on Windows 7. Similar steps shown
972-
above for ``DPI-1047`` may help. You may be able to use Thin mode which
973-
can be done by removing calls :meth:`oracledb.init_oracle_client()` from
974-
your code.
977+
unsupported``, then review the installation requirements. The Thick mode of
978+
python-oracledb needs Oracle Client libraries 11.2 or later. Note that
979+
version 19 is not supported on Windows 7. Similar steps shown above for
980+
``DPI-1047`` may help. You may be able to use python-oracledb Thin mode
981+
which can be done by removing calls :meth:`oracledb.init_oracle_client()`
982+
from your code.
983+
984+
- If you get the error ``DPY-3015: password verifier type 0x939 is not
985+
supported by python-oracledb in thin mode``, then either :ref:`enable Thick
986+
mode <enablingthick>` or:
987+
988+
1. Make sure the database initialization parameter
989+
``sec_case_sensitive_logon`` is not FALSE. To check the value, connect as
990+
SYSDBA in SQL*Plus and run ``show parameter sec_case_sensitive_logon``.
991+
Note this parameter has been `removed in Oracle Database 21c
992+
<https://docs.oracle.com/en/database/oracle/oracle-database/21/nfcon/security-solutions.html#GUID-FAF4C7A6-A2CD-4B9B-9A64-3705F693ECF0>`__
993+
so only step 2 is required for this, or subsequent, database versions.
994+
995+
2. Regenerate passwords for users who have old password verifiers. You can
996+
find such users with the query:
997+
998+
.. code-block:: sql
999+
1000+
select username from dba_users
1001+
where (password_versions = '10G ' or password_versions = '10G HTTP ')
1002+
and username <> 'ANONYMOUS';
1003+
1004+
You can reset passwords for these users with commands like ``alter user
1005+
x identified by y``.
1006+
1007+
See the Oracle documentation `Finding and Resetting User Passwords That Use
1008+
the 10G Password Version
1009+
<https://www.oracle.com/pls/topic/lookup?ctx=dblatest&id=GUID-D7B09DFE-F55D-449A-8F8A-174D89936304>`__
1010+
for more information.
1011+
1012+
- If you get the error ``DPY-4011: the database or network closed the
1013+
connection`` in python-oracledb's default Thin mode, check if the database
1014+
requires the use of Native Network Encryption (NNE). The python-oracledb
1015+
documentation on :ref:`nne` shows a query from V$SESSION_CONNECT_INFO and
1016+
sample output to confirm this. To resolve the error, either change the
1017+
architecture to use TLS instead of NNE, or :ref:`enable python-oracledb Thick
1018+
mode <enablingthick>`.

0 commit comments

Comments
 (0)