文档解释
ORA-31058: cannot modify read-only XOBs
Cause: Read-Only XOBs cannot be modified.
Action: Use only read operations on such a XOB.
ORA-31058 错误表明,您试图修改一个只读对象(XOB),而该对象具有只读属性,因此无法修改。
此信息表明有关只读XOB的操作无效。只读XOBs是一些特殊的XOB,它们不能打开界面和不能有效地更新。
官方解释
ORA-31058 表明,该语句尝试修改一个只读对象(XOB),而该对象具有只读属性,因此不允许修改。对象具有Read Only属性,因此没有权限更改它们。
常见案例
当您尝试从初始目录打开一个只读XOB时,您可能会遇到此错误。 可运行文件(XOBs)和被动文件(TOBs)允许您执行存储在XSQL中的操作,而不用更改任何调试器代码以及源文件。 它与只读XOB的工作原理想象对等,是因为它们都由XSQL脚本控制。
一般处理方法及步骤
确定只读XOB的原因:
– 只读XOB可能是为了安全原因而设置的。
– 可能会受到有效访问控制系统(ACL)的影响。 检查您是否具有正确的权限来执行操作。
– 为了摆脱只读XOB,此外也可以使用诊断工具,以及其他安全相关的工具,如Secutity Inspector(SI)或Oracle Firewall(OFW)检查只读XOB的问题
重置只读XOB:
– 当您确定只读XOB的原因,您可以重置只读XOB,允许连接到正确的数据库并执行操作。
– 尝试使用以下步骤重置只读XOB:从内存清除只读XOB;在安全管理器中禁用只读XOB的安全检查;检查只读XOB的访问级别,并更新它们;检查有效访问控制系统(ACL),以确保操作有足够的权限来进行更新
更改只读XOB:
– 若果您认为只读XOB有问题,可以尝试更改它。
– 要更改只读XOB,请使用Xadmin数据库管理器或Xmanager管理器编辑/重置XML文档的只读状态,或者使用其他工具更改只读XOB的权限值。