Oracle 表删除大量数据后查询变慢问题
Oracle 表删除大量数据后,即使表中只有几行记录,但用select count(*) from table 来查询发觉都不会马上出来,原因是该表的空间大了,查询起来很慢。解决的方法是把该表所占用的表空间缩小,或者说释放表空间。
alter table XXXX move; 这样处理后就释放了表空间了。但是释放表空间后,表的行号rowid会发生变化,而基于rowid的索引则会变成无效。因此该操作后必须重建索引。否则会提示“ORA-01502: 索引'SMP.ITEMLOG_MID_IDX'或这类索引的分区处于不可用状态” 而重建索引的方法当然可以先drop掉再create ,但是这样太麻烦了,用alter index XXX rebuild 这样最快了,不会改变原来的索引结构。
来源:http://hi.baidu.com/bbz_dd_a/blog/item/1c962bf4b69666dff2d38588.html
相关文档:
《oracle大型数据库系统在AIX/unix上的实战详解》集中讨论34:在AIX环境下实施Oracle 集群RAC的结构 文平 看来能用的起IBM p服务器的用户,都能用的起RAC.大家纷纷来信探讨在AIX上实施RAC的一些问题,大多数问题集中的构架上. 这里我开一个专题集中讨论之! 从Oracle 9i开始,Oracle推出真正应用集群Rea ......
事务处理:所谓的事务处理就是保证操作的完整性,所有操作要么同时成功,要么同时失败。
原理如下:
在Oracle每个连接到数据库的窗口,连接之后建立一个session。一个session里面对数据所做的修改,不会立刻反应在数据库的真实数据之上,是允许回滚的,当一个session提交所有的操作后,数据才真正地做出修改。
& ......
在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。
下面是对lob数据类型的简单介绍。
blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。
clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
bfile:二进制文件;存贮在数据库之外的只读型二进制数据,最大长 ......
1 查看oracle的版本信息
(1)用客户端连接到数据库,执行select * from v$instance
查看version项
(2)select * from product_component_version
(3)或查询V$VERSION查看组件级信息 ......