我无法在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
成功运行。
答案 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
但我不知道为什么它没有用“叠加”来表达......