Red de conocimiento informático - Aprendizaje de programación - Cómo utilizar el diccionario de datos de Oracle para ver la ubicación de los archivos de registro

Cómo utilizar el diccionario de datos de Oracle para ver la ubicación de los archivos de registro

El diccionario de datos de ORACLE es uno de los componentes importantes de la base de datos. Cambia con la generación y cambio de la base de datos.

Se refleja en algunas tablas y vistas bajo el usuario del sistema. Los nombres del diccionario de datos son todos caracteres en mayúsculas en inglés.

El diccionario de datos contiene información del usuario, permisos de usuario, todos los objetos de datos, restricciones de tabla y análisis estadístico de las vistas de la base de datos.

No podemos modificar manualmente la información del diccionario de datos.

Muchas veces, los usuarios comunes de ORACLE no saben cómo usarlo de manera efectiva.

diccionario El nombre y la explicación de toda la tabla del diccionario de datos, que tiene un sinónimo dict

dict_column El nombre y la explicación de los campos en toda la tabla del diccionario de datos

Si queremos consultar el diccionario de datos relacionado con el índice, podemos usar la siguiente declaración SQL:

SQLgt.select * from Dictionary donde instr(comments, 'index')gt; /p>

Si queremos comprender el significado detallado de los nombres de los campos en la tabla user_indexes, podemos usar la siguiente instrucción SQL:

SQLgt; select column_name, comments from dict_columns where table_name=' USER_INDEXES';

Por analogía, puede aprender fácilmente los nombres detallados y las explicaciones del diccionario de datos sin mirar el resto de la documentación de ORACLE.

A continuación se enumeran algunos métodos comunes para que los usuarios de ORACLE consulten y utilicen diccionarios de datos por categoría.

1. usuario

Ver el espacio de tabla predeterminado del usuario actual

SQLgt; seleccione nombre de usuario, default_tablespace de user_users;

Ver el usuario actual role

SQLgt; select * from user_role_privs;

Ver los permisos del sistema y los permisos a nivel de tabla del usuario actual

SQLgt; select * from user_sys_privs;

SQLgt; select * from user_tab_privs;

2. Tablas

Ver todas las tablas bajo el usuario

SQLgt;

p>

Ver tablas cuyos nombres contienen caracteres de registro

SQL>seleccione nombre_objeto, id_objeto de objetos_usuario

donde instr(nombre_objeto,'LOG' )>0;

p>

Ver la hora de creación de la tabla

SQLgt; seleccione object_name, creado a partir de user_objects donde object_name=upper('amp.table_name');

3; table_name');

Ver el tamaño de la tabla

SQLgt; seleccione suma(bytes)/(1024*1024) como "tamaño(M)" from user_segments

donde segment_name= Upper('amp; table_name');

Ver tablas colocadas en el área de memoria ORACLE

SQLgt select table_name, cache from user_tables donde instr(cache, 'Y')gt ;0;

3. Índice

Verifique el número y la categoría de los índices

SQLgt; seleccione index_name, index_type, table_name de user_indexes orden por table_name;

Ver los campos indexados por el índice

SQLgt select * from user_ind_columns donde index_name=upper('amp; index_name' );

Ver el tamaño del índice

SQLgt; seleccione suma(bytes)/(1024*1024) como "tamaño(M)" de user_segments

donde segment_name=upper('amp;index_name');

p>

4.serial_number

Ver número de serie

SQLgt; user_sequences;

5. ver

Ver nombre de vista

SQLgt; seleccione view_name de user_views;

SQLgt; seleccione view_name de user_views;

Comprobar

Consulte la declaración de selección para crear una vista

SQLgt; set view_name, text_length from user_views;

SQLgt; set long 2000; valor de longitud de texto de la vista.

SQLgt;seleccione texto de user_views donde view_name=upper('amp;view_name');

6. Sinónimos

Ver nombres de sinónimos

