title: HP Autonomy TeamSite 7.3.2 - update details of database used
body: <p>When the Teamsite application is freshly installed, it allows keying in database details. However later when the database login information needs to be updated, TeamSite provides no interface nor documents for updating it.</p>
  
  <p>From my best effort, the most suspected place to be changed is:
  /usr/Interwoven/CommonServices/config/private/database.properties</p>
  
  <pre><code>#
  # database.properties.example
  #
  # Database connection information for Interwoven Registry Service.
  #
  
  # the development database schema connection info
  connection.driver_class=oracle.jdbc.driver.OracleDriver
  connection.url=jdbc:oracle:thin:@myhost:myport:myservicename
  connection.username=iwcommon
  connection.password=NBk8oBfFLHpwQ4AcM0+el8nr7qfObiBW
  
  database.type=oracle
  database.name=myservicename
  database.port=myport
  database.server=myhost
  
  # orm configuration.
  #
  # For Microsoft SQL Server: org.hibernate.dialect.SQLServerDialect
  # For Oracle:  org.hibernate.dialect.OracleDialect
  #
  orm.dialect=org.hibernate.dialect.OracleDialect
  
  #
  # updateSchemaOnStartup=&lt;true|false&gt;
  #
  # if true, then ORM synches the mapping files with the tables in the schema.
  # if false, existing schema is not changed.
  #
  #orm.updateSchemaOnStartup=false
  </code></pre>
  
  <p>I have to update it to another Oracle database server with different hostname and service name, but same password. However, authentication error is encountered upon completion of change and reboot. Here is the extracted common service log at /usr/Interwoven/ApplicationContainer/server/default/log/commonservice.log</p>
  
  <pre><code>2014-09-01 17:24:48,430 [http-0.0.0.0-8080-4] INFO  org.apache.cxf.phase.PhaseInterceptorChain () - Interceptor has thrown exception, unwinding now
  org.apache.cxf.interceptor.Fault: Invalid ServiceId/ClientId - Authentication failed
      at com.interwoven.wcm.service.framework.AuthenticationInterceptor.handleMessage(AuthenticationInterceptor.java:121)
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
      at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
      at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
      at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:283)
      at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:128)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:152)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      at java.lang.Thread.run(Thread.java:619)
  Caused by: com.interwoven.wcm.service.iwovregistry.common.ConfigException: Invalid ServiceId/ClientId - Authentication failed
      ... 28 more
  2014-09-01 17:24:48,444 [http-0.0.0.0-8080-4] WARN  org.hibernate.util.JDBCExceptionReporter () - SQL Error: 12505, SQLState: 66000
  2014-09-01 17:24:48,444 [http-0.0.0.0-8080-4] ERROR org.hibernate.util.JDBCExceptionReporter () - Listener refused the connection with the following error:
  ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
  
  2014-09-01 17:24:48,444 [http-0.0.0.0-8080-4] ERROR com.interwoven.wcm.service.iwovregistry.adaptors.AbstractBackupAdaptor () - Failed to get TeamSite serviceInfo or IRService home directory when obtaining CSFactory. 
  com.interwoven.wcm.service.iwovregistry.common.ConfigException: Exception while reading/writing from Database [ getServiceInfoByComponentName ]
      at com.interwoven.wcm.service.iwovregistry.adaptors.ServiceInfoAdaptor.getServiceInfoByComponentName(ServiceInfoAdaptor.java:674)
      at com.interwoven.wcm.service.iwovregistry.adaptors.AbstractBackupAdaptor.getFactory(AbstractBackupAdaptor.java:422)
      at com.interwoven.wcm.service.iwovregistry.adaptors.AbstractComponentManager.getCSClient(AbstractComponentManager.java:93)
      at com.interwoven.wcm.service.iwovregistry.adaptors.AuthenticateSessionStringAdaptor.authenticateSessionString(AuthenticateSessionStringAdaptor.java:58)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.interwoven.wcm.service.iwovregistry.adaptorlayer.AdaptorFactory.invokeAdaptor(AdaptorFactory.java:212)
      at com.interwoven.wcm.service.iwovregistry.servicelayer.ConfigServiceImpl.execute(ConfigServiceImpl.java:92)
      at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUserByClientId(AuthenticationInterceptor.java:417)
      at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUser(AuthenticationInterceptor.java:309)
      at com.interwoven.wcm.service.framework.AuthenticationInterceptor.handleMessage(AuthenticationInterceptor.java:114)
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
      at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
      at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
      at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:283)
      at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:128)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:152)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      at java.lang.Thread.run(Thread.java:619)
  Caused by: org.hibernate.exception.GenericJDBCException: Cannot open connection
      at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:126)
      at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:114)
      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449)
      at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
      at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142)
      at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85)
      at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1353)
      at com.interwoven.wcm.service.iwovregistry.adaptors.ServiceInfoAdaptor.getServiceInfoByComponentName(ServiceInfoAdaptor.java:658)
      ... 39 more
  Caused by: java.sql.SQLException: Listener refused the connection with the following error:
  ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
  
      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
      at oracle.jdbc.driver.PhysicalConnection.&lt;init&gt;(PhysicalConnection.java:531)
      at oracle.jdbc.driver.T4CConnection.&lt;init&gt;(T4CConnection.java:221)
      at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
      at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
      at java.sql.DriverManager.getConnection(DriverManager.java:582)
      at java.sql.DriverManager.getConnection(DriverManager.java:154)
      at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
      at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
      ... 44 more
  Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
  ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
  
      at oracle.net.ns.NSProtocol.connect(NSProtocol.java:385)
      at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
      ... 52 more
  2014-09-01 17:24:48,446 [http-0.0.0.0-8080-4] ERROR com.interwoven.wcm.service.framework.AuthenticationInterceptor () - Error while parsing incoming message for authentication
  com.interwoven.wcm.service.iwovregistry.common.ConfigException: java.lang.NullPointerException
      at com.interwoven.wcm.service.iwovregistry.adaptorlayer.AdaptorFactory.invokeAdaptor(AdaptorFactory.java:264)
      at com.interwoven.wcm.service.iwovregistry.servicelayer.ConfigServiceImpl.execute(ConfigServiceImpl.java:92)
          at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUserByClientId(AuthenticationInterceptor.java:417)
      at com.interwoven.wcm.service.framework.AuthenticationInterceptor.authenticateUser(AuthenticationInterceptor.java:309)
      at com.interwoven.wcm.service.framework.AuthenticationInterceptor.handleMessage(AuthenticationInterceptor.java:114)
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
      at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)
      at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:92)
      at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:283)
      at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:128)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:174)
      at org.apache.cxf.transport.servlet.AbstractCXFServlet.doPost(AbstractCXFServlet.java:152)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      at java.lang.Thread.run(Thread.java:619)
  Caused by: java.lang.NullPointerException
      at com.interwoven.wcm.service.iwovregistry.adaptors.AbstractComponentManager.getCSClient(AbstractComponentManager.java:94)
      at com.interwoven.wcm.service.iwovregistry.adaptors.AuthenticateSessionStringAdaptor.authenticateSessionString(AuthenticateSessionStringAdaptor.java:58)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.interwoven.wcm.service.iwovregistry.adaptorlayer.AdaptorFactory.invokeAdaptor(AdaptorFactory.java:212)
      ... 31 more
  </code></pre>
  
  <p>Appreciate if anyone knows the correct way of changing the database details. Moreover, I have no idea how is the password formed, so that would also be a problem later, as the policy of my company requires regular database password update. Thanks a lot!</p>