oracle 11.2.0.1查看view DBA_NETWORK_ACL_PRIVILEGES
SQL> select * from DBA_NETWORK_ACL_PRIVILEGES;
select * from DBA_NETWORK_ACL_PRIVILEGES
*
ERROR at line 1:
ORA-04063: view "SYS.DBA_NETWORK_ACL_PRIVILEGES" has errors
查找view DBA_NETWORK_ACL_PRIVILEGES的创建脚本,发现是视图XDS_ACE失效了
SQL>select object_name,status from dba_objects where object_name='XDS_ACE';
OBJECT_NAMEOBJECT_TYPE
-STATUS
-----------------------------------------------------------------------------
XDS_ACE
VIEW
INVALID
XDS_ACE
SYNONYM
INVALID
查看XDS_ACE的创建
CREATE OR REPLACE FORCE VIEW SYS.XDS_ACE
(
ACLID,
START_DATE,
END_DATE,
IS_GRANT,
INVERT,
PRINCIPAL,
PRIVILEGE
)
AS
SELECT a.object_id,
EXTRACTVALUE (VALUE (b),
'/ace/@start_date',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"'),
EXTRACTVALUE (VALUE (b),
'/ace/@end_date',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"'),
SUBSTR (
EXTRACTVALUE (VALUE (b),
'/ace/grant',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"'),
1,
5
),
CASE EXISTSNODE (VALUE (b),
'/ace/invert',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"')
WHEN 1
THEN
'true'
ELSE
'false'
END,
CASE EXISTSNODE (VALUE (b),
'/ace/invert',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"')
WHEN 1
THEN
EXTRACTVALUE (
VALUE (b),
'/ace/invert/principal',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"'
)
ELSE
EXTRACTVALUE (
VALUE (b),
'/ace/principal',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"'
)
END,
EXTRACT (VALUE (b),
'/ace/privilege',
'xmlns="http://xmlns.oracle.com/xdb/acl.xsd"')
FROM xdb.xdb$acl a,
table (XMLSEQUENCE (EXTRACT (a.object_value, '/acl/ace'))) b;
recreate 失败,select 一下发现是下面出现问题,可xdb.xdb$ac是个table,怎么会出现这个错误呢,不甚理解
CASE EXISTSNODE (VALUE (b),
*
ERROR at line 11:
ORA-00980: synonym translation is no longer valid
|