@@ -899,8 +899,16 @@ If using python-oracledb fails:
899
899
- If you have multiple versions of Python installed, ensure that you are
900
900
using the correct python and pip (or python3 and pip3) executables.
901
901
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
+
902
910
- If you get the error ``DPI-1047: Oracle Client library cannot be
903
- loaded ``:
911
+ loaded `` then :
904
912
905
913
- Review the :ref: `features available in python-oracledb's default Thin mode
906
914
<featuresummary>`. If Thin mode suits your requirements, then remove calls
@@ -958,17 +966,53 @@ If using python-oracledb fails:
958
966
file in the ``/etc/ld.so.conf.d `` directory contains the path to the
959
967
Instant Client directory, and then run ``ldconfig ``.
960
968
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
964
972
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.
967
975
968
976
- 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