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, the SELECT ANY DICTIONARY
system privilege no longer permits you to query the SYS
schema system tablesDEFAULT_PWD$
, ENC$
, LINK$
, USER$
, USER_HISTORY$
, CDB_LOCAL_ADMINAUTH$
, and XS$VERIFIERS
. Only user SYS
has access to these tables, but user SYS
can grant object privileges (such as GRANT SELECT ON USER$ TO sec_admin
) to other users.