2 Replies Latest reply on Mar 16, 2017 3:19 PM by jflack

    ords is not getting started on standalone. It shows error as account is locked or expired.. Please guide me.

    Ajit Ladgaonkar

      Hi all,

       

                     Whenever I tried to execute the command as        java -jar ords.war standalone --port 8080 --apex-images C:/DevPrograms/ords/images  . It gives me below error. Please tell me that what should I do to resolve this error

       

       

      2017-03-03 19:49:47.202:INFO:/ords:main: FINEST: |ApplicationContext [configurationFolder=C:\ords\ords, services=Application Scope]|

      Mar 03, 2017 7:49:47 PM

      INFO: Validating pool: |apex||

      Mar 03, 2017 7:49:47 PM

      SEVERE: The username or password for the connection pool named apex, are invalid, expired, or the account is locked

      oracle.dbtools.common.jdbc.ConnectionPoolConfigurationException: The username or password for the connection pool named apex, are invalid, expired, or the account is locked

              at oracle.dbtools.common.config.db.DatabasePools.validateConnection(DatabasePools.java:427)

              at oracle.dbtools.common.config.db.DatabasePools.access$100(DatabasePools.java:61)

              at oracle.dbtools.common.config.db.DatabasePools$1.call(DatabasePools.java:306)

              at oracle.dbtools.common.config.db.DatabasePools$1.call(DatabasePools.java:297)

              at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4742)

              at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)

              at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)

              at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)

              at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)

              at com.google.common.cache.LocalCache.get(LocalCache.java:3937)

              at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4739)

              at oracle.dbtools.common.config.db.DatabasePools.load(DatabasePools.java:296)

              at oracle.dbtools.common.config.db.DatabasePools.databasePool(DatabasePools.java:244)

              at oracle.dbtools.common.config.db.DatabasePools.isValid(DatabasePools.java:130)

              at oracle.dbtools.common.config.db.DatabasePools.validatePool(DatabasePools.java:441)

              at oracle.dbtools.common.config.db.DatabasePools.access$700(DatabasePools.java:61)

              at oracle.dbtools.common.config.db.DatabasePools$PoolConfigurationListener.configurationChanged(DatabasePools.java:502)

              at oracle.dbtools.common.config.file.ConfigurationFilesBase.addListener(ConfigurationFilesBase.java:79)

              at oracle.dbtools.common.config.file.ConfigurationFilesProvider.addListener(ConfigurationFilesProvider.java:21)

              at oracle.dbtools.common.config.db.DatabasePools.listenForConfChanges(DatabasePools.java:286)

              at oracle.dbtools.common.config.db.DatabasePools.activate(DatabasePools.java:93)

              at oracle.dbtools.common.activation.Activator.activate(Activator.java:60)

              at oracle.dbtools.common.activation.Activatables.activate(Activatables.java:37)

              at oracle.dbtools.common.di.Singletons.get(Singletons.java:113)

              at oracle.dbtools.common.di.ServiceFactory.newInstance(ServiceFactory.java:51)

              at oracle.dbtools.common.di.Services._acquireAll(Services.java:329)

              at oracle.dbtools.common.di.Services.acquire(Services.java:195)

              at oracle.dbtools.common.di.Services.acquire(Services.java:175)

              at oracle.dbtools.common.jdbc.provider.LegacyDataSourceTargets.setup(LegacyDataSourceTargets.java:31)

              at oracle.dbtools.rt.web.SCListener.contextInitialized(SCListener.java:109)

              at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)

              at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:446)

              at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:792)

              at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:296)

              at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:744)

              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

              at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)

              at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)

              at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)

              at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:154)

              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

              at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)

              at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)

              at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)

              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

              at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)

              at org.eclipse.jetty.server.Server.start(Server.java:357)

              at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)

              at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:60)

              at org.eclipse.jetty.server.Server.doStart(Server.java:324)

              at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

              at oracle.dbtools.standalone.StandaloneJetty.start(StandaloneJetty.java:240)

              at oracle.dbtools.standalone.Standalone.execute(Standalone.java:449)

              at oracle.dbtools.cmdline.Commands.execute(Commands.java:195)

              at oracle.dbtools.cmdline.Commands.main(Commands.java:179)

              at oracle.dbtools.cmdline.Commands.main(Commands.java:348)

              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

              at java.lang.reflect.Method.invoke(Unknown Source)

              at oracle.dbtools.jarcl.Entrypoint.main(Entrypoint.java:58)

      Caused by: java.sql.SQLException: ORA-01017: invalid username/password; logon denied

       

       

              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)

              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392)

              at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385)

              at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1018)

              at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:501)

              at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:522)

              at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)

              at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:437)

              at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:954)

              at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:639)

              at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:666)

              at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)

              at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:566)

              at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:317)

              at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:241)

              at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:184)

              at oracle.dbtools.common.config.db.ValidatedConnection.validate(ValidatedConnection.java:74)

              at oracle.dbtools.common.config.db.ValidatedConnection.<init>(ValidatedConnection.java:28)

              at oracle.dbtools.common.config.db.DatabasePools.validateConnection(DatabasePools.java:422)

              ... 60 more

       

       

      Mar 03, 2017 7:49:48 PM

      SEVERE: *** Pool: |apex|| is not correctly configured and will be ignored ***

      Mar 03, 2017 7:49:48 PM

      INFO: Validating pool: |apex|al|

      Mar 03, 2017 7:49:48 PM

      INFO: Pool: |apex|al| is correctly configured

      Mar 03, 2017 7:49:48 PM

      INFO: Validating pool: |apex|pu|

      Mar 03, 2017 7:49:48 PM

      INFO: Pool: |apex|pu| is correctly configured

      Mar 03, 2017 7:49:48 PM

      INFO: Validating pool: |apex|rt|

      Mar 03, 2017 7:49:48 PM

      INFO: Pool: |apex|rt| is correctly configured

      config.dir

      2017-03-03 19:49:48.376:INFO:/ords:main: INFO: Oracle REST Data Services initialized|Oracle REST Data Services version : 3.0.9.348.07.16|Oracle REST Data Services server info: jetty/9.2.z-SNAPSHOT|

      2017-03-03 19:49:48.387:INFO:oejsh.ContextHandler:main: Started o.e.j.s.ServletContextHandler@5e5792a0{/ords,null,AVAILABLE}

      2017-03-03 19:49:48.397:INFO:oejsh.ContextHandler:main: Started o.e.j.s.h.ContextHandler@59f99ea{/i,null,AVAILABLE}

      2017-03-03 19:49:48.429:INFO:oejs.ServerConnector:main: Started ServerConnector@d8355a8{HTTP/1.1}{0.0.0.0:7780}

      2017-03-03 19:49:48.433:INFO:oejs.Server:main: Started @3762ms

        • 1. Re: ords is not getting started on standalone. It shows error as account is locked or expired.. Please guide me.
          Alexandra David-Oracle

          The password for APEX_PUBLIC_USER is no longer accurate.

           

          To be on the safe side, you should:

          - change the password on the DB for user APEX_PUBLIC_USER

          - test the password using sqlplus

          - change the password to the same value in ORDS configuration using:

          Modifying Oracle REST Data Services Properties (ORDS) / APEX Listener from the Command Line Using set-properties (Doc ID 1646276.1)

           

          Regards,

          Alexandra

          • 2. Re: ords is not getting started on standalone. It shows error as account is locked or expired.. Please guide me.
            jflack

            As of ORDS 3, ORDS does not require that APEX be enabled.  It now defaults to connecting as ORDS_PUBLIC_USER unless when you configure it, you tell it to use APEX.  And SQL Developer will create this user as part of configuring ORDS 3.

             

            However, the default behavior of Oracle 11g and beyond is to configure users with passwords that expire, and this is probably what happened to Ajit0202.  This is the default for security reasons, to force users to change their passwords every once in a while.  Unfortunately, for users that are actually used as proxies like ORDS_PUBLIC_USER and APEX_PUBLIC_USER, this can be a pain - especially since you have to change the ORDS configuration files in the application server running ords.war to give it the new password.

             

            What we did was to give users like ORDS_PUBLIC_USER a different profile than the DEFAULT profile that would be used for accounts like my personal account.  The "PROXY_SCHEMA_PROFILE" has "PASSWORD_LIFE_TIME" set to UNLIMITED.  Yes, not as secure, but we are think the tradeoff is worth it.