Oracle 12.2.0.1.0 dbca在docker容器中失败

时间:2017-12-21 22:10:16

标签: oracle oracle12c

我无法在docker容器中以静默方式成功运行dbca。 首先,我使用runInstaller,然后是root.sh和netca安装了Oracle软件。当我运行dbca时,我总是收到以下错误:

DBCA_PROGRESS : 50%
[ 2017-12-21 21:49:18.914 UTC ] ORA-29283: invalid file operation
ORA-06512: at "SYS.DBMS_QOPATCH", line 1547
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at "SYS.DBMS_QOPATCH", line 1532
ORA-06512: at "SYS.DBMS_QOPATCH", line 1417
ORA-06512: at line 1

警报日志显示

QPI : Found directory objects and ORACLE_HOME out of sync
QPI : Trying to patch with the current ORACLE_HOME
QPI: ------QPI Old Directories -------
QPI: OPATCH_SCRIPT_DIR:/ade/b/2717506464/oracle/QOpatch
QPI: OPATCH_LOG_DIR:/ade/b/2717506464/oracle/QOpatch
QPI: OPATCH_INST_DIR:/ade/b/2717506464/oracle/OPatch
QPI: op_scpt_path /u01/app/oracle/product/12.2.0/dbhome_1/QOpatch
QPI: Unable to find proper QPI install
QPI: [1] Please check the QPI directory objects and set them manually
QPI: OPATCH_INST_DIR not present:/ade/b/2717506464/oracle/OPatch
Unable to obtain current patch information due to error: 20013, ORA-20013: DBMS_QOPATCH ran mostly in non install area
ORA-06512: at "SYS.DBMS_QOPATCH", line 777
ORA-06512: at "SYS.DBMS_QOPATCH", line 532
ORA-06512: at "SYS.DBMS_QOPATCH", line 2247

和跟踪日志

[Thread-66] [ 2017-12-22 17:21:42.931 UTC ] [ClonePostCreateScripts.executeImpl:508]  calling dbms_qopatch.replace_logscrpt_dirs()
[Thread-75] [ 2017-12-22 17:21:43.178 UTC ] [BasicStep.handleNonIgnorableError:509] oracle.sysman.assistants.util.SilentMessageHandler@3b2b52b7:messageHandler
[Thread-75] [ 2017-12-22 17:21:43.178 UTC ] [BasicStep.handleNonIgnorableError:510]  ORA-29283: invalid file operation
ORA-06512: at "SYS.DBMS_QOPATCH", line 1547
ORA-06512: at "SYS.UTL_FILE", line 536
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at "SYS.DBMS_QOPATCH", line 1532
ORA-06512: at "SYS.DBMS_QOPATCH", line 1417
ORA-06512: at line 1

然后我尝试使用Oracle的official images但没有成功。

我在Oracle的图像创建过程中修改的唯一内容是createAsContainerDatabase文件中的dbca.rsp参数。原始值为true,我将其更改为false,因为我不想创建CDB。

知道我做错了什么吗?

修改

在Fedora 25上运行的docker主机上,映像构建失败,内核版本:4.10.10-200.fc25.x86_64。

在macOS和Debian Jessie,内核版本:3.16.0-4-amd64上,dbca成功运行。

1 个答案:

答案 0 :(得分:3)

您使用的是哪个存储驱动程序?

我与Solus 3,内核4.14.8-41.current

有完全相同的问题

Docker版本:

Server:
 Version:      17.11.0-ce
 API version:  1.34 (minimum version 1.12)
 Go version:   go1.9.2
 Git commit:   7cbbc92838236e442de83d7ae6b3d74dd981b586
 Built:        Sun Nov 26 16:15:47 2017
 OS/Arch:      linux/amd64
 Experimental: false
..
Storage Driver: overlay
 Backing Filesystem: extfs
 Supports d_type: true

我使用的图像在Linux Mint(docker 11,存储驱动程序:aufs)上工作正常。 所以我试图在设置中将“overlay”更改为“overlay2”,现在它可以工作了。

Server Version: 17.11.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs

...

Creating and starting Oracle instance
35% complete
40% complete
44% complete
49% complete
50% complete
53% complete
55% complete
Completing Database Creation
56% complete
57% complete
58% complete
62% complete
65% complete
66% complete
Executing Post Configuration Actions
100% complete

但我不知道为什么它没有用“叠加”来表达......