我需要编写一个触发器,以防止某些用户登录到生产数据库。
我们使用主动数据保护。
如果我硬编码触发器中的Linux主机名以验证主机是否生产,那么在发生“角色更改”的情况下,触发器可能无法工作。
对,是这样?
这是一个三层系统。终端用户通过应用服务器进行通信,应用服务器将使用通用名称。
下面是我一直在考虑实现的解决方案:
DB_ROLE_CHANGE触发器,如果生产现在从备用状态运行,该触发器将被激活DB_ROLE_TRIGGER将修改表,以便数据库主机名现在反映新的生产服务器主机名。发布于 2018-06-05 10:26:03
如果只希望用户连接到备用状态,那么从v$database中检查D1值。主程序将是PRIMARY,备用将不会(它将是PHYSICAL STANDBY或类似的)。
在你的扳机里加一张支票来撞他们。
...
SELECT database_role INTO db_role FROM v$database;
IF db_role = 'PRIMARY' THEN (deny those users a connection)
..https://dba.stackexchange.com/questions/208519
复制相似问题