小编给大家分享一下Oracle中怎么保证用户只有一个Session登录,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
SQL> create profile one_session limit sessions_per_user 1;
SQL> create user test identified by test;
User created. www.2cto.com
SQL> grant connect,resource to test;
Grant succeeded.
SQL> alter user test profile one_session;
SQL> alter system set resource_limit=true;
sqlplus test/test
host sqlplus test/test
ERROR:
ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit
但有个条件是如果是RAC, 则在其他instance还可以登录。
--可以通过下面的语句查看修改后的 RESOURCE_LIMIT 中的value字段的值
SELECT * FROM v_$parameter a WHERE lower(a.NAME) LIKE LOWER('%resource_limit%') ;
--查看profile文件的内容
SELECT * FROM dba_profiles a WHERE lower(a.profile) = lower('one_session') ;
--撤销以上的修改
SQL>alter system set resource_limit=false ;
SQL>alter user U1050 profile default ;
SQL>drop profile one_session ;
--以下是不创建profile,直接修改default profile进行用户登录限制
SQL>alter profile default limit SESSIONS_PER_USER 1 ;
SQL>alter system set resource_limit=true;
SQL>commit ;
--撤销以上的修改
SQL>alter profile default limit SESSIONS_PER_USER unlimited ;
SQL>alter system set resource_limit=false;
SQL>commit ;
看完了这篇文章,相信你对“Oracle中怎么保证用户只有一个Session登录”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。