Getting Information on Indexes : user_indexes « System Tables Data Dictionary « Oracle PL/SQL Tutorial

Oracle PL/SQL Tutorial
1. Introduction
2. Query Select
3. Set
4. Insert Update Delete
5. Sequences
6. Table
7. Table Joins
8. View
9. Index
10. SQL Data Types
11. Character String Functions
12. Aggregate Functions
13. Date Timestamp Functions
14. Numerical Math Functions
15. Conversion Functions
16. Analytical Functions
17. Miscellaneous Functions
18. Regular Expressions Functions
19. Statistical Functions
20. Linear Regression Functions
21. PL SQL Data Types
22. PL SQL Statements
23. PL SQL Operators
24. PL SQL Programming
25. Cursor
26. Collections
27. Function Procedure Packages
28. Trigger
29. SQL PLUS Session Environment
30. System Tables Data Dictionary
31. System Packages
32. Object Oriented
33. XML
34. Large Objects
35. Transaction
36. User Privilege
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Oracle PL/SQL Tutorial » System Tables Data Dictionary » user_indexes 
30. 82. 1. Getting Information on Indexes

You can get information on your indexes from user_indexes.

SQL> desc user_indexes;
 Name                       Null?    Type
 ---------------------------

 INDEX_NAME                 NOT NULL VARCHAR2(30)
 INDEX_TYPE                          VARCHAR2(27)
 TABLE_OWNER                NOT NULL VARCHAR2(30)
 TABLE_NAME                 NOT NULL VARCHAR2(30)
 TABLE_TYPE                          VARCHAR2(11)
 UNIQUENESS                          VARCHAR2(9)
 COMPRESSION                         VARCHAR2(8)
 PREFIX_LENGTH                       NUMBER
 TABLESPACE_NAME                     VARCHAR2(30)
 INI_TRANS                           NUMBER
 MAX_TRANS                           NUMBER
 INITIAL_EXTENT                      NUMBER
 NEXT_EXTENT                         NUMBER
 MIN_EXTENTS                         NUMBER
 MAX_EXTENTS                         NUMBER
 PCT_INCREASE                        NUMBER
 PCT_THRESHOLD                       NUMBER
 INCLUDE_COLUMN                      NUMBER
 FREELISTS                           NUMBER
 FREELIST_GROUPS                     NUMBER
 PCT_FREE                            NUMBER
 LOGGING                             VARCHAR2(3)
 BLEVEL                              NUMBER
 LEAF_BLOCKS                         NUMBER
 DISTINCT_KEYS                       NUMBER
 AVG_LEAF_BLOCKS_PER_KEY             NUMBER
 AVG_DATA_BLOCKS_PER_KEY             NUMBER
 CLUSTERING_FACTOR                   NUMBER
 STATUS                              VARCHAR2(8)
 NUM_ROWS                            NUMBER
 SAMPLE_SIZE                         NUMBER
 LAST_ANALYZED                       DATE
 DEGREE                              VARCHAR2(40)
 INSTANCES                           VARCHAR2(40)
 PARTITIONED                         VARCHAR2(3)
 TEMPORARY                           VARCHAR2(1)
 GENERATED                           VARCHAR2(1)
 SECONDARY                           VARCHAR2(1)
 BUFFER_POOL                         VARCHAR2(7)
 USER_STATS                          VARCHAR2(3)
 DURATION                            VARCHAR2(15)
 PCT_DIRECT_ACCESS                   NUMBER
 ITYP_OWNER                          VARCHAR2(30)
 ITYP_NAME                           VARCHAR2(30)
 PARAMETERS                          VARCHAR2(1000)
 GLOBAL_STATS                        VARCHAR2(3)
 DOMIDX_STATUS                       VARCHAR2(12)
 DOMIDX_OPSTATUS                     VARCHAR2(6)
 FUNCIDX_STATUS                      VARCHAR2(8)
 JOIN_INDEX                          VARCHAR2(3)
 IOT_REDUNDANT_PKEY_ELIM             VARCHAR2(3)
 DROPPED                             VARCHAR2(3)

status Indicates whether the index is valid. Set to VALID or INVALID.

