标签:
看到这个错误提示再明白不过了,Oracle中某个角色不存在。
不小心把Oracle中的几个重要角色删除掉了(dba,connect,resource),Plsql只能用DBA权限进去,普通权限进不去,悲剧中,百度....貌似没查出个所以然,但是想想
类似与这样的提示。百度也给不出想要的答案,答案要靠自己来发现
1:首先了解下这几个角色都是干什么用的,然后就知道如何处理
1):connect
select GRANTEE, PRIVILEGE from DBA_SYS_PRIVS where GRANTEE =‘CONNECT‘;查询出下面内容
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
解决方法:首先创建角色,然后再赋权限就行了:
SQL-> create role connect;
SQL-> grant ALTER SESSION ,CREATE CLUSTER,CREATE DATABASE LINK,CREATE SEQUENCE,CREATE SESSION,CREATE SYNONYM, CREATE VIEW to connect;
2):resource--是授予开发人员的
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
SQL->select grantee,privilege from dba_sys_privs where grantee=‘RESOURCE‘ order by privilege;
RESOURCE CREATE CLUSTER
RESOURCE CREATE INDEXTYPE
RESOURCE CREATE OPERATOR
RESOURCE CREATE PROCEDURE
RESOURCE CREATE SEQUENCE
RESOURCE CREATE TABLE
RESOURCE CREATE TRIGGER
RESOURCE CREATE TYPE
SQL-> create role resource;
SQL-> grant CREATE CLUSTER,CREATE INDEXTYPE,CREATE OPERATOR,CREATE PROCEDURE,CREATE SEQUENCE,CREATE TABLE,CREATE TRIGGER,CREATE TYPE to resource;
3):DBA
create role DBA;
grant all privilege to dba with admin option;
OK,问题解决了。
标签:
原文地址:http://www.cnblogs.com/bingzisky/p/4596354.html