易截截图软件、单文件、免安装、纯绿色、仅160KB

实现ORACLE如何去除某些用户的DROP权限!

有时在进行项目开发过程中,由于一些误操作会导致数据库的表给误删除掉,为了避免这一情况的发生,如何严格控制某用户不能对自己的库进行DROP权限,需要进行相关设置,由于默认connect的权限也是具有drop自己用户的表结构,通过product_user_profile只能限制sql*plus的操作,而不能限制其它第三方oracle连接工具,最有效的方法就是通过在system用户下建立触发器来限制。
具体如下:
这个trigger建到了system用户下,TEMP几个用户都无法Dop自己的对象,你可以参照进行修改。
CREATE OR REPLACE TRIGGER "TRG_DENY_DROP_UBISP" BEFORE
DROP ON DATABASE
BEGIN
  IF (ORA_DICT_OBJ_OWNER='TEMP_ODS' OR
      ORA_DICT_OBJ_OWNER='TEMP_MID' OR
      ORA_DICT_OBJ_OWNER='TEMP_DW' OR
      ORA_DICT_OBJ_OWNER='TEMP_REPORT' OR
      ORA_DICT_OBJ_OWNER='TEMP_WEB' OR
      ORA_DICT_OBJ_OWNER='TEMP_REPORT_NEW')
     AND ORA_LOGIN_USER<>'TEMP_ADMIN'---排除的用户
     AND ORA_DICT_OBJ_TYPE='TABLE' AND ORA_DICT_OBJ_NAME NOT LIKE '%OLD' THEN--可以让被限制的用户删除的表
     RAISE_APPLICATION_ERROR(-20010,'你不能创建/删除TEMP_%用户下的任何表.');
  END IF;
END TRG_DENY_DROP_UBISP;
注:如果要对当前用户限制所有对象的DROP操作,可将触发器中的ORA_DICT_OBJ_TYPE和ORA_DICT_OBJ_NAME的属性去掉即可。


相关文档:

ORACLE递归统计所有子孙机构!

select bid from t_branch c start with c.upbid  ='11000000'  connect by prior c.bid=c.upbid
说明:
1、统计某个机构下所有的子孙机构。如统计北京机构下的子孙机构,包括:朝阳区机构、海淀营销机构、、、青龙桥乡机构、、、、一直到最底层的机构。
2、upbid是指上级机构的ID。海淀区机构ID(bid)的上级机 ......

Oracle的SQL语句中如何处理‘&’符号

在Oracle中,如果在sql中出现'&'符号,会被自动转义;
而被要求输入在&符号后跟随的字符串的值,例如:
update tablename set columnName='http://www.g.cn/cv2.jsp?spid=222&cid=333';
执行这个操作时,Oracle会提示
Enter value for cid:
原因是在Oracle中 & 符号是作为转义字符使用的。
解决方法 ......

Oracle移动datafile的位置

随着时间的推移,有可能原来没有规划好的数据文件所在的盘空间已经不够了,或者我们有需要把一个datafile移动好其他的地方,这时候我们改如何操作呢?
这里有最简单的一个方法
1. offline数据文件所被包含的tablespace,
alter tablespace testts offline;
2. rename 原有的datafile指向新的路径
#cp /opt/oracle/orad ......

Oracle 10g安装手册

(1)创建 Oracle 组和用户帐户
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
设置 oracle 帐户的口令:
passwd oracle
(2)创建目录
例如:
# mkdir -p /orac ......

oracle常用sql语句

修改列属性
alter table tablename modify(name ,varchar2(10)) 列宽度不得小于修改前的宽度
日志管理
视图 v$logfile
alter database add logfile 'd:\orcl01.log' size 10m;//添加组
alter database add logfile member 'd:\orcl02.log' to group 4;//向4组中添加成员
alter database drop logfile member 'd: ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号