易截截图软件、单文件、免安装、纯绿色、仅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和mysql日期函数对比

MySQL日期字段分Date和Time两种,oracle日期字段只有Date,包含年月日时分秒信息,用当前数据库的系统时间为sysdate,精确到秒,或者用字符串转换日期型函数:
 
    To_date('2001-08-01','YYYY-MM-DD'); 年-月-日
    24小时:分钟:秒的格式  'YYYY-MM-DD HH24:MI:SS'  ......

ORACLE处理日期大全

在oracle中处理日期大全
  TO_DATE格式  
Day:  
dd number 12  
dy abbreviated fri  
day spelled out friday  
ddspth spelled out, ordinal twelfth  
Month:  
mm number 03  
mon abbreviated mar   ......

Oracle移动datafile的位置

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

Oracle EBS: EBS常用SQL


Oracle EBS: EBS常用SQL
最近一直在忙于做EBS的二次开发,离不开拼拼湊湊的SQL语句. 这些都是大家常用的一些SQL,与大家分享,欢迎指正.
/* Formatted on 2009-11-03 23:10:34 (QP5 v5.114.809.3010) */
--1查找系统用户基本信息 author:dezai
Select   USER_ID,
    &nb ......

oracle日期函数集锦

一、 常用日期数据格式
1.Y或YY或YYY 年的最后一位,两位或三位
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_char(sysdate,'YYY') from ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号