在docker容器内将Oracle作为服务启动

时间:2019-03-12 15:12:23

标签: oracle docker

我使用this dockerfile构建和运行Oracle数据库,该数据库通过dockerfile最后一行的命令启动Oracle实例。

CMD exec $ORACLE_BASE/$RUN_FILE

Oracle实例可以工作,我可以使用Oracle SQL Developer连接到它,但是我做不到

ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE;
例如,

并得到以下错误:

ORA-65040: operation not allowed from within a pluggable database
65040. 00000 -  "operation not allowed from within a pluggable database"
*Cause:    An operation was attempted that can only be performed in the root
       container.
*Action:   Switch to the root container to perform the operation.

据我所知,我需要在docker容器中本地启动sqlplus之类的东西,然后可能使用SHUTDOWN和STARTUP命令重新启动实例。

在我拥有的容器中最简单的方法是什么?我应该让Oracle作为docker容器中的服务启动吗?这是最好的选择吗? (至少该服务将在容器运行时启动,并且我将能够在容器内使用bash,但这需要修改并重建dockerfile)。我不是linux / docker / oracle方面的专家,我需要知道我是否朝正确的方向前进。

0 个答案:

没有答案