客户生产环境的数据库不知什么原因突然挂了,无论怎么调整也不能启动监听器服务,用JDBC访问永远是访问不通,折腾了大半天终于忍无可忍,决定重新创建一个数据库实例,然后再恢复数据。
停下的应用服务,数据库,然后把原来的UCM数据库文件导入,启动UCM,发现UCM服务没法正常启动。从Admin Server查看日志,发现报如下错误:
.Unable to create result set for query ‘select * from CpdLinks where dCpdGuid=’0”. ORA-00942: table or view does not exist
ORA-00942: table or view does not exist
intradoc.common.ServiceException: !csDbUnableToCreateResultSet,select * from CpdLinks where dCpdGuid=’0′!$ORA-00942: table or view does not exist
at intradoc.server.IdcServerManager.init(IdcServerManager.java:148)
at IdcServer.init(IdcServer.java:64)
at IdcServer.main(IdcServer.java:37)
Caused by: intradoc.data.DataException: !csDbUnableToCreateResultSet,select * from CpdLinks where dCpdGuid=’0′!$ORA-00942: table or view does not exist
at intradoc.jdbc.JdbcWorkspace.createResultSetSQL(JdbcWorkspace.java:826)
at folios.FolioInstallFilter.contentFoliosUpgrade(FolioInstallFilter.java:385)
at folios.FolioInstallFilter.doFilter(FolioInstallFilter.java:62)
at intradoc.shared.PluginFilters.filter(PluginFilters.java:92)
at intradoc.server.IdcExtendedLoader.executeFilter(IdcExtendedLoader.java:285)
at intradoc.server.IdcExtendedLoader.extraBeforeCacheLoadInit(IdcExtendedLoader.java:255)
at intradoc.server.IdcSystemLoader.loadCaches(IdcSystemLoader.java:928)
at intradoc.server.IdcServerManager.init(IdcServerManager.java:79)
… 2 more
Caused by: java.sql.SQLException: ORA-00942: table or view does not exist
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:207)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:790)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1037)
at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:830)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
at oracle.jdbc.driver.OracleStatement.doScrollExecuteCommon(OracleStatement.java:4051)
at oracle.jdbc.driver.OracleStatement.doScrollStmtExecuteQuery(OracleStatement.java:4191)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1279)
at intradoc.jdbc.JdbcWorkspace.createResultSetSQL(JdbcWorkspace.java:802)
… 9 more
从另外一台机器看UCM系统的数据库,又找不到这个表。奇怪了,只好一个个校对,后来突然发现恢复的UCM系统启用了Folio组件,会不会是这个影响呢?在组件管理把Content Folio功能禁用,重新启动UCM服务,果然顺利启动。
解决方法:
1. Open a connection to the content server’s database schema using SQL Developer, SQL+, etc.
2. Delete the record in the config table that has a dName value of ContentFolios
3.Drop all the database tables that start with Cpd if they exist
CpdArchivedLinks
CpdBasketLinks
CpdChangeHistory
CpdLinks
4.Reinstall the ContentFolios component on the content server
5.Restart the content server