技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Oracle --> (oracle)11g与10g中alter session权限差异

(oracle)11g与10g中alter session权限差异

浏览:3286次  出处信息
SQL> select * from v$version;

BANNER
---------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

SQL> select * from dba_sys_privs where grantee='LUOXUAN';

GRANTEE              PRIVILEGE                      ADMIN_
-------------------- ------------------------------ ------
LUOXUAN              CREATE SESSION                 NO
LUOXUAN              UNLIMITED TABLESPACE           NO

SQL> conn luoxuan/luoxuan
Connected.
SQL> alter session set sql_trace=true;

Session altered.

这里alter session 好像没有问题!!!下面看一下11g的情况。

SQL> select * from v$version;

BANNER
-------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE    11.1.0.6.0      Production
TNS for Linux: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production

SQL> select * from dba_sys_privs where grantee='LUOXUAN';

GRANTEE                        PRIVILEGE                                ADM
------------------------------ -----------------------------------
LUOXUAN                        CREATE SESSION                           NO
LUOXUAN                        UNLIMITED TABLESPACE                     NO

SQL> conn luoxuan/luoxuan
Connected.
SQL> alter session set sql_trace=true;
alter session set sql_trace=true
*
ERROR at line 1:
ORA-01031: insufficient privileges

11g中尽然报越权。

继续往下看:

10g:
改变一下sort area

SQL> alter session set sort_area_size=10240; 

Session altered.

11g:
改变一下sort area

SQL> alter session set sort_area_size=10240; 

Session altered.

小结:alter session在10g,11g中,都没有问题,那为什么alter session set sql_trace=true就会报越权错误呢?

11g:

SYS用户

SQL> grant alter session to luoxuan;

Grant succeeded.

SQL> select * from dba_sys_privs where grantee='LUOXUAN';

GRANTEE                        PRIVILEGE                                ADM
------------------------------ ---------------------------------------- ---
LUOXUAN                        ALTER SESSION                            NO
LUOXUAN                        CREATE SESSION                           NO
LUOXUAN                        UNLIMITED TABLESPACE                     NO

LUOXUAN用户
SQL> show user
USER is "LUOXUAN"
SQL> alter session set sql_trace=true;

Session altered.

通过alter session授权后,就可以了。

建议继续学习:

  1. 浅析http协议、cookies和session机制、浏览器缓存    (阅读:15800)
  2. cookie窃取和session劫持    (阅读:12893)
  3. 你必须了解的Session的本质    (阅读:10179)
  4. mysql 1045(28000)错误    (阅读:4634)
  5. 关于session和memcache的若干问题    (阅读:4283)
  6. 如何设置一个严格30分钟过期的Session    (阅读:4329)
  7. 深入浅出Session攻击方式之一 – 固定会话ID    (阅读:4206)
  8. 文件明明存在但是file_exists总是返回FALSE    (阅读:3949)
  9. Linux用户、用户组、文件权限学习笔记    (阅读:3655)
  10. Php session内部执行流程的再次剖析    (阅读:3589)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1