Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 数据库 / MySQL / 对操作Oracle数据库的用户进行安全权限控制

一、采用数据库级别触发器控制非sys、system的alterdrop runcate权限--控制alter操作CREATE OR REPLACE TRIGGER SYS.TRIGGER_ALTER
BEFORE ALTER
ON DATABASE
begin
if ora_login_user not in ("SYS","SYSTEM") THEN
Raise_application_error (-20001,"Please not do ALTER!");
end if;
end;
/
--控制drop操作CREATE OR REPLACE TRIGGER SYS.TRIGGER_DROP
BEFORE DROP
ON DATABASE
begin
if ora_login_user not in ("SYS","SYSTEM") THEN
Raise_application_error (-20001,"Please not do DROP!");
end if;
end;
/
--控制truncate操作
CREATE OR REPLACE TRIGGER SYS.TRIGGER_truncate
BEFORE truncate
ON DATABASE
begin
if ora_login_user not in ("SYS","SYSTEM") THEN
Raise_application_error (-20001,"Please not do TRUNCATE!");
end if;
end;
/经过测试,一般用户进入数据库后无法进行alter、drop、truncate的操作限制了对数据的破坏性操作,若进行上述操作,系统会产生ORA-00604: error occurred at recursive SQL level 1
ORA-20001: Please do not DROP!之类错误PS:未限制create操作,因为1、create操作不会对生产数据产生破坏性影响;2、若限制create操作,可能会导致create index的操作失败======================================================二、调整tssa用户权限REVOKE "DBA" FROM "TSSA";
GRANT "CONNECT" TO "TSSA";将dba权限从tssa用户移除,并重新对其赋予connect权限经过业务测试,未发现引起业务异常=======================================================三、创建只读用户bzwh
CREATE USER "BZWH" PROFILE "DEFAULT"
    IDENTIFIED BY "bzwh" DEFAULT TABLESPACE "USERS"
    ACCOUNT UNLOCK;
GRANT CREATE SESSION TO "BZWH"
GRANT SELECT ANY DICTIONARY TO "BZWH"
GRANT SELECT ANY SEQUENCE TO "BZWH"
GRANT SELECT ANY TABLE TO "BZWH"
Oracle数据库链接的创建和简单测试Oralce定时执行存储过程任务设置步骤详细相关资讯      数据库  Oracle数据库  Oracle入门教程  oracle数据库教程 
  • Oracle数据库全球化  (03月01日)
  • Oracle数据库日期过滤方法性能比较  (02/02/2015 13:20:26)
  • Oracle数据库安装中端口被占用问题  (10/29/2014 07:42:24)
  • 在CentOS 6.6上搭建C++运行环境并  (10/10/2015 19:44:40)
  • Oracle数据库无法使用localhost和  (11/14/2014 16:39:10)
  • 使用SQLT来构建Oracle测试用例  (08/28/2014 06:17:41)
本文评论 查看全部评论 (0)
表情: 姓名: 字数