SQL>
SQL> -- create demo table
SQL> create table Employee(
  2    ID                 VARCHAR2(BYTE)         NOT NULL,
  3    First_Name         VARCHAR2(10 BYTE),
  4    Last_Name          VARCHAR2(10 BYTE),
  5    Start_Date         DATE,
  6    End_Date           DATE,
  7    Salary             Number(8,2),
  8    City               VARCHAR2(10 BYTE),
  9    Description        VARCHAR2(15 BYTE)
 10  )
 11  /

Table created.

SQL>
SQL> -- prepare data
SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2               values ('01','Jason',    'Martin',  to_date('19960725','YYYYMMDD'), to_date('20060725','YYYYMMDD'), 1234.56'Toronto',  'Programmer')
  3  /

row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('02','Alison',   'Mathews', to_date('19760321','YYYYMMDD'), to_date('19860221','YYYYMMDD'), 6661.78'Vancouver','Tester')
  3  /

row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('03','James',    'Smith',   to_date('19781212','YYYYMMDD'), to_date('19900315','YYYYMMDD'), 6544.78'Vancouver','Tester')
  3  /

row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('04','Celia',    'PRice',    to_date('19821024','YYYYMMDD'), to_date('19990421','YYYYMMDD'), 2344.78'Vancouver','Manager')
  3  /

row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)
  2                values('05','Robert',   'Black',   to_date('19840115','YYYYMMDD'), to_date('19980808','YYYYMMDD'), 2334.78'Vancouver','Tester')
  3  /

row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('06','Linda',    'Green',   to_date('19870730','YYYYMMDD'), to_date('19960104','YYYYMMDD'), 4322.78,'New York',  'Tester')
  3  /

row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('07','David',    'Larry',   to_date('19901231','YYYYMMDD'), to_date('19980212','YYYYMMDD'), 7897.78,'New York',  'Manager')
  3  /

row created.

SQL> insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)
  2                values('08','James',    'Cat',     to_date('19960917','YYYYMMDD'), to_date('20020415','YYYYMMDD'), 1232.78,'Vancouver', 'Tester')
  3  /

row created.

SQL>
SQL>
SQL>
SQL> -- display data in the table
SQL> select from Employee
  2  /

ID   FIRST_NAME LAST_NAME  START_DAT END_DATE      SALARY CITY       DESCRIPTION
---- ---------- ---------- --------- --------- ---------- ---------- ---------------
01   Jason      Martin     25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer
02   Alison     Mathews    21-MAR-76 21-FEB-86    6661.78 Vancouver  Tester
03   James      Smith      12-DEC-78 15-MAR-90    6544.78 Vancouver  Tester
04   Celia      PRice      24-OCT-82 21-APR-99    2344.78 Vancouver  Manager
05   Robert     Black      15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester
06   Linda      Green      30-JUL-87 04-JAN-96    4322.78 New York   Tester
07   David      Larry      31-DEC-90 12-FEB-98    7897.78 New York   Manager
08   James      Cat        17-SEP-96 15-APR-02    1232.78 Vancouver  Tester

rows selected.

SQL>
SQL>
SQL> CREATE INDEX employee_last_name_func_idx
  2  ON employee(UPPER(last_name));

Index created.

SQL> SELECT first_name, last_name
  2  FROM employee
  3  WHERE last_name = UPPER('PRICE');

no rows selected

SQL>
SQL> SELECT index_name, table_name, uniqueness, status
  2  FROM user_indexes
  3  WHERE table_name IN ('EMPLOYEE');

INDEX_NAME                     TABLE_NAME                     UNIQUENES STATUS
------------------------------ ------------------------------ --------- --------
EMPLOYEE_LAST_NAME_FUNC_IDX    EMPLOYEE                       NONUNIQUE VALID

SQL>
SQL> drop index employee_last_name_func_idx;

SQL> -- clean the table
SQL> drop table Employee
  2  /

Table dropped.

SQL>
SQL>
SQL>
30. 82. user_indexes
30. 82. 1. Getting Information on Indexes
30. 82. 2. show parameter optimizer_index
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.