今天在做测试中一次偶然发现,详见以下测试过程
引用
SQL> create index t_idx1 on t(dataobj#) tablespace indexs;
Index created.
SQL> alter tablespace indexs offline;
Tablespace altered.
SQL> insert into t select * from t where rownum=1;
insert into t select * from t where rownum=1
*
ERROR at line 1:
ORA-00376: file 5 cannot be read at this time
ORA-01110: data file 5: '/opt/ora11g/oradata/db11g/index01.dbf'
SQL> alter index t_idx1 rebuild;
alter index t_idx1 rebuild
*
ERROR at line 1:
ORA-00376: file 5 cannot be read at this time
ORA-01110: data file 5: '/opt/ora11g/oradata/db11g/index01.dbf'
SQL> alter index t_idx1 rebuild tablespace users;
alter index t_idx1 rebuild tablespace users
*
ERROR at line 1:
ORA-00376: file 5 cannot be read at this time
ORA-01110: data file 5: '/opt/ora11g/oradata/db11g/index01.dbf'
SQL> select INDEX_NAME,status from user_indexes;
INDEX_NAME STATUS
------------------------------ --------
T_IDX1 VALID
SQL> drop index t_idx1;
Index dropped.
SQL> create index t_idx1 on t(dataobj#);
Index created.
由以上可以看出,Oracle rebuild索引的数据源是原索引,即参考原来的索引进行rebuild,而drop再create则不然。顺便提一句,
1、如果将表格用move方式整理碎片,索引将失效,所以需要将索引重建。
引用
SQL> alter table t move;
Table altered.
SQL> select INDEX_NAME,status,tablespace_name from user_indexes;
INDEX_NAME STATUS TABLESPACE_NAME
------------------------------ -------- ------------------------------
T_IDX UNUSABLE USERS
T_IDX1 UNUSABLE INDEXS
2、如果将索引表空间删除,索引也讲随之删除
引用
SQL> drop tablespace indexs including contents and datafiles;
Tablespace dropped.
SQL> select INDEX_NAME,status,tablespace_name from user_indexes;
INDEX_NAME STATUS TABLESPACE_NAME
------------------------------ -------- ------------------------------
T_IDX UNUSABLE USERS
分享到:
相关推荐
本压缩包“SAP_very_useful_Oracle_SQL_cmd.zip_SAP_SAP rebuild index_Table”提供了与SAP系统相关的一系列Oracle数据库操作的实用工具,主要涉及表的管理和索引重建。 首先,解锁阴影实例(unlock shadow ...
使用`ALTER INDEX indexname REBUILD PARTITION partitionname TABLESPACE tablespacename`或`ALTER INDEX indexname REBUILD SUBPARTITION partitioname TABLESPACE tablespacename`命令,可以根据需要改变索引的...
根据提供的信息,我们可以总结出以下关于“索引重建(Index Rebuild)”的相关知识点: ### 索引重建概述 **索引重建**是数据库管理中的一个重要操作,它涉及删除现有的索引并重新创建它。这个过程可以帮助优化...
本文将围绕“如何一次性利用生成的脚本rebuild所有table的index”这一主题展开,介绍相关知识点,并结合提供的`demobld.sql`文件进行说明。 首先,我们需要理解索引的作用。索引类似于书籍的目录,允许数据库系统...
### Oracle更改表空间(table、index、lob) 在Oracle数据库管理中,更改表空间是一项重要的维护任务,尤其是在需要重新组织数据或优化存储时。本文将详细介绍如何通过SQL命令来更改表空间中的表(table)、索引...
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationHigh = 'INDEX_REBUILD_ONLINE,INDEX_REBUILD_OFFLINE', @FragmentationLevel1 = 5, @...
### Oracle Index Internals #### 知识点概览 本文档深入探讨了Oracle数据库中的索引内部机制。主要内容包括各种类型的Oracle索引结构及其实施方式、索引的行为、维护策略以及成本基础优化器如何确定索引的使用...
**ALTER INDEX REBUILD与ALTER INDEX REBUILD ONLINE的主要区别在于扫描方式的不同:** 1. **扫描方式不同:** - `REBUILD`命令使用`INDEX FAST FULL SCAN`(或`TABLE FULL SCAN`,具体取决于统计信息的成本)来...
在SQL Server中,索引重建(Rebuild)是一项重要的维护任务,它有助于优化查询性能,通过重新组织数据页和消除碎片。然而,系统并不直接记录每个索引的最后一次重建时间。当你需要确认某个索引何时进行了重建时,...
因此,为了不影响用户,应选择选项B,但在实际操作中,可能需要使用在线重构建索引(如ALTER INDEX REBUILD ONLINE),这样可以在不锁定索引的情况下进行重建。 4. Oracle数据库的Undo管理:Oracle数据库使用Undo表...
标题中的"SQL2005重新生成索引的的存储过程 sp_rebuild_index 原创"指的是在SQL Server 2005中,作者创建了一个名为`sp_rebuild_index`的自定义存储过程,目的是方便高效地批量重新生成数据库中的索引。这通常用于...
语法:ALTER [UNIQUE] INDEX [user.]index [INITRANS n] [MAXTRANS n] REBUILD [STORAGE n] 例如:alter index pk_detno rebuild storage(initial 1m next 512k); 提示:DBA 经常用 REBUILD 来重建索引可以减少...
ALTER INDEX SPATIAL_INDEX_TC2_DF_335 REBUILD ONLINE; ``` 这将重做名为 SPATIAL_INDEX_TC2_DF_335 的空间索引。 六、 注意事项 在创建空间索引时,需要注意以下几点: * 空间索引只能创建在 sdo_geometry 数据...
如果索引过大,可以通过`ALTER INDEX <INDEXNAME> REBUILD <TABLESPACENAME>`命令进行重构。其次,Oracle支持两种索引访问模式:索引唯一扫描和索引范围扫描,分别针对唯一键查询和范围查询。 基础表的选择对性能...
SQL Server 修复工具 REPAIR_REBUILD SQL Server 是一个复杂的关系数据库管理系统,它提供了强大的数据存储和管理功能。但是,当 SQL Server 遇到 I/O 错误、磁盘问题或其他错误时,数据库可能会损坏,导致数据丢失...
### DELL服务器硬盘掉线后的REBUILD修复操作详解 在企业级服务器运维中,RAID技术作为数据冗余和性能提升的重要手段,被广泛应用。然而,在长时间运行或遇到突发状况时,服务器硬盘可能会出现故障,导致RAID阵列...
通过使用DBMS_REDEFINITION、ALTER TABLE MOVE或ALTER INDEX REBUILD等方式,可以有效地整理和合并碎片,提高数据库的存储效率和查询速度。 再者,回滚段(ROLLBACK SEGMENTS)管理是Oracle事务处理的关键部分。...
- 修改索引:`ALTER INDEX index_name REBUILD;` - 删除索引:`DROP INDEX index_name;` #### 七、事务控制 - **提交事务**:`COMMIT;` - **回滚事务**:`ROLLBACK;` #### 八、PL/SQL - **基本语句块**:PL/SQL ...
Oracle提供了多种方法来帮助我们重构索引,包括`DROP AND RECREATE`、`REBUILD`以及`REBUILD ONLINE`等方式。本文将详细介绍这些不同的索引重构方法,并通过实例展示它们的特点和适用场景。 #### 二、索引重构的...
"nexus index"指的是Nexus仓库中的索引,这个索引包含了仓库中所有组件的元数据,如版本信息、依赖关系等,方便开发者快速查找和下载所需的组件。 在默认情况下,Nexus会定期自动更新其索引,但这个过程可能比较...