0
点赞
收藏
分享

微信扫一扫

java.util.ServiceConfigurationError sqlcl登陆异常

数据库:oracle 19.14

系统:rhel8.6

异常描述:一朋友遇到在输入sql /nolog,不能正常进入sql命令行,sql*plus却可以正常进入,报警java.util.ServiceConfigurationError,如下所示:

java.util.ServiceConfigurationError sqlcl登陆异常_java

查Mos资料,显示在数据库升级至19.14(Patch 33515361)后,确实存在SQLcl fails with java.util.ServiceConfigurationError问题.

具体报错如下:

$ sql Exception in thread "main" java.util.ServiceConfigurationError: oracle.dbtools.extension.SQLCLService: Provider oracle.dbtools.raptor.scriptrunner.commands.liquibase.liquibaseCommand could not be instantiated at java.util.ServiceLoader.fail(ServiceLoader.java:232) at java.util.ServiceLoader.access$100(ServiceLoader.java:185) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) at java.util.ServiceLoader$1.next(ServiceLoader.java:480) at oracle.dbtools.extension.SQLCLServices.registerServices(SQLCLServices.java:48) at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.(SqlCli.java:220) at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:441) Caused by: java.lang.NoClassDefFoundError: liquibase/exception/DatabaseException at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) at java.lang.Class.getConstructor0(Class.java:3075) at java.lang.Class.newInstance(Class.java:412) at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) ... 5 more Caused by: java.lang.ClassNotFoundException: liquibase.exception.DatabaseException at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 10 more

另外,如果只是jackson-databind.jar文件没有,SQLcl报以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at oracle.dbtools.versions.CheckForUpdates.<clinit>(CheckForUpdates.java:215) at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.handleUpdates(SqlCli.java:508) at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:464) Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ... 3 more

异常原因:

RDBMS RU19.14(Patch 33515361) removes the following jar files.

$ORACLE_HOME/sqldeveloper/sqldeveloper/lib/ext/liquibase-core.jar

$ORACLE_HOME/sqldeveloper/sqldeveloper/lib/jackson-databind.jar

解决方案:

Please restore liquibase-core.jar and jackson-databind.jar files from $ORACLE_HOME/.patch_storage

backup files:

$ORACLE_HOME/.patch_storage/33515361_Jan_13_2022_06_14_07/files/sqldeveloper/sqldeveloper/lib/ext/liquibase-core.jar

$ORACLE_HOME/.patch_storage/33515361_Jan_13_2022_06_14_07/files/sqldeveloper/sqldeveloper/lib/jackson-databind.jar

Restore liquibase-core.jar:

$ cd $ORACLE_HOME/.patch_storage/33515361_Jan_13_2022_06_14_07/files/sqldeveloper/sqldeveloper/lib/ext $ cp liquibase-core.jar $ORACLE_HOME/sqldeveloper/sqldeveloper/lib/ext

Restore jackson-databind.jar:

$ cd $ORACLE_HOME/.patch_storage/33515361_Jan_13_2022_06_14_07/files/sqldeveloper/sqldeveloper/lib
$ cp jackson-databind.jar $ORACLE_HOME/sqldeveloper/sqldeveloper/lib

以上为Mos资料,实际Troubleshooting过程如下:

将相应的文件拷贝到对应目录后,执行sql /nolog,报错如下:

java.util.ServiceConfigurationError sqlcl登陆异常_oracle_02

检查发现两个文件的属性未做更改,如下图所示:

java.util.ServiceConfigurationError sqlcl登陆异常_sql_03

按如下修改文件属性.

java.util.ServiceConfigurationError sqlcl登陆异常_sql_04

如下图所示问题依旧,重启系统、重新拷贝文件后问题依然存在.

java.util.ServiceConfigurationError sqlcl登陆异常_sql_05

最后将两个文件都放到$ORACLE_HOME/sqldeveloper/sqldeveloper/lib/ext目录下,成功进入sql命令行.

以下为按Mos提供的解决方案成功解决异常的案例图片.

java.util.ServiceConfigurationError sqlcl登陆异常_sql_06

java.util.ServiceConfigurationError sqlcl登陆异常_sql_07

举报

相关推荐

0 条评论