问题:
当以系统用户身份连接时,从 SQL Plus 或 SQL Developer运行以下代码时,我收到以下 ORA 错误。我的 Oracle 18.3 企业版数据库上的系统用户具有 DBA 角色。
代码:
--
--From the Oracle 18c manual E83707-04_xml-db-developers-guide.pdf
--Example 34-2 Updating the Configuration File Using CFG_UPDATE and CFG_GET
--
DECLARE
v_cfg XMLType;
BEGIN
SELECT XMLQuery
(
'declare default element namespace "http://xmlns.oracle.com/xdb/xdbconfig.xsd";
copy $i := $cfg
modify for $j in $i/xdbconfig
return
(
replace value of node $j/descendant::ftp-port with "2121",
replace value of node $j/descendant::http-port with "19090"
)
return $i'
PASSING DBMS_XDB_CONFIG.cfg_get() AS "cfg"
RETURNING CONTENT
)
INTO v_cfg FROM DUAL;
DBMS_XDB_CONFIG.cfg_update(v_cfg);
END;
/
Error report -
ORA-31113: XDB configuration may not be updated with non-schema compliant data
ORA-06512: at "XDB.DBMS_XDB_CONFIG", line 21
ORA-06512: at line 19
31113. 00000 - "XDB configuration may not be updated with non-schema compliant data"
*Cause: An attempt was made to update the XDB configuration resource with
non-schema or non-schema compliant data.
*Action: Check the document to make sure it is schema based and schema
compliant.
我正在执行 Oracle 18c 手册 E83707-04_xml-db-developers-guide.pdf 中编写和描述的示例匿名块,示例 34-2 使用 CFG_UPDATE 和 CFG_GET 更新配置文件
我想使用此代码更新 XDB 协议参数,如 XDBConfig.xml 中所示。
这是一个使用默认 XDBConfig.xml 的新数据库实例。
有任何想法吗。