Oracle中如何保证用户只有一个Session登录


  1. SQL> create profile one_session limit sessions_per_user 1;

  2. SQL> create user test identified by test;
  3.  
  4. User created. www.2cto.com

  5. SQL> grant connect,resource to test;

  6. Grant succeeded.

  7. SQL> alter user test profile one_session;

  8. SQL> alter system set resource_limit=true;

  9. sqlplus test/test

  10. host sqlplus test/test

  11. ERROR:

  12. ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit

  13. 但有个条件是如果是RAC, 则在其他instance还可以登录。

  14. --可以通过下面的语句查看修改后的 RESOURCE_LIMIT 中的value字段的值

  15. SELECT * FROM v_$parameter a WHERE lower(a.NAME) LIKE LOWER('%resource_limit%') ;

  16. --查看profile文件的内容
  17. SELECT * FROM dba_profiles a WHERE lower(a.profile) = lower('one_session') ;

  18. --撤销以上的修改
  19. SQL>alter system set resource_limit=false ;

  20. SQL>alter user U1050 profile default ;

  21. SQL>drop profile one_session ;

  22. --以下是不创建profile,直接修改default profile进行用户登录限制
  23. SQL>alter profile default limit SESSIONS_PER_USER 1 ;

  24. SQL>alter system set resource_limit=true;

  25. SQL>commit ;

  26. --撤销以上的修改
  27. SQL>alter profile default limit SESSIONS_PER_USER unlimited ;

  28. SQL>alter system set resource_limit=false;

  29. SQL>commit ;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28878983/viewspace-2133925/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28878983/viewspace-2133925/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值