SQLgt; seleccione * de sinónimos de usuario;

7. Restricciones

Ver restricciones de la tabla

SQLgt; seleccione nombre_restricción, tipo_restricción, condición_búsqueda, nombre_restricción r

from user_constraints donde table_name = Upper('amp;table_name');

SQLgt;select c.column_name

from user_constraints c, user_cons_columns cc

p>

donde c.owner = Upper('amp;table_owner') y c.table_name = Upper('amp;table_name')

SQLgt; seleccione c.constraint_name, c.constraint_type, cc .amp;table_name')

Y c.owner = cc.owner y c.constraint_name = cc.constraint_name

ordenar por cc.position;

8. Funciones almacenadas y procedimientos almacenados

Ver el estado de funciones y procedimientos almacenados

SQLgt select object_name, status from user_objects donde object_type='FUNCTION';

SQLgt ;seleccione nombre_objeto, estado de objetos_usuario donde tipo_objeto='PROCEDIMIENTO';

Ver el código fuente de funciones y procedimientos

SQLgt; seleccione del texto fuente_todo donde propietario=usuario y nombre =upper( 'amp;plsql_name');

3. Ver base de datos SQL

1. Ver nombre y tamaño del espacio de tabla

seleccione t.tablespace_name, round (suma( bytes/(1024*1024)), 0) ts_size

from dba_tablespaces t, dba_data_files d

donde t.tablespace_name = d.tablespace_name

agrupar por t .tablespace_name;

2. Ver el nombre del archivo físico y el tamaño del espacio de tabla

seleccione tablespace_name, file_id, file_name,

round(bytes). /(1024*1024), 0) espacio_total

de dba_data_files

p>

ordenar por tablespace_name;

3. Ver el nombre y el tamaño del segmento de reversión

seleccione segment_name, tablespace_name, r.status,

(inicial_extent/ 1024) InitialExtent, (next_extent/1024) NextExtent,

max_extents, v.data_files

data_files

ordenar por tablespace_name

4; .curext CurExtent

De dba_rollback_segs r, v$rollstat v

Donde r.segment_id = v.usn( )

ordenar por nombre_segmento;

p>

4. Ver archivo de control

seleccione el nombre de v$controlfile;

5. Ver archivo de registro

seleccione miembro de v$logfile;

6. Ver el uso del espacio de tabla

seleccione suma(bytes)/(1024*1024) como espacio_libre, nombre_espacio_tabla

de dba_espacio_libre

agrupar por tablespace_name;

SELECCIONE A.TABLESPACE_NAME, A.BYTES TOTAL, B.BYTES USADOS, C.BYTES LIBRES,

(B.BYTES*100)/A.( B.BYTES*100)/A.BYTES "USADO", (C.BYTES*100)/A.BYTES "LIBRE"

FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C

WHERE A.TABLESPACE_NAME= B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

7. Ver objetos de base de datos

seleccione propietario, tipo_objeto, estado, recuento (*) número de recuento del grupo de todos los objetos por propietario, tipo_objeto, estado;

8. Ver versión de la base de datos

Seleccionar versión DE Versión_componente_producto

Donde SUBSTR(PRODUCT, 1, 6)='Oracle';

9. Ver la fecha de creación y el modo de archivo de la base de datos

Seleccione Creado, Log_Mode, Log_Mode de V $ Base de datos;

4. Gestión de conexiones de usuarios ORACLE

Utilice el administrador del sistema para comprobar cuántos usuarios están conectados actualmente a la base de datos:

SQLgt; nombre de usuario

, sid, serial# de v$session;

Si desea utilizar

SQLgt; alter system kill session 'sid, serial#' para detener una conexión;

Si este comando no funciona, busque su número de proceso UNIX

SQLgt; seleccione pro.spid de v$session ses, v$process pro donde ses.sid=21 y ses.paddr=. pro. addr;

Nota: 21 es el número de sid para una conexión específica

Luego use el comando kill para finalizar este número de proceso.

V. Utilice SQL*PLUS

a. Casi ingrese SQL*Plus

$sqlplus nombre de usuario/contraseña

Salga de SQL* Plus.

SQLgt; salir

b. Obtenga información de ayuda en sqlplus

Enumere todos los comandos SQL y comandos SQL*Plus

SQLgt;

Enumerar información sobre un comando específico

SQLgt; nombre del comando de ayuda

c. DESCRIBE comando para mostrar la estructura de la tabla

DESC. nombre de tabla

d, comando de edición en SQL *Plus

Comando Mostrar búfer SQL

SQLgt.Comando Mostrar búfer SQL

SQLgt. Mostrar comando de búfer SQL

SQLgt.Display comando de búfer SQL

SQLgt.Display comando de búfer SQL

SQLgt.Display comando de búfer SQLL

Modificar el comando SQL

Primero, corrija la línea que se va a modificar a la línea actual

SQLgt;n

Utilice el comando CAMBIAR para modificar el contenido

p>

SQLgt;c/old/ New

Vuelva a verificar si es correcto

SQLgt;L

Utilice el comando INPUT para agregar una fila al búfer SQL o líneas múltiples

SQLgt i

SQLgt; contenido de entrada

e. p>SQLgt; editar nombre de archivo

p>

Puede cambiar el tipo de editor de texto configurando la variable del sistema EDITOR usando el comando DEFINE, definiendo la siguiente línea en el inicio de sesión.

archivo sql

DEFINE_EDITOR=vi

f, ejecutar archivo de comando

SQLgt START test

SQLgt @test

;

Declaraciones SQL*Plus de uso común

a, creación, modificación y eliminación de tablas

El formato del comando para crear una tabla es el siguiente:

crear tabla nombre de tabla (lista de descripción de columnas);

El formato del comando para agregar una nueva columna a una tabla básica es el siguiente:

ALTER TABLE nombre de tabla ADD (lista de descripción de columnas)

Ejemplo: agregue una columna Edad a la tabla de prueba para guardar la edad

sqlgt; alter table test

add (Número de edad(3));

Utilice el siguiente comando para modificar la definición básica de la columna de la tabla:

ALTER TABLE nombre de la tabla

MODIFY (tipo de datos del nombre de la columna)

Ejemplo : Amplíe el ancho de la columna Recuento en la tabla de prueba a 10 caracteres

sqlgt alter atble test

modificar (County char(10));

b. Eliminar la tabla. El formato de la declaración es el siguiente:

DORP TABLE nombre de la tabla;

Ejemplo: la eliminación de la tabla eliminará los datos y la definición de la tabla al mismo tiempo

sqlgt; prueba de eliminación de tabla

c, creación y eliminación de espacio de tabla

Comentarista: Drifting River Fecha del comentario: 2007-9-30 10:09

6. Archivo SH de respaldo lógico ORACLE

Archivo SH de respaldo completo: exp_comp.sh

rq=` fecha "md" `

su - oracle - c "exp system/manager full= y inctype=complete file=/ oracle/export/db_comp$rq.dmp"

Archivo SH para copia de seguridad acumulativa: exp_cumu.sh

rq= ` fecha "md" `

su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp"

SH archivo para copia de seguridad incremental: exp_incr.sh

rq=` date "md" `

su - oracle -c "exp system/manager full=y inctype=incremental file=/oracle /export/db_incr$rq.dmp"

archivo crontab del usuario root

/var/spool/ cron/crontabs/root Agregue el siguiente contenido

0 2 1 * * /oracle/exp_comp.sh

30 2 * * 0-5 /oracle/exp_incr.sh

45 2 * * 6 /oracle/exp_cumu.sh

Por supuesto, esto se puede cambiar según el plan de diferentes necesidades, este es solo un ejemplo.