Total Pageviews

Monday, August 22, 2016

oif JNDI conftmpdatastore password expired JDBC error

 error

 <Warning> <JDBC> <oifserver> <Thread-34> <<anonymous>> <> <0000LQpE4yX8hoWzLwmJOA1NivGU000003> <1471920629058> <BEA-0011
29> <Received exception while creating connection for pool "conftmpdatastore": ORA-28001: the password has expired

 <Info> <JDBC> <oifserver>  <Thread-34> <<anonymous>> <> <0000LQpE4yX8hoWzLwmJOA1NivGU000003> <1471920629060> <BEA-001156>
 <Stack trace associated with message 001129 follows:

java.sql.SQLException: ORA-28001: the password has expired

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:462)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:397)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:389)
        at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:689)
        at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:452)
        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:481)
        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:205)
        at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:384)
        at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:811)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:411)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:678)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:238)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:567)
        at weblogic.jdbc.common.internal.ConnectionEnvFactory.makeConnection(ConnectionEnvFactory.java:357)
        at weblogic.jdbc.common.internal.ConnectionEnvFactory.createResource(ConnectionEnvFactory.java:239)
        at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1310)
        at weblogic.common.resourcepool.ResourcePoolImpl.makeResources(ResourcePoolImpl.java:1227)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal(ResourcePoolImpl.java:451)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:343)
        at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:330)
        at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:469)
        at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:363)
        at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:125)
        at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiDataSource.java:454)
        at weblogic.jdbc.common.internal.RmiDataSource.getConnectionInternal(RmiDataSource.java:538)
        at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:498)
        at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:491)
        at oracle.security.fed.model.util.rdbms.RDBMSConnectionManager.getConnection(RDBMSConnectionManager.java:210)
        at oracle.security.fed.util.config.RDBMSConfiguration.getValue(RDBMSConfiguration.java:97)
        at oracle.security.fed.util.config.RDBMSConfiguration.getVersion(RDBMSConfiguration.java:85)


solution:

1.   log into database as power user (sysdba) and find which password is expired by running following command.

select username, account_status, lock_date from dba_usersl


check if any account have account_status as EXPIRED.

you will see one of the account with EXPIRED status.


2. run following command as sysdba to change the password.

alter user "name of the user" identified by "password of the user"


optional:
if you want to have this password never expired, run following command

1. find default profile of the user

select username,profile from dba_users;

2. alter profile "name of the profile" limit PASSWORD_LIFE_TIME UNLIMITED;


No comments:

Post a Comment