Wednesday, May 23, 2018

ZDLRA. ra_install.jar. Exception in thread "main" java.sql.SQLException: ORA-28040

If you run the  Oracle Backup module ra_install.jar and got the message:
Exception in thread "main" java.sql.SQLException: ORA-28040: No matching authentication protocol
then you need to fresh Oracle ODBC driver inside ra_install.jar file.



My story:
$ /oracle/app/db12c/OPatch/jre/bin/java -jar /oracle/zdlra/ra_install.jar \
-dbUser ravpc1 -dbPass welcome1 -host ed05-scan.52.s -port 1521 -servicename zdlra \
-walletDir /oracle/zdlra -configFile /oracle/zdlra/wallet.ora -libDir $ORACLE_HOME/lib

Recovery Appliance Install Tool, build 12.2.0.1.0DBBKPCSBP_2017-11-28
Connection to Recovery Appliance Failed.
Check -host, -port, -servicename, -dbUser and -dbPass values
Exception in thread "main" java.sql.SQLException: ORA-28040: No matching authentication protocol
        at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
        at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:110)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:171)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:406)
        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
        at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:306)
        at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
        at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:490)
        at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:202)
        at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:465)
        at java.sql.DriverManager.getConnection(DriverManager.java:664)
        at java.sql.DriverManager.getConnection(DriverManager.java:247)
        at oracle.backup.ba.install.BaConfig.validateBaAccount(BaConfig.java:211)
        at oracle.backup.ba.install.BaConfig.doBaConfig(BaConfig.java:169)
        at oracle.backup.ba.install.BaConfig.main(BaConfig.java:154)

Solution:
The *.jar file is actually the ZIP file, which contain some directories. For example ra_install.jar:


The ojdbc8.jar contain similar directories:

Did you notice the "oracle" directory on the both pictures ?





In order to renew ODBC inside jar file you need to download new ojdbc.jar and copy "oracle" directory over old "oracle" directory. Latest ojdbc.jar is here: http://www.oracle.com/technetwork/database/features/jdbc/jdbc-ucp-122-3110062.html
Download ojdbc7.jar or ojdbc8.jar.

Сopy the oracle directory from ojdbc.jar into ra_install.jar.
Don't copy META-INF.

And your problem is solved !
Try install backup module another time.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Does DEALLOCATE UNUSED or SHRINK SPACE will free space occupied by LOB segment?

Lets check how it works. My env is DB 19.20@Linux-x64 1) I created the table with 4 LOB columns of 4 different LOB types: BASICFILE BLOB, BA...