Escrito por

Pergunta Igor Lampa · Maio 9, 2024

Erro em consultas após migração de servidor de banco de dados

O nosso sistema funciona normalmente com a versão Iris 2023.2, porém foi necessário mudarmos de serviço de servidor cloud e ao migrar o banco para esse novo servidor e subir nossa aplicação começamos a receber alguns erros, que seguem abaixo:

Caused by: java.sql.SQLException: [SQLCODE: <-400>:<Ocorreu um erro fatal>]
11:12:26,663 INFO  [stdout] (http-/0.0.0.0:8443-17) [Location: <Prepare>]
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) [%msg: <Process 161341 failed to compile Cached Query Class%sqlcq.TGDB.cls789 with the following errors:  System:Instance: iris:IRIS, Namespace: TGDB, $Job: 16134111:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) ERRO #5475: Erro durante a compilação da rotina '%sqlcq.TGDB.cls789'.  Erros:  %sqlcq.TGDB.cls789.cls
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) ERROR: %sqlcq.TGDB.cls789.1(20) : <UNDEFINED>fplanar+9^%qaqplansave *pdict("version") : 
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) ERRO #5475: Erro durante a compilação da rotina '%sqlcq.TGDB.cls789'.  Erros:  %sqlcq.TGDB.cls789.cls
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) ERROR: %sqlcq.TGDB.cls789.1(20) : <UNDEFINED>fplanar+9^%qaqplansave *pdict("version") : >]
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.IRISConnection.getServerError(IRISConnection.java:978) ~[na:na]
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.IRISConnection.processError(IRISConnection.java:1123) ~[na:na]
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.InStream.readMessage(InStream.java:216) ~[na:na]
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.InStream.readMessage(InStream.java:183) ~[na:na]
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.IRISPreparedStatement.prepareInternal(IRISPreparedStatement.java:597) ~[na:na]
11:12:26,664 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.IRISPreparedStatement.prepare(IRISPreparedStatement.java:558) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.IRISPreparedStatement.<init>(IRISPreparedStatement.java:23) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.IRISConnection.getOrCreatePossiblyShardedIRISPreparedStatement(IRISConnection.java:1893) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.intersystems.jdbc.IRISConnection.prepareStatement(IRISConnection.java:1424) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_331]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_331]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at net.bull.javamelody.JdbcWrapper$ConnectionInvocationHandler.invoke(JdbcWrapper.java:189) ~[javamelody-core-1.60.0.jar:1.60.0]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:286) ~[javamelody-core-1.60.0.jar:1.60.0]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.sun.proxy.$Proxy566.prepareStatement(Unknown Source) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.doPrepareStatement(BaseWrapperManagedConnection.java:748) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at org.jboss.jca.adapters.jdbc.BaseWrapperManagedConnection.prepareStatement(BaseWrapperManagedConnection.java:734) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:405) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_331]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_331]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy$LazyConnectionInvocationHandler.invoke(LazyConnectionDataSourceProxy.java:376) ~[spring-jdbc-4.1.9.RELEASE.jar:4.1.9.RELEASE]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at com.sun.proxy.$Proxy73.prepareStatement(Unknown Source) ~[na:na]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$1.doPrepare(StatementPreparerImpl.java:96) ~[hibernate-core-4.2.19.Final.jar:4.2.19.Final]
11:12:26,665 INFO  [stdout] (http-/0.0.0.0:8443-17) 	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:183) ~[hibernate-core-4.2.19.Final.jar:4.2.19.Final]

Vocês imaginam o que poderia ser o problema? Poderiam me dar algum auxílio?

Desde já muito obrigado.

Product version: IRIS 2023.2

Comments

Heloisa Paiva · Maio 9, 2024

Vale dar uma olhada na classe %sqlcq.TGDB.cls, na 9ª linha do método fplanar. Aí, o código tenta utilizar o valor guardado na variável pdict("version"), mas ela não foi definida anteriormente, pelo menos não com esse subscript "version".
Talvez seja uma global que já estivesse definida no sistema anterior e ainda não foi definida no novo. 
Espero ter ajudado, se não, pode compartilhar mais detalhes para tentarmos descobrir o que tá pegando!

0
Igor Lampa  Maio 17, 2024 to Heloisa Paiva

Muito obrigado @Heloisa Paiva , analisamos esse ponto também, mas no final fizemos um upgrade para a versão mais atual do IRIS e funcionou.
 

0
Danusa Calixto · Maio 10, 2024

Boa tarde, Igor. 
Pode passar mais informações a respeito dessa troca de ambiente, teve alteração de sistema operacional? teve migração da versão do IRIS também?   Como foi feito a montagem do banco no novo servidor ?

O erro está ocorrendo nas rotinas de consultas em cache.   

Existe uma documentação com instruções para migração de versão, se for o seu caso sugiro verificar:  https://docs.intersystems.com/iris20232/csp/docbook/DocBook.UI.Page.cls… 

0
Rochael Ribeiro  Maio 14, 2024 to Danusa Calixto

boa tarde Igor, 

vocês tem contrato de suporte? Se sim, sugiro que você analise as questões colocadas pela Heloisa e pela Danusa, e se não resolver, abra um chamado no suporte.

de qualquer forma estamos aqui para te ajudar, mas precisamos de mais informações...

0
Danusa Calixto  Maio 14, 2024 to Rochael Ribeiro

Verifiquei que um chamado foi aberto e a solução retornada no mesmo dia. O chamado já se encontra fechado. 

0
Igor Lampa  Maio 17, 2024 to Danusa Calixto

Muito obrigado @Danusa Calixto , isso mesmo, o pessoal aqui de Infra entrou em contato direto com o suporte e a orientação foi realmente fazermos o upgrade para a versão mais atual e nos apoiaram em configurações gerais do novo banco no servidor. Muito obrigado pelo apoio de todos!! Valeu, muito obrigado.

0
Igor Lampa  Maio 17, 2024 to Rochael Ribeiro

Olá @Rochael Ribeiro, perfeito muito obrigado, abrimos um chamado aqui, valeu muito obrigado

0
Igor Lampa  Maio 17, 2024 to Danusa Calixto

Muito obrigado @Danusa Calixto, sim verificarmos que a versão utilizada nesse novo servidor estava uma versão abaixo. Atualizamos para a versão mais atual e funcionou.
Muito obrigado pela documentação de migração, iremos seguir ela em uma próxima oportunidade.

0