-
1. Verifique el nombre y el tamaño del espacio de la tabla.
seleccione t.tablespace_name, round(suma(bytes/(1024*1024)),0) ts_size
de dba_tablespaces t, dba_data_files d
donde t.tablespace_name = d.tablespace_name
agrupar por t.tablespace_name;
2. Ver el nombre y el tamaño de los archivos físicos en el espacio de tabla.
seleccione nombre_espacio_tabla, id_archivo, nombre_archivo,
redondo(bytes/(1024*1024),0) espacio_total
de dba_data_files
ordenar por tablespace_name;
3. Verifique el nombre y el tamaño del segmento de reversión.
seleccione nombre_segmento, nombre_espacio_tabla, r.status,
(extensión_inicial/1024) Extensión inicial, (extensión_siguiente/1024) Extensión siguiente,
max_extents, v.curext CurExtent
De dba_rollback_segs r, v$rollstat v
Donde r.segment_id = v.usn(+)
ordenar por nombre_segmento;
4. Ver el archivo de control
seleccione el nombre de v$controlfile;
5. Ver archivos de registro
seleccione miembro de v$logfile;
6. Verifique el uso del espacio de la tabla.
seleccione suma(bytes)/(1024*1024) como espacio_libre,nombre_espacio_tabla
de dba_free_space
agrupar por nombre_espacio_tabla;
SELECCIONE A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES UTILIZADOS, C.BYTES LIBRES,
(B.BYTES*100)/A.BYTES "% USADO",(C.BYTES*100)/A.BYTES "% LIBRE"
DESDE SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
DONDE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
7. Ver objetos de la 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. Verifique la versión de la base de datos.
Seleccione la versión DE Product_component_version
Donde SUBSTR(PRODUCTO,1,6)='Oracle';
9. Ver la fecha de creación y el método de archivo de la base de datos.
Seleccione Creado, Log_Mode, Log_Mode de V$Database;
10. Capture SQL que se ha estado ejecutando durante mucho tiempo.
formato de nombre de usuario de columna a12
formato de nombre de operación de columna a16
formato de progreso de columna a8
seleccione nombre de usuario, sid, nombre de operación,
round(hasta ahora*100 / trabajo total,0) || '%' como progreso,
tiempo_restante,sql_text
de v$session_longops, v$sql
donde tiempo_restante <> 0
y sql_address = dirección
y sql_hash_value = valor_hash
/
11. Ver la información de parámetros de la hoja de datos.
SELECCIONE nombre_partición, valor_alto, longitud_valor_alto, nombre_espacio_tabla,
pct_free, pct_used, ini_trans, max_trans, extensión_inicial,
next_extent, min_extent, max_extent, pct_increase, LISTAS LIBRES,
freelist_groups, REGISTRO, BUFFER_POOL, num_rows, bloques,
bloques_vacíos, espacio_avg, cadena_cnt, avg_row_len, tamaño_muestra,
último_analizado
DESDE dba_tab_partitions
--DONDE nombre_tabla = :tname Y propietario_tabla = :towner
ORDENAR POR posición_partición
12. Ver transacciones no confirmadas
seleccione * de v$locked_object;
seleccione * de v$transacción;
13. Encuentre qué procesos utilizan el objeto
seleccionar
p.spid,
s.sid,
s.serial# serial_num,
s.nombre de usuario nombre_usuario,
a.tipo tipo_objeto,
s.osuser os_user_name,
un.propietario,
a.objeto nombre_objeto,
decodificar(signo(48 - comando),
1,
to_char(comando), 'Código de acción #' || to_char(comando) ) acción,
p.programa oracle_process,
terminal terminal,
s.programa programa,
s.status estado_sesión
de v$sesión s, v$acceso a, v$proceso p
donde s.paddr = p.addr y
s.tipo = 'USUARIO' y
a.sid = s.sid y
a.object='SUBSCRIBER_ATTR'
ordenar por s.username, s.osuser
14. Vista de segmento de retroceso
seleccione rownum, sys.dba_rollback_segs.segment_name Nombre, v$rollstat.extents
Extensiones, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs,
v$rollstat.gets Obtiene, v$rollstat.waits Espera, v$rollstat.writes Escribe,
estado de sys.dba_rollback_segs.status de v$rollstat, sys.dba_rollback_segs,
v$rollname donde v$rollname.name(+) = sys.dba_rollback_segs.segment_name y
v$rollstat.usn (+) = v$rollname.usn ordenar por número de fila
15. Proceso que consume recursos (sesión superior)
seleccione s.schemaname nombre_esquema, decodificar (signo (48 - comando), 1,
to_char(comando), 'Código de acción #' || to_char(comando) ) acción, estado
session_status, s.osuser os_user_name, s.sid, p.spid, s.serial# serial_num,
nvl(s.nombredeusuario, '[proceso de Oracle]') nombre_usuario, s.terminal terminal,
s.program programa, st.value valor_criterio de v$sesstat st, v$sesión s, v$proceso p
donde st.sid = s.sid y st.statistic# = to_number('38') y ('ALL' = 'ALL'
o s.status = 'ALL') y p.addr = s.paddr orden por st.value desc, p.spid asc, s.username asc, s.osuser asc
16. Verificar el estado de bloqueo
seleccione /*+ REGLA */ ls.osuser os_user_name, ls.username nombre_usuario,
decode(ls.type, 'RW', 'Bloqueo de cola de espera de fila', 'TM', 'Bloqueo de cola de espera DML', 'TX',
'Bloqueo de cola de transacciones', 'UL', 'Bloqueo proporcionado por el usuario') lock_type,
o.object_name objeto, decodificar (ls.lmode, 1, null, 2, 'Row Share', 3,
'Fila Exclusiva', 4, 'Compartir', 5, 'Compartir Fila Exclusiva', 6, 'Exclusiva', nula)
lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2
desde sys.dba_objects o, (seleccione s.osuser, s.username, l.type,
l.lmode, s.sid, s.serial#, l.id1, l.id2 de v$session s,
v$lock l donde s.sid = l.sid ) ls donde o.object_id = ls.id1 y o.owner
<> Orden 'SYS' por o.propietario, o.object_name
17. Consulta el estado de espera
SELECCIONE v$waitstat.class, v$waitstat.count recuento, SUM(v$sysstat.value) sum_value
DESDE v$waitstat, v$sysstat DONDE v$sysstat.name IN ('el bloque db obtiene',
'obtenciones consistentes') grupo por v$waitstat.class, v$waitstat.count
18. Comprobar situación sga
SELECCIONE NOMBRE, BYTES DE SYS.V_$SGASTAT ORDEN POR NOMBRE ASC
19. Ver objeto atrapado
SELECCIONE propietario, nombre, db_link, espacio de nombres,
tipo, sharable_mem, cargas, ejecuciones,
cerraduras, pines, guardados DESDE v$db_object_cache
20. Ver V$SQLAREA
SELECCIONE SQL_TEXT, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, CLASIFICACIONES,
VERSION_COUNT, LOADED_VERSIONS, OPEN_VERSIONS, USERS_OPENING, EJECUCIONES,
USUARIOS_EJECUTANDO, CARGAS, PRIMERA_CARGA_TIEMPO, INVALIDACIONES, PARSE_CALLS, DISK_READS,
BUFFER_GETS, ROWS_PROCESSED DE V$SQLAREA
veintiuno. Ver el número de categorías de objetos
seleccione decodificar (o.type#,1,'INDEX', 2,'TABLE', 3, 'CLUSTER', 4, 'VIEW', 5,
'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) object_type , count(*) cantidad de
sys.obj$ o donde o.type# > 1 grupo por decodificación (o.type#,1,'INDEX', 2,'TABLE', 3
, 'CLÚSTER', 4, 'VER', 5, 'SINÓNIMO', 6, 'SECUENCIA', 'OTRO') selección de unión
'COLUMNA', recuento (*) de sys.col$ union seleccione 'DB LINK', recuento (*) de
Veintidós. Ver tipos de objetos por usuario
seleccione el esquema u.name, suma (decode (o.type#, 1, 1, NULL)) índices,
suma(decodificar(o.tipo#, 2, 1, NULL)) tablas, suma(decodificar(o.tipo#, 3, 1, NULL))
clústeres, vistas de suma (decodificación (o.tipo#, 4, 1, NULL)), suma (decodificación (o.tipo#, 5, 1,
NULL)) sinónimos, suma(decode(o.type#, 6, 1, NULL)) secuencias,
suma(decodificar(o.tipo#, 1, NULL, 2, NULL, 3, NULL, 4, NULL, 5, NULL, 6, NULL, 1))
otros de sys.obj$ o, sys.user$ u donde o.type# >= 1 y u.user# =
o.owner# y u.name <> 'PUBLIC' agrupar por u.name ordenar por
sys.link$ unión seleccione 'CONSTRAINT', recuento (*) de sys.con$
veintitrés. Información relacionada sobre la conexión
1) Verifique qué usuarios están conectados
seleccione s.osuser os_user_name, decodificar (signo (48 - comando), 1, to_char (comando),
'Código de acción #' || to_char(comando) ) acción, p.program oracle_process,
estado session_status, s.terminal terminal, s.programa programa,
s.username nombre_usuario, s.fixed_table_sequence actividad_metro, 'consulta,
0 memoria, 0 max_memory, 0 cpu_usage, s.sid, s.serial# serial_num
de v$sesión s, v$proceso p donde s.paddr=p.addr y s.type = 'USUARIO'
ordenar por s.username, s.osuser
2) Verifique el uso de recursos de la conexión correspondiente según v.sid
seleccione n.nombre,
v.valor,
n.clase,
n.estadística#
de v$nombredestata n,
$sesstat v
donde v.sid = 71 y
v.estadística# = n.estadística#
ordenar por n.clase, n.estadística#
3) Verifique el sql en ejecución de la conexión correspondiente según sid
seleccione /*+ PUSH_SUBQ */
tipo_comando,
texto_sql,
memoria_compartible,
memoria_persistente,
tiempo de ejecución_mem,
tipos,
número_de_versiones,
versiones_cargadas,
versiones_abiertas,
usuarios_apertura,
ejecuciones,
usuarios_ejecutando,
cargas,
primer_tiempo_de_carga,
invalidaciones,
llamadas_análisis,
lecturas de disco,
buffer_gets,
filas_procesadas,
hora_inicio de fecha del sistema,
fecha del sistema hora_finalización,
'>' || dirección dirección_sql,
estado 'N'
desde v$sqlarea
donde dirección = (seleccione sql_address de v$session donde sid = 71)
veinticuatro. Consultar el uso del espacio de tabla, seleccione a.tablespace_name "nombre del espacio de tabla",
100 rondas ((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "Ocupación (%)",
round(a.bytes_alloc/1024/1024,2) "Capacidad (M)",
round(nvl(b.bytes_free,0)/1024/1024,2) "Gratis(M)",
round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "Usar (M)",
"Segmento de extensión máxima (M)" más grande,
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "tiempo de muestreo"
desde (seleccione f.tablespace_name,
suma(f.bytes) bytes_alloc,
suma(decodificar(f.autoextensible,'SÍ',f.maxbytes,'NO',f.bytes)) maxbytes
de dba_data_files f
grupo por nombre_espacio_tabla) a,
(seleccione f.tablespace_name,
suma(f.bytes) bytes_libres
de dba_free_space f
grupo por tablespace_name) b,
(seleccione ronda (máx. (longitud ff.) * 16/1024,2) Más grande,
ts.name nombre_espacio_tabla
de sys.fet$ ff, sys.file$ tf,sys.ts$ ts
donde ts.ts#=ff.ts# y ff.file#=tf.relfile# y ts.ts#=tf.ts#
agrupar por ts.name, tf.blocks) c
donde a.tablespace_name = b.tablespace_name y a.tablespace_name = c.tablespace_name
25. Consultar el grado de fragmentación del espacio de tabla.
seleccione tablespace_name,count(tablespace_name) del grupo dba_free_space por tablespace_name
tener recuento(tablespace_name)>10;
alterar el nombre del espacio de tabla fusionarse;
alterar el nombre de la tabla desasignar no utilizado;
crear o reemplazar la vista ts_blocks_v como
seleccione tablespace_name, block_id, bytes, bloques, 'espacio libre' segment_name de dba_free_space
unión todos
seleccione nombre_espacio_tabla, id_bloque, bytes, bloques, nombre_segmento de dba_extents;
seleccione * de ts_blocks_v;
seleccione tablespace_name, suma (bytes), máx (bytes), recuento (block_id) de dba_free_space
agrupar por nombre_espacio_tabla;
26. Verifique qué instancias se están ejecutando:
seleccione * de v$active_instances;
-