当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-04-13

    本文导语: 一、采用数据库级别触发器控制非sys、system的alterdroptruncate权限 --控制alter操作 CREATE OR REPLACE TRIGGER SYS.TRIGGER_ALTERBEFORE ALTERON DATABASEbeginif ora_login_user not in ('SYS','SYSTEM') THENRaise_application_error (-20001,'Please not do ALTER!');end if;end;/ --控制...

一、采用数据库级别触发器控制非sys、system的alterdroptruncate权限
--控制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"







    
 
 

您可能感兴趣的文章:

  • 对于目录,“写权限“和”执行权限“各代表可以进行什么操作?
  • cp操作时的文件权限问题
  • 怎样用chmod将一个文件夹中所有文件改为777的权限(即可以进行任何操作)
  • rh9下把WIN分区的东西MOUNT过去但是做WIN分区的东西没有权限进行操作?怎么办
  • 请问如何在qt中判断当前用户的名称(如:root,usr等)以确定他的操作权限(在软件中).
  • 一个关于JAVA操作oracle数据库时UPDATE权限的问题
  • 在linux 具有操作权限却不能修改该,是怎么回事?
  • linux下配置samba,共享根目录怎么会木有操作权限
  • Android需要提升权限的操作方法
  • C#操作注册表权限不够问题怎么解决
  • Android 操作系统获取Root权限 原理详细解析
  • C#利用WMI操作DNS服务器(可远程操作,需要相应权限)
  • 请问LINUX操作系统是怎样对外围设备进行操作的
  • C#操作txt文件,进行清空添加操作的小例子
  • 怎样在装有红帽操作系统的机子进行格式化,重新装Windows操作系统?
  • 多线程调用ioctl 应在哪进行互斥操作?
  • 对终端辅口进行读操作,程序要嵌在curses环境里
  • 在中断服务程序里可以进行文件的读写操作么?
  • 有没有在jsp中实现对tree型结构进行删除、插入操作
  • 紧急求救,我电脑本来是装了win2000和linux flag,今天我对硬盘进行了fdisk操作,本以为把所有的东西都清掉了,可是当我c盘进行了format
  • linux多线程无法进行阻塞方式的读写操作
  • applet怎样进行文件写入读出操作
  • RHlinux9.0下面进行复制粘贴操作时总是有错?
  • 用C语言如何对img文件进行操作
  • 只使用InputStream/OutputStream进行IO操作行吗?
  • 关于javabean中的对文件进行操作的路径问题?
  • snmp中对表格进行set操作,该如何赋值
  • 在Red hat 是否支持类似windows的远程终端进行图形界面操作?
  • 用RMI进行远程对象调用的时候,可不可以实现多个调用远程对象的并发操作
  • BMP 进行数据库操作,与bean本身有什么关系。。
  • 怎样在jsp网页中对服务器上的文件进行操作?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 谁有操作系统PV操作的例子???谁有操作系统PV操作的例子???谢谢!!
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 已安装了Windows操作系统,还想安装Linux。却还想在开机选择操作系统时由Windows引导,请问如何操作。在线等待
  • C++ I/O 成员 flags():操作flags
  • 什么样的操作最耗费服务器的IO操作?
  • C++ I/O 成员 width():操作域宽度
  • 无操作系统下对U盘的操作
  • c#对象中两种copy操作:深拷贝(Deep Copy)与浅拷贝(Shallow Copy)
  • 请问命令行操作下怎么改Linux操作系统的日期和时间?
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 正在学操作系统原理,做操作系统方面的实验用那种工具较好?
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 请问16位操作系统和32位操作系统的区别?
  • Html checkbox标签如何设置默认选中以及用js操作checkbox代码示例
  • 操作系统 iis7站长之家
  • c/c++ 操作符优先级参考
  • 哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • javascript操作html复选框checkbox:如何判断复选框是否被选中
  • 如何在一个用户对application操作时防止别的用户对它操作?(好难啊)
  • Plesk 中操作和设置 Docker 容器
  • java执行操作系统命令的问题:如何判断多个操作系统?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3