还原了一个Oracle数据库发现表DBA_DATA_FILES 找不到,找了很多网上文章,说是数据库一个Bug,重启就可以了,但是实例情况却不是这样。
在Oracle中执行语句
Select * from DBA_DATA_FILES
报错如下:
ERROR:
ORA-04043: object DBA_DATA_FILES does not exist
我的这个是因为角色权限不对,原来以为只要是有dba权限就可以如下:
grant dba to myuser;
以上权限也是不够的,需要添加以下授权就可以了:
grant sysdba myuser;
其实需要查询 DBA_DATA_FILES表时我们使用sys登录 就可以了,如果自建账号需要这个权限就把sysdba给当前用户就行了。