Oracle管理索引(四)Oracle修改索引

1、修改索引段存储参数

03:31:28 SQL> alter index scott.indx_ename deallocate unused;

Index altered.

03:31:36 SQL> alter index scott.indx_ename allocate extent(size 1m);

Index altered.

2、重建索引

03:32:48 SQL> alter index indx_ename rebuild;

Index altered.

3、联机重建索引

使用rebuild选项重建索引时,如果其他用户正在表上执行DML操作,那么重建索引将会失败,并显示错误信息“ORA-00054:资源正忙,但指 定一NOWAIT方式获取资源”。为了最小化DML操作的影响,重建索引时,可以使用REBUILD ONLINE选项。示例如下:

ALTER INDEX department_dname REBUILD ONLINE;

4、合并索引

03:37:40 SQL> alter index indx_ename coalesce;

Index altered.

5、删除索引

03:37:40 SQL> drop   index    indx_ename;

6、验证索引

ANALYZE INDEX orders_region_id_idx VALIDATE STRUCTURE;

7、索引监控

SQL> conn scott/tiger

Connected.

SQL> alter index emp_ename_funind monitoring usage;

Index altered.

SQL> select index_name,table_name,monitoring,used from v$object_usage;

INDEX_NAME                     TABLE_NAME      MONITORIN USED

------------------------------ --------------- --------- ---------

EMP_ENAME_FUNIND               EMP             YES       NO

10:01:29 SQL> select * from emp where LOWER(ename)='scott';

EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20

SQL> select * from emp where lower(ename)='scott';

EMPNO ENAME           JOB                    MGR HIREDATE                   SAL       COMM     DEPTNO

---------- --------------- --------------- ---------- ------------------- ---------- ---------- ----------

7788 SCOTT           ANALYST               7566 1987-04-19 00:00:00       3000                    20

SQL> select index_name,table_name,monitoring,used from v$object_usage;

INDEX_NAME                     TABLE_NAME      MONITORIN USED

------------------------------ --------------- --------- ---------

EMP_ENAME_FUNIND               EMP             YES       YES

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-10-02 00:51:56

Oracle管理索引(四)Oracle修改索引的相关文章

mondodb-C#声明一个mongodb地理位置索引,并修改索引范围

问题描述 C#声明一个mongodb地理位置索引,并修改索引范围 默认情况下,mongodb地理空间索引假定你在索引经度/维度,并且这些值的范围是[-180180].但是我的坐标是大地坐标,不是经纬度,怎么在C#声明一个mongodb地理位置索引,并修改索引范围?shell是这样修改的:db.places.ensureIndex( { loc : ""2d"" } { min : -500 max : 500 } ) 解决方案 这里有现成的http://blog.c

提升用户体验和交付应用程序 Oracle管理云获得多行业用户认可

2月23日,甲骨文宣布Oracle管理云(Oracle Management Cloud)业务实现大幅增长,在其上市后一年内即在全球赢得近950家新客户和合作伙伴,包括FORS.IDEA Cellular和Safexpress,它们均选择Oracle管理云来提高IT资源利用率,提升开发运维生产力,确保关键应用程序持续保持运行. Oracle管理云是Oracle云平台(Oracle Cloud Platform)的一部分,集成了一整套的新一代监测.管理和分析云服务,利用机器学习和大数据技术处理客户

Oracle管理索引(五)Oracle索引的维护

一.查看系统表中的用户索引 在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程.包.函数和触发器的定义以及系统回滚段. 一般来说,应该尽量避免在SYSTEM表中存储非SYSTEM用户的对象.因为这样会带来数据库维护和管理的很多问题.一旦SYSTEM表损坏了,只 能重新生成数据库.我们可以用下面的语句来检查在SYSTEM表内有没有其他用户的索引存在. /* Formatted on 2010/6/19 13:22:46 (QP5 v5.115.810.9

Oracle管理索引(一)Oracle管理索引

1.索引的创建语法: CREATE UNIUQE | BITMAP INDEX <schema>.<index_name>      ON <schema>.<table_name>           (<column_name> | <expression> ASC | DESC,            <column_name> | <expression> ASC | DESC,...)     TAB

Oracle管理索引(六)Oracle重建索引

(1)检查需要重建的索引 根据以下几方面进行检查,确定需要重建的索引. 第一,查看SYSTEM表空间中的用户索引 为了避免数据字典的碎片出现,要尽量避免在SYSTEM表空间出现用户的表和索引. select index_name from dba_indexes where tablespace_name="SYSTEM" and owner not in ("SYS","SYSTEM") 第二,确保用户的表和索引不在同一表空间内 表和索引对象的

Oracle管理索引(二)Oracle管理索引基本概念

1.索引的概念 索引是用于加速数据存取的数据库对象.合理地使用索引可以大大降低I/O次数. 2.索引的功能:对记录进行排序,加快表的查询速度. 3.索引的分类: (1)单列索引和复合索引 单列索引是基于单个列所建立的索引:复合索引时基于两列或多列所建立的索引. SQL>CREATE    INDEX    emp_idx1   on  emp( ename, job); SQL>CREATE    INDEX    emp_idx2   on   emp (job  , ename); 可以在

Oracle管理索引(三)Oracle建立索引

1.建立b-tree索引 (1)相关概念 根块(一个):索引顶级块,它包含指向下一级节点(分支块或叶块)的信息. 分支块:它包含指向下一级的节点(分支块或叶块)的信息. 叶块:它包含索引入口数据,索引入口包含索引列值或受限ROWID (2)建立索引 如果在where子句中要经常引用某列或某几列,应该给予这些列值建立B-*树索引 10:23:58 SQL> create index ind_ename on scott.emp(ename) pctfree 30 10:24:32   2  tab

[Oracle]-[recyclebin][索引]-回收站恢复的索引名称修改

从回收站中恢复表后,索引也会自动恢复,但索引的名称仍是回收站中的26位标识,不会改为原始名字,可以使用alter index修改索引名,但需要注意的是因为标识中带有特殊字符,需要用""括起来. SQL> select index_name from user_indexes where table_name='T_EMP'; INDEX_NAME ------------------------------ BIN$3H8OS5vJbB7gQAB/AQAWFg==$0 SQL&g

在Oracle数据库中按用户名重建索引的方法

如果你管理的Oracle数据库下某些应用项目有大量的修改删除操作, 数据索引是需要周期性的重建的. 它不仅可以提高查询性能, 还能增加索引表空间空闲空间大小. 在ORACLE里大量删除记录后, 表和索引里占用的数据块空间并没有释放. 重建索引可以释放已删除记录索引占用的数据块空间. 转移数据, 重命名的方法可以重新组织表里的数据. 下面是可以按ORACLE用户名生成重建索引的SQL脚本: SET ECHO OFF; SET FEEDBACK OFF; SET VERIFY OFF; SET PA