Hi folks ![]()
Thought I would post here to make this easy to link in case anyone else has this issue in future
I have been using django-docker-box to run some oracle tests and have gotten the following error:
Testing against Django installed in '/django/source/django' with up to 12 processes
Found 1 test(s).
Creating test database for alias 'default'...
Traceback (most recent call last):
File "/django/source/django/db/backends/base/base.py", line 279, in ensure_connection
self.connect()
~~~~~~~~~~~~^^
File "/django/source/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/django/source/django/db/backends/base/base.py", line 256, in connect
self.connection = self.get_new_connection(conn_params)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/django/source/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/django/source/django/db/backends/oracle/base.py", line 304, in get_new_connection
return Database.connect(
~~~~~~~~~~~~~~~~^
user=self.settings_dict["USER"],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
**conn_params,
^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/site-packages/oracledb/connection.py", line 1698, in connect
return conn_class(dsn=dsn, pool=pool, params=params, **kwargs)
File "/usr/local/lib/python3.14/site-packages/oracledb/connection.py", line 892, in __init__
impl.connect(params_impl)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "src/oracledb/impl/thin/connection.pyx", line 526, in oracledb.thin_impl.ThinConnImpl.connect
File "src/oracledb/impl/thin/connection.pyx", line 522, in oracledb.thin_impl.ThinConnImpl.connect
File "src/oracledb/impl/thin/connection.pyx", line 465, in oracledb.thin_impl.ThinConnImpl._connect_with_params
File "src/oracledb/impl/thin/connection.pyx", line 446, in oracledb.thin_impl.ThinConnImpl._connect_with_description
File "src/oracledb/impl/thin/connection.pyx", line 415, in oracledb.thin_impl.ThinConnImpl._connect_with_address
File "src/oracledb/impl/thin/protocol.pyx", line 368, in oracledb.thin_impl.Protocol._connect_phase_two
File "src/oracledb/impl/thin/protocol.pyx", line 494, in oracledb.thin_impl.Protocol._process_message
File "src/oracledb/impl/thin/messages/base.pyx", line 102, in oracledb.thin_impl.Message._check_and_raise_exception
oracledb.exceptions.DatabaseError: ORA-28001: The account has expired. The password must be changed.
Help: https://docs.oracle.com/error-help/db/ora-28001/
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/django/source/tests/runtests.py", line 782, in <module>
failures = django_tests(
options.verbosity,
...<16 lines>...
getattr(options, "durations", None),
)
File "/django/source/tests/runtests.py", line 409, in django_tests
failures = test_runner.run_tests(test_labels)
File "/django/source/django/test/runner.py", line 1126, in run_tests
old_config = self.setup_databases(
aliases=databases,
serialized_aliases=suite.serialized_aliases,
)
File "/django/source/django/test/runner.py", line 1025, in setup_databases
return _setup_databases(
self.verbosity,
...<5 lines>...
**kwargs,
)
File "/django/source/django/test/utils.py", line 206, in setup_databases
connection.creation.create_test_db(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
verbosity=verbosity,
^^^^^^^^^^^^^^^^^^^^
autoclobber=not interactive,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
keepdb=keepdb,
^^^^^^^^^^^^^^
)
^
File "/django/source/django/db/backends/base/creation.py", line 75, in create_test_db
self._create_test_db(verbosity, autoclobber, keepdb)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/django/source/django/db/backends/oracle/creation.py", line 33, in _create_test_db
with self._maindb_connection.cursor() as cursor:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/django/source/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/django/source/django/db/backends/base/base.py", line 320, in cursor
return self._cursor()
~~~~~~~~~~~~^^
File "/django/source/django/db/backends/base/base.py", line 296, in _cursor
self.ensure_connection()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/django/source/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/django/source/django/db/backends/base/base.py", line 278, in ensure_connection
with self.wrap_database_errors:
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/django/source/django/db/utils.py", line 94, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/django/source/django/db/backends/base/base.py", line 279, in ensure_connection
self.connect()
~~~~~~~~~~~~^^
File "/django/source/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/django/source/django/db/backends/base/base.py", line 256, in connect
self.connection = self.get_new_connection(conn_params)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/django/source/django/utils/asyncio.py", line 26, in inner
return func(*args, **kwargs)
File "/django/source/django/db/backends/oracle/base.py", line 304, in get_new_connection
return Database.connect(
~~~~~~~~~~~~~~~~^
user=self.settings_dict["USER"],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
**conn_params,
^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/site-packages/oracledb/connection.py", line 1698, in connect
return conn_class(dsn=dsn, pool=pool, params=params, **kwargs)
File "/usr/local/lib/python3.14/site-packages/oracledb/connection.py", line 892, in __init__
impl.connect(params_impl)
~~~~~~~~~~~~^^^^^^^^^^^^^
File "src/oracledb/impl/thin/connection.pyx", line 526, in oracledb.thin_impl.ThinConnImpl.connect
File "src/oracledb/impl/thin/connection.pyx", line 522, in oracledb.thin_impl.ThinConnImpl.connect
File "src/oracledb/impl/thin/connection.pyx", line 465, in oracledb.thin_impl.ThinConnImpl._connect_with_params
File "src/oracledb/impl/thin/connection.pyx", line 446, in oracledb.thin_impl.ThinConnImpl._connect_with_description
File "src/oracledb/impl/thin/connection.pyx", line 415, in oracledb.thin_impl.ThinConnImpl._connect_with_address
File "src/oracledb/impl/thin/protocol.pyx", line 368, in oracledb.thin_impl.Protocol._connect_phase_two
File "src/oracledb/impl/thin/protocol.pyx", line 494, in oracledb.thin_impl.Protocol._process_message
File "src/oracledb/impl/thin/messages/base.pyx", line 102, in oracledb.thin_impl.Message._check_and_raise_exception
django.db.utils.DatabaseError: ORA-28001: The account has expired. The password must be changed.
Help: https://docs.oracle.com/error-help/db/ora-28001/
I have been trying to run some SQL to unlock the users but without success. Has anyone come across this before?