【发布时间】:2021-05-27 17:15:36
【问题描述】:
我有一个 oracle docker 容器,其中转储的导入必须使用 impdp 命令运行。导入成功完成且没有错误后,容器应该变得健康并且应该开始下一个过程。有没有办法定义一些查询/命令来告诉导入已完成 -> 容器是健康的。
到目前为止我已经尝试过:
healthcheck:
test: ["CMD", "bash", "-c", "echo 'SELECT * FROM V\$VERSION;' | sqlplus / as sysdba"]
interval: 20s
timeout: 20s
retries: 60
但问题是,当导入仍在执行时,容器变得健康。实际上,我只想在导入成功完成时将容器的健康状态关联为“健康”,否则不健康。
【问题讨论】:
-
假设
impdp进程在容器内运行,听起来您希望您的测试是您是否看到该可执行文件运行而不是针对数据库的查询。 -
可以查询datapump状态:dba_datapump_jobs
标签: oracle docker docker-compose impdp