Obtener los índices de una tabla (en DB2 y en Oracle)

Cuando vemos nuevos desarrollos, mantenimientos o atendemos incidencias, por lo general tenemos dudas que siempre debemos absolver mientras analizamos un pedido.

Por ejemplo, es muy habitual que necesitemos saber con qué índices cuenta una tabla, y con qué campos  están formados dichos índices.

Quienes trabajan en entornos gráficos, encontrarán esta duda muy trivial, ya que en pocos clics, con TOAD o con SQL Developer, por ejemplo, esta información es fácilmente identificable y de ubicación rápida.

Pero ¿qué si trabajamos en Mainframe con una Base de Datos (BD) en DB2? y ¿qué si trabajamos en UNIX con una BD en Oracle, la cual no se puede acceder con una herramienta gráfica? Esto puede pasar. A mí me sucede en el trabajo, dado que las dos aplicaciones que vemos en mi equipo están en estas tecnologías. Una en Mainframe y la otra en un UNIX.

En Oracle es más sencillo; buscas en Internet y en pocos minutos obtienes un query que te saca del apuro. En DB2 también, no obstante hay menos páginas con esta información. De todas maneras, siempre es bueno tener estos datos a la mano. Me ha pasado que la información que encontré en una página, meses después no la pude ubicar porque la página ya no estaba en línea.

¡Mi incidencia!
¡Mi incidencia sigue abierta!¡Cuáles son los índices de esa tabla!

Entonces, el query en DB2 puede ser este:

SELECT SUBSTR(TBNAME, 1, 10) AS TBNAME,      
      SUBSTR(NAME, 1, 15) AS NAME,          
      SUBSTR(COLNAME, 1, 15) AS COLNAME,    
      UNIQUERULE ,                          
      CLUSTERING                            
 FROM SYSIBM.SYSINDEXES A , SYSIBM.SYSKEYS B
WHERE A.NAME  = B.IXNAME                      
  AND A.TBNAME = ‘<NOMBRE_TABLA>’;

Y en Oracle, este:

Select table_name, index_name, column_name FROM user_ind_columns where table_name like ‘<NOMBRE_TABLA>’ Order by table_name, column_name;

El motivo de este post es pasar el testigo, mantener este contenido en línea, y tener esta información a la mano, para mí, y para quien lo necesite.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s