Cómo utilizar el diccionario de datos de Oracle para ver la ubicación de los archivos de registro
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>
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)); p>
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" p>
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.