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

Oracle回收站,ora 38301错误

ora-38301错误,回收站
前几天有同事告诉我,有台服务器上的表空间无法删除,让我看看。登录到服务器,删除表空间,数据库同时报ora-00604和ora-38301错误。起初以为是有数据库对象被锁定,重启数据库后,发现还是报同样的错误。Google后发现可能与10g的一个新特性回收站有关,清空回收站purge recyclebin后,进行删除还是报同样的错误。将表空间offline后进行删除也不行,想可能是还有什么关联对象没有被清空或依旧被占用。想起以前未删除表空间前删除用户时,提示是否删除关联的对象。先删除用户,选择删除用户时同时删除关联的级联对象,再删除表空间时,成功删除。同时也知道了oracle10g的一个新特性。
Oracle10g提供了类似操作系统中的回收站功能。回收站,从原理上来说就是一个数据字典表,放置用户Drop掉的数据库对象信息。当drop table的时候,实际上只是将其重命名,并将table以及相关联的对象如index,constraint等放到回收站(RecycleBin)中,后续如果发现drop错了table,可以使用flashback table命名将回收站中的table还原,这就是Oracle10g的Flashback Drop功能。
1.        启用/禁用RecycleBin:
通过设置初始化参数recyclebin,可以控制是否启用回收站功能,默认是开启的。
;`:v | } h;w2?)L r B0SQL> alter system set recyclebin=off;
系统已更改。
SQL> alter system set recyclebin=on;
系统已更改。
SQL> alter session set recyclebin=off;
会话已更改。
SQL> alter session set recyclebin=on;
会话已更改。
2.        查看回收站:
SQL> SHOW recyclebin;
或者
SQL>select * from recyclebin;
除非拥有sysdba权限,否则每个用户只能看到属于自己的对象。所以,对于用户来说,好像每个人都拥有自己的回收站。即使用户有删除其他schema对象的权限,也只能在recyclebin中看到属于自己的对象。
3.        回收站对象的操作:
当一个表被删除并移动到"回收站"中,它的名字要进行一些转换。这样的目的是为了避免同类对象名称的重复。(这一点和Windows操作系统的回收站不同,Windows中的回收站经过了特殊的处理,操作系统文件可以重名。)转换后的名字格式如下:
BIN$unique_id$version其中BIN代表RecycleBin,unique_id是数据库中该对象的唯一标志,26个字符长度vers


相关文档:

oracle lockmode

ORACLE里锁有以下几种模式:
0:none
1:null 空
e.g. 1级锁有:Select,有时会在v$locked_object出现。
2:Row-S 行共享(RS):共享表锁,sub share 
     e.g. 2级锁有:Select for update,Lock For Update,Lock Row Share 
   ......

oracle存储过程

create or replace procedure inserttestdata
(
   v_count        in   number,
   v_startuserid  in   varchar2,
   v_returnval    out  number )
as
   v_opertime    ......

Oracle时间日期操作

Oracle时间日期操作
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒
sysdate+5/24/60 在系统时间基础上延迟5分钟
sysdate+5/24 在系统时间基础上延迟5小时
sysdate+5 在系统时间基础上延迟5天
add_months(sysdate,-5) 在系统时间基础上延迟5月
add_months(sysdate,-5*12) 在系统时间基础上延迟5年
上月末的日期:sel ......

ORACLE回收站

在执行一个存储过程建表时,出现了这个ORA-38301:无法对回收站中的对象执行DDL/DML错误。发现原来这是10G的一个新特性,回收站。对于drop的表并不是直接删除掉的。而是放在回收站中了。RecycleBin。
可是在回收站中没有查到这个表。
select * from recyclebin;
很奇怪。
进行删除操作。
进行删除后,还是不能对该 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号