Confluence Startup Failed or Scheduled Job Failed Due to ORA-28001
Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.
Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Symptoms
Normal Confluence functions or startup fails.
The following appears in the atlassian-confluence.log
:
1
2
3
ERROR [scheduler_Worker-6] [org.quartz.core.ErrorLogger] schedulerError Unable to notify JobListener(s) of Job to be executed: (Job will NOT be executed!). trigger= com.atlassian.confluence.plugins.confluence-edge-index.refreshSearcherJob job= com.atlassian.confluence.plugins.confluence-edge-index.refreshSearcherJob
Caused by: java.sql.SQLException: ORA-28001: the password has expired
Cause
The job scheduled to run the reindexing task is unable to authenticate against the Oracle database and thus fails.
Workaround
Manually flush items from the queue and force manual rebuild of the index.
Resolution
Verify that this is a permission issue
Run the following against the DB
1
SQL> SELECT username,account_status,expiry_date FROM dba_users;
Make sure that the user that is being used to authenticate had an ACCOUNT_STATUS of OPEN and an EXPIRY_DATE of null or a date far in the future
Obtain the credentials to alter this account
1
SQL> SELECT password from sys.user$ where name='<account_name>';
This gives us the password for the user we wish to change
Force the account status to 'OPEN' by resetting the password of a that user with no options
1
SYS> alter user <account_name> identified by values '<hash_value>';
Verify that your ACCOUNT_STATUS is set to open
1
SQL> SELECT username,account_status,expiry_date FROM dba_users;
Was this helpful?