Cómo utilizar el diccionario de datos de Oracle de 12c

Aprender el dentro y fuera del diccionario de datos es una de las cosas más importantes que puede hacer para convertirse en una de primera categoría Oracle Database Administrator 12c (DBA). los Diccionario de datos es una colección de tablas y vistas dentro de la base de datos que contienen toda la información sobre el estado actual y el pasado de la base de datos.

Los datos en el diccionario de datos se modifica únicamente por sí mismo de Oracle a través de los procesos en ejecución de la base de datos. Oracle registra millones de bits de información por los que se pueden utilizar para sintonizar, seguro, y solucionar problemas de la base de datos. Puede tomar años para que usted pueda dominar. Entender el diccionario de datos de Oracle es una de las varas de medir entre junior o senior de DBA.

El diccionario de datos se puede dividir en las categorías indicadas a continuación.

PrefijoEscribeDescripción
USER_VerObjetos propiedad de usuario actual
TODAS_VerTodos los objetos a los que el usuario actual tiene acceso
DBA_VerTodos los objetos en la base de datos
V $VerVista de rendimiento dinámico. Poblados de la memoria y controlfiles
GV $VerAl igual que V $, pero, por varias instancias en un clusterenvironment
X $MesaLas tablas internas que contienen datos crípticos, pero a menudo útiles

De los tipos de vista del diccionario de la lista, como DBA, usted pasará la mayor parte de su tiempo leyendo los DBA_ y V $ vistas. Estas vistas proporcionan los datos más útiles y más fáciles de interpretar. De hecho, los usuarios que no son administradores de bases menudo no tendrán acceso a los DBA_ y V $ vistas.

Por otro lado, todos los usuarios tienen acceso a las vistas USER_ y ALL_. Mantener el DBA_, V $ y X $ vistas oculta es una parte importante de la seguridad de base de datos. Parte de la información en los puntos de vista podría ser utilizado por las personas para acceder a los datos en los que no se les permite.

Oracle 12c tiene miles de vistas del diccionario de datos en la base de datos. En la base de datos utilizada para fines de demostración, hay aproximadamente tres mil.

La mayoría, pero no todos, DBA_ y V $ vistas tienen nombres que son algo intuitivo. Por ejemplo, aquí está una muestra de puntos de vista útiles en la base de datos.

NombreContenidos
DBA_TABLESInformación sobre todas las tablas
DBA_USERSInformación sobre todos los usuarios
DBA_AUDIT_TRAILInformación sobre las auditorías capturado
V $ BASE DE DATOSInformación sobre la configuración de base de datos actual
V $ CONTROLFILEInformación sobre los archivos de control de la base de datos actuales

A pesar de la gran cantidad de objetos disponibles para usted diccionario de datos, obtener información sobre ellos es relativamente fácil con un poco de práctica. La documentación de Oracle va a ser la fuente definitiva de toda la información, una lista de los diferentes puntos de vista y la descripción de los contenidos de las distintas columnas. Usted puede obtener la documentación de la vista documentos de Oracle.

Con un poco de conocimiento y sentido común, también se puede obtener una gran cantidad de la información usted mismo. Muchos de los puntos de vista tienen nombres que son fáciles de entender. Con esa información, se puede observar el interior de la base de datos para ver qué vistas están disponibles. En realidad, hay una vista de los puntos de vista:

SQL> describir dictionaryName Null? Escribe----------------------------- -------- ------------ -------- TABLE_NAME VARCHAR2 (128) COMMENTSVARCHAR2 (4000)

A veces se puede encontrar lo que busca con un poco de sentido común y la inteligencia. Digamos que usted está buscando información acerca de los índices:

SQL> SELECT table_name2 DESDE DONDE dictionary3 nombre_tabla como 'DBA%INDEX%'-TABLE_NAME------------------------------------------------------------DBA_INDEXESDBA_INDEXTYPESDBA_INDEXTYPE_ARRAYTYPESDBA_INDEXTYPE_COMMENTSDBA_INDEXTYPE_OPERATORSDBA_PART_INDEXESDBA_XML_INDEXES7 filas seleccionadas.

Familiarizarse con el diccionario de datos es primordial. Usted puede escuchar que no hay necesidad de preocuparse por el diccionario de datos porque todas las herramientas de la GUI le dan la información que usted necesita. El hecho es que esas herramientas de la GUI no leen de las vistas del diccionario de datos.

Sin embargo, no dejes que eso te da una falsa sensación de seguridad. Más de una vez, hemos visto en las herramientas de la GUI han fracasado o se han ido fuera de línea. Si usted no se siente cómodo navegar por el diccionario de datos de SQL, podría ser el final de su trabajo DBA en caso de emergencia.

También le aconsejamos que a pesar de la disponibilidad de las herramientas de la GUI, un DBA que es eficiente en la consulta del diccionario de datos con SQL a menudo pueden obtener respuestas precisas más rápidamente que alguien que use una herramienta como la base de datos Express.

Por último, si quieres informes muy específicos generados en un horario, no hay mejor manera que para escribir sus propios informes y planificación para ejecutar como un script a través de un programador, como el programador de tareas de Windows o UNIX / Linux crontab. Entonces, después de generar el informe, el script puede enviar los resultados a través del correo electrónico.

Usted puede tener gusto de tener informes que no son enlatados en el Administrador corporativo, tales como usuarios con Failed Login de debido a la Clave errónea en las últimas 24 horas:

SQL> SELECT NOMBRE DE USUARIO, userhost, TIMESTAMP, ACTION_NAME, RETURNCODE2 DESDE DONDE dba_audit_trail3 nombre de usuario = 'ORDEN HR'4 POR timestamp-NOMBRE DE USUARIO USERHOSTTIMESTAMP ACTION_NAME RETURNCODE -------- ------------- - --------- ------------ ---------- HRorasvr0106-JUN-13 DE ACCESO 0HRorasvr0108-JUN-13 DE ACCESO 1017HRorasvr0109-JUN-13 LOGOFF0HRorasvr0116-JUN-13 DE ACCESO 0HRorasvr0117-JUN-13 DE ACCESO 0HRorasvr0117-JUN-13 LOGOFF0HRorasvr0118-JUN-13 LOGOFF0HRorasvr0128-JUN-13 DE ACCESO 0HRorasvr0128-JUN-13 DE ACCESO 1017HRorasvr0128-JUN-13 LOGOFF010 filas seleccionado.

O, tablas creadas por HR del usuario en los últimos 100 días:

SQL> SELECT object_name, created2 DESDE DONDE dba_objects3 creado> sysdate - 1004 Y tipo_objeto = 'TABLE'5 y propietario =' HR'-OBJECT_NAME CREADO --------------- ----- ---- REGIONES 09-MAY-13LOCATIONS09-MAY-13JOB_HISTORY 09-MAY-13JOBS 09-MAY-13EMPLOYEES09-MAY-13DEPARTMENTS 09-MAY-13COUNTRIES09-MAY-137 filas seleccionadas.



» » » Cómo utilizar el diccionario de datos de Oracle de 12c