在Oracle数据库中,sys是数据库管理员,他拥有DBA角色,既具有DBA角色的所有系统权限,他可以查询数据字典中以DBA_开头的数据字典视图。但假设其他用户做这件事,比如:scott来查询,就会报ORA-00942错误。
出现错误的原因是一般用户不具有DBA角色,或者没有select any dictionary系统权限,目的是增加数据库的安全性。
除非你授予scott用户select any dictionary权限。
命令如下:
SQL>GRANT select any dictionary TO scott;