调用 exit 时,与 docker 连接的 sqlplus 返回控制很慢

调用 exit 时,与 docker 连接的 sqlplus 返回控制很慢

我有一个运行 Oracle 的 Docker 容器。

当我连接到数据库时进入我的docker容器:

$ sqlplus -L sys/password@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=ABP)))" as sysdba

然后我退出:

SQL> exit

输出为:

Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.19.0.0.0

我有立即地控制外壳。

现在,我执行完全相同的命令外部docker。连接很快就建立了。但是,当我输入 时,会打印exit相同的输出( ),但它Disconnected from Oracle...挂起大约一秒钟后我才控制了 shell。

1 秒很重要,因为我必须运行一个脚本,该脚本遍历数百/数千个 .sql 文件并为每个文件调用 sqlplus(sqlplus -L sys/password@"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=ABP)))" as sysdba @"file1.sql"),并且它总是需要至少一秒钟才能运行,而当我将相同的命令运行到我的 docker 中时,它是立即的。

当退出docker容器时什么会导致sqlplus挂起?

相关内容