oracle设置限制,控制用户连接,进行特别处理
---
(这实际上是很简单的功能,高手可以略过~~)
我们公司是典型的生产企业,使用的系统必然的要做月末处理。
一般情况下,月末处理肯定是要停止使用系统的。这一点,我们的系统上无法限制,以前我们都是发文件,并电话通知来达到这一目的的。
虽然可以通过session来查看连接系统的用户,但不可能时时的去查看session。
所以上个月末处理过程中,有的用户进行了出入库操作,导致发生了严重的错误。
这次我就想,要想个好的办法,避免出错啊!
忽然想到有个oracle有个受限方式打开数据库。
搜了一下,果然找到了,命令如下:
以受限方式打开数据库
Startup restrict force;
而且在数据库打开时可以用alter system命令启用或禁止受限模式,如下。
设置限制:
ALTER SYSTEM ENABLE RESTRICTED SESSION;
取消限制:
ALTER SYSTEM DISABLE RESTRICTED SESSION;
由于我们这的情况比较复杂,月末处理开始时,要导出数据,是用批处理执行的exp,这个时候无法加限制,因为是多条命令逐条执行。
而且月末处理过程中,有的部门也需要查询数据。
所以考虑后,决定导出数据后,打开月末处理程序,然后就关闭数据库,然后限制打开数据库(实际是正常打开然后设置限制,因为无法用SVRMGRL连接数据库)。并监控现有连接,电话通知无关人员退出系统。
然后进行月末处理。
如有特殊情况,别的部门需要用系统时,电话联系,取消限制,马上让用户打开程序,然后马上设置限制。
果然,这样一做,再看session,清净了!
这个限制功能是限制新连接,对于已有连接不影响,这真是一个非常好的功能!