Trafodion Troubleshooting - Error 4411 Decryption error

現象

經過應用鏈接Trafodion數據庫,報如下錯誤java

15:34:12,918 WARN  [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (org.trafodion.jdbc.t4.TrafT4Exception: Decryption error)
       at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:179)
        at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:577)
        at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:262)
        at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.getConnection(JBossManagedConnectionPool.java:500)
        at org.jboss.resource.connectionmanager.BaseConnectionManager2.getManagedConnection(BaseConnectionManager2.java:341)
        at org.jboss.resource.connectionmanager.TxConnectionManager.getManagedConnection(TxConnectionManager.java:315)
        at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:396)
        …
Caused by: org.trafodion.jdbc.t4.TrafT4Exception: Decryption error
        at org.trafodion.jdbc.t4.TrafT4Messages.throwSQLException(TrafT4Messages.java:178)
        at org.trafodion.jdbc.t4.InterfaceConnection.initDiag(InterfaceConnection.java:591)
        at org.trafodion.jdbc.t4.InterfaceConnection.secureLogin(InterfaceConnection.java:710)
        at org.trafodion.jdbc.t4.InterfaceConnection.connect(InterfaceConnection.java:904)
        at org.trafodion.jdbc.t4.InterfaceConnection.<init>(InterfaceConnection.java:176)
        at org.trafodion.jdbc.t4.TrafT4Connection.makeConnection(TrafT4Connection.java:1611)
        at org.trafodion.jdbc.t4.TrafT4Connection.<init>(TrafT4Connection.java:1564)
        at org.trafodion.jdbc.t4.TrafT4DataSource.getConnection(TrafT4DataSource.java:132)
        at org.trafodion.jdbc.t4.TrafT4DataSource.getConnection(TrafT4DataSource.java:176)
        at org.trafodion.jdbc.t4.T4Driver.connect(T4Driver.java:186)
        at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:171)
        ... 37 more

分析

「Decryption error」錯誤通常跟權限有關,判斷是由於證書有問題web

解決

在每一個Trafodion節點,以trafodion用戶執行sqcertgen,從新生成證書,解決問題數據庫

su - trafodion
//sqcertgen
[trafodion@openstack-1 scripts]$ sqcertgen
 Cluster Name : openstack-1
Generating Self Signed Certificate....
Generating a 2048 bit RSA private key
...................................+++
......................+++
writing new private key to '/home/trafodion/sqcert/server.key' -----
***********************************************************
 Certificate file :server.crt
 Private key file :server.key
 Certificate/Private key created in directory :/home/trafodion/sqcert
***********************************************************

注:sqcertgen可能會遇到錯誤,以下,建議先手動刪除/home/trafodion/sqcert/下的證書文件,從新sqcertgenmarkdown

[trafodion@openstack-1 scripts]$ sqcertgen
 Cluster Name : openstack-1
Generating Self Signed Certificate....
Generating a 2048 bit RSA private key
..........................................................................................................................................................+++
........................+++
writing new private key to '/home/trafodion/sqcert/server.key'
/home/trafodion/sqcert/server.key: Permission denied
140159490561864:error:0200100D:system library:fopen:Permission denied:bss_file.c:398:fopen('/home/trafodion/sqcert/server.key','w')
140159490561864:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
***********************************************************
 Certificate file :server.crt
 Private key file :server.key
 Certificate/Private key created in directory :/home/trafodion/sqcert
***********************************************************