fbpx
+55 (11) 4506-3239

7 fev 2011

Erro java.sql.SQLException: ORA-04063 ao subir o portal

//
Comments0

Uma das etapas da migração é a cópia dos bancos JCR e CUSTOMIZATION do portal de origem 6.0.x para o portal de destino 6.1.x.
Estas duas bases irão substituir as atuais bases do portal 6.1.x. O processo de migração irá atualizar as atuais bases de origem 6.0.x para a nova versão 6.1.x.

Após a cópia das bases para o novo portal, me deparei com o seguinte erro ao subir o portal 6.1:

java.sql.SQLException: 0ORA-04063: view “JCR_PORTAL60.ICMSTJCRL0001″ has errors

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:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:810)
 at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
 at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:850)
 at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1134)
 at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3339)
 at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3384)
 at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteQuery(WSJdbcPreparedStatement.java:1028)
 at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java:678)
 at com.ibm.icm.da.portable.common.sql.PPreparedStatement.executeQuery(PPreparedStatement.java:83)
 at com.ibm.icm.da.portable.data.GetLinks.getLinkInfoForNodeByPath(GetLinks.java:1261)
 at com.ibm.icm.da.portable.data.GetLinks.getLinksByPath(GetLinks.java:324)
 at com.ibm.icm.da.portable.data.GetLinks.getLinks1(GetLinks.java:239)
 at com.ibm.icm.da.portable.data.GetLinks.getLinks(GetLinks.java:181)
 at com.ibm.icm.da.portable.data.GetLinks.getLinks(GetLinks.java:110)
 at com.ibm.icm.da.portable.data.DataManager.getLinks(DataManager.java:746)
 at com.ibm.icm.ci.data.impl.PathService._executeGetLinks(PathService.java:1360)
 at com.ibm.icm.ci.data.impl.PathService._getLinks(PathService.java:1296)
 atcom.ibm.icm.ci.data.impl.PathService._getItemsOnPathList(PathService.java:1028)
 at com.ibm.icm.ci.data.impl.PathService.retrieveContent(PathService.java:839)
 at com.ibm.icm.ci.data.impl.PathService.retrieveContent(PathService.java:788)
 at com.ibm.icm.jcr.NodeImpl.getNode(NodeImpl.java:1077)
 at com.ibm.icm.jcr.WorkspaceImpl.getNodeByAbsPath(WorkspaceImpl.java:2362)
at com.ibm.workplace.wcm.services.repository.RepositoryServiceImpl.getNodeByAbsPath(RepositoryServiceImpl.java:521)
 at com.ibm.workplace.wcm.services.repository.RepositoryServiceImpl.getNodeByAbsPath(RepositoryServiceImpl.java:500)
 at com.ibm.workplace.wcm.services.library.LibraryServiceImpl.initLibraryCategories(LibraryServiceImpl.java:2280)
 at com.ibm.workplace.wcm.services.library.LibraryServiceImpl.init(LibraryServiceImpl.java:239)
 at com.ibm.workplace.wcm.services.ServiceManager.getLibraryService(ServiceManager.java:255)
 at com.ibm.workplace.wcm.services.ServiceManager.initialiseServices(ServiceManager.java:111)
 at com.presence.connect.Connect.init(Connect.java:524)

O problema

No SystemOut.log já é possível verificar erro “0ORA-04063: view “JCR_PORTAL60.ICMSTJCRL0001″ has errors” Veja que o problema está ocorrendo no shema JCR_PORTL60. Este shema é uma cópia do shema JCR do portal 6.0. Esta view em questão não possui privilégios para compilação. Em banco de dados Oracle, quando se faz a cópia de um shema para outro shema, é necessário que a cópia de origem tenha o mesmo nome do shema de destino.
Exemplo: No shema de origem, Portal 6.0.x, o shema JCR chama-se JCR, porém a cópia desse shema foi feito com o nome JCR_PORTL60. Ao iniciar o portal, o erro é gerado devido a falta de permissão na compilação da view.

Solução

Copiar novamente o shema JCR do portal 6.0.x para o portal 6.1.x como JCR e não como JCR_PORTAL60.
Executar novamente os comandos “./ConfigEngine.sh connect-database-jcr-migration” e “./ConfigEngine.sh create-wcm-persistence-tables“.