Email: [email protected] 7 x 24 online support!
解决Oracle当执行DBMS_NETWORK_ACL_ADMIN.CREATE_ACL创建访问控制列表时报ORA-1410 错误
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]
适用于
Oracle 数据库 – 企业版- 11.1.0.6 到 11.2.0.2 版本[Release 11.1 to 11.2]
	本文档内容适应于任何平台
症状
当尝试用dbms_network_acl_admin.create_acl创建一个访问控制列表,执行过程失败,报ORA-01410错误。
SQL> begin
	2  dbms_network_acl_admin.create_acl (
	3  acl             => 'Mail_UTL_Access.xml',
	4  description     => 'Mail UTL Network Access',
	5  principal       => 'SAGE',
	6  is_grant        => TRUE,
	7  privilege       => 'connect',
	8  start_date      => null,
	9  end_date        => null
	10  );
	11  end;
	12  /
	begin
	*
	ERROR at line 1:
	ORA-01410: ROWID invalid
	ORA-06512: at "SYS.DBMS_NETWORK_ACL_ADMIN", line 252
	ORA-06512: at line 2
原因
这是因为有一个索引在XDB.XDB$ACL上是无效的或者加载状态,这意味着这个索引不能全面工作。
解决方案
删除并重新创建这个索引在XDB.XDB$ACL,如下:
As SYS:
drop index xdb.xdb$acl_xidx force;
CREATE INDEX "XDB"."XDB$ACL_XIDX" ON "XDB"."XDB$ACL" (OBJECT_VALUE)
INDEXTYPE IS "XDB"."XMLINDEX"
PARAMETERS
('PATH TABLE XDBACL_PATH_TAB VALUE INDEX XDBACL_PATH_TAB_VALUE_IDX');
注意!!! 注意文档1103704.1里描述的问题,可能无法删除加载状态的索引直到打好9224305补丁。
