详细原因
- 普通用户执行 DBA 操作(创建用户、重启库、查询 v$ 视图)无对应权限;
- Windows/Linux 本地登录未配置 dba 用户组,无法免密登录 sysdba;
- 存储过程执行权限未授予,动态 SQL 报错权限不足。
完整排查 & 解决
- 授予基础运维权限
sql
grant connect,resource,dba to testuser;
-- 单独授予查询动态视图
grant select_catalog_role to testuser;
- 操作系统用户加入 dba 组(Linux)
bash
运行
usermod -aG dba oracle
- 存储过程赋执行权限:
grant execute on 存储过程 to 用户;