我使用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方面的专家,我需要知道我是否朝正确的方向前进。