实例2:只允许用户使用特定工具(应用)登录数据库
实际工作中,我们经常遇到这样的情况:应用开发人员都有应用用户的口令,他们可以随意用SQL*PLUS或PL/SQL Developer这样的工具连接到生产库上,如果一时搞混了生产库和测试库,就可能有悲剧发生。最好的解决方法就是限制应用用户所用的工具,应该只允许中间件以这个用户连接,其他工具都不允许连接。
这个例子会用到Factor,首先我们创建一个Factor,取用户会话的Module:
用SQL*PLUS登录数据库,验证这个Factor取出的值:
引用Factor的方法就是DVF.F$+Factor name,在Linux本机登录,Module就是上面显示的那样,在windows上远程登录,Module的值是“SQLPLUS.EXE”。
下面创建Rule Set,名字叫“Limit SQL*PLUS“,
注意是“Any True”
创建RULE:
创建Command Rule:
按照这种规则,除了SYS,SYSTEM,DV_MANAGER之外的用户,不管是本地还是远程,都不能用SQL*PLUS登录。
用SQL Developer登录正常: