日期:2014-05-17  浏览次数:20610 次

高分求教Oracle8i用户权限问题,急急急!!!
我以sys用户进入sqlplus,创建了一个新用户dbtest,命令如下:
create   user   dbtest   identified   by   dbtest   default   tablespace   users   temporary   tablespace   temp;

然后我对dbtest授予了sysdba权限,命令为:grant   sysdba   to   dbtest;

但是当我用dbtest/dbtest重新进sqlplus时,系统报如下错误:
ORA-01045:   user   DBTEST   lacks   CREATE   SESSION   privilege;

问题如下:
1.   为什么我为dbtest用户授予了sysdba权限后,系统还提示说没有创建session的权限呢?这里应该怎么授权啊?(个人理解sysdba应该是最高权限了,难道只能一个权限一个权限授权吗?)

2.   在logon   sqlplus时,我用dbtest/dbtest   as   sysdba就可以成功进入了,但同样具有sysdba权限的sys用户为什么就不用加   as   sysdba   就能进sqlplus呢?

------解决方案--------------------
sysdba 是个特殊的系统全县,包括了:
ALTER DATABASE
CREATE DATABASE
CREATE SPFILE
ARCHIVELOG and RECOVERY
RESTRICTED SESSION

但没有包含 create session 权限

所以还需要:
grant create session to dbtest;

------解决方案--------------------
或者 grant connect to 用户
------解决方案--------------------
create user dbtest identified by dbtest default tablespace users temporary tablespace temp;
然后再补一句
grant dba,conn dbtest;
这样就可以了。