Oracle 安装在一台服务器上,我在sqlplus
另一台(应用程序)服务器上运行。我最近遇到了sqlplus
做任何事情的问题;它只是旋转,即使被要求打印自己的帮助或版本信息,它也会消耗 99% 的 CPU。
sqlplus
cronjob
在过去的几年里,每天都在同一个盒子上运行良好。我还在需要时临时在命令行下直接运行它。sqlplus
运行的盒子只包含 oracle 客户端文件,它从未安装过完整的数据库。
上周,cron 作业停止工作,ps
输出显示几个sqlplus
仍在运行的实例,但没有数据库活动。我尝试sqlplus
从命令行运行,但它挂了。我杀死了所有旧sqlplus
实例并sqlplus
再次尝试,它似乎仍然挂起。没有错误信息,没有输出。如果我给它完全编造的参数、TNS 条目或任何东西,它甚至不会抱怨。
这些是我尝试过的命令,它们sqlplus
只是挂起并且不会发出错误、故障代码或任何可见的生命迹象:
user@server:~ $ sqlplus
user@server:~ $ sqlplus -V
user@server:~ $ sqlplus -H
user@server:~ $ sqlplus /NOLOG
user@server:~ $ sqlplus -invalidoption
user@server:~ $ sqlplus -invalidoption /NOLOG
Run Code Online (Sandbox Code Playgroud)
而且当然:
user@server:~ $ sqlplus -s dbuser/dbpassword@tnsid /some/script.sql
Run Code Online (Sandbox Code Playgroud)
从下面可以看出,oracle文件已经很长时间没有变化了......
user@server:~ $ ls -ld $(which -a sqlplus)
-rwxr-xr-x 1 oracle oracle 12896 Apr 15 …
Run Code Online (Sandbox Code Playgroud)