ORA-01031 When Connecting To A 12c Database With Toad (文档 ID 1958777.1)
SOLUTION
Access to SYS.USER$ has been restricted in Oracle 12c (as documented here)
The issue can be resolved by granting access to the SYS.USER$ table to the relevant account:
GRANT SELECT ON SYS.USER$ TO <user>;
For further assistance,please contact the software vendor as this is specific to Toad (not Oracle)
另注:这其实是Oracle 12c的一个特性:
(https://docs.oracle.com/database/121/DBSEG/release_changes.htm#DBSEG000)
SELECT ANY DICTIONARY Privilege No Longer Accesses Some SYS Data Dictionary Tables
For better security,theSELECT ANY DICTIONARY
system privilege no longer permits you to query theSYS
schema system tablesDEFAULT_PWD$
,ENC$
,0); line-height:1.615; padding:0px; background-color:transparent">LINK$,0); line-height:1.615; padding:0px; background-color:transparent">USER$,0); line-height:1.615; padding:0px; background-color:transparent">USER_HISTORY$,0); line-height:1.615; padding:0px; background-color:transparent">CDB_LOCAL_ADMINAUTH$,andXS$VERIFIERS
. Only userSYS
has access to these tables,but userSYS
can grant object privileges (such asGRANT SELECT ON USER$ TO sec_admin
) to other users.