"mainEntityOfPage": { "@type": "WebPage", "@id": "https://yourdomain.com/bases-datos/oracle-queries.html" } }, { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Inicio", "item": "https://yourdomain.com/index.html" }, { "@type": "ListItem", "position": 2, "name": "Bases de Datos SAP", "item": "https://yourdomain.com/bases-de-datos-sap.html" }, { "@type": "ListItem", "position": 3, "name": "Oracle Database", "item": "https://yourdomain.com/bases-datos/oracle.html" }, { "@type": "ListItem", "position": 4, "name": "Consultas Oracle (Chuleta)", "item": "https://yourdomain.com/bases-datos/oracle-queries.html" } ] } ] Consultas Oracle (Chuleta) | Oracle Database SAP

Consultas SQL Oracle

La "Chuleta" para el DBA Oracle en entornos SAP

Nota de Contexto: Para estos ejemplos asumiremos:
  • SID: PRD
  • Esquema SAP: SAPSR3
  • Usuario de consulta: / as syscuda o usuario con privilegios de consulta en vistas V$.

Recopilación de las vistas dinámicas y consultas más potentes para el troubleshooting y administración de Oracle bajo SAP.

1. Sesiones y Actividad de Usuarios

Monitorización de Sesiones Activas

Lista todas las sesiones que están ejecutando algo actualmente, junto con su programa y máquina.

select sid, serial#, username, status, osuser, machine, program 
from v$session 
where status = 'ACTIVE' and username is not null;
go

Ver SQL que ejecuta una Sesión

Cruza la sesión con el área de SQL para ver la sentencia exacta (reemplazar SID_OBJETO).

select s.sid, s.username, t.sql_text
from v$session s, v$sqltext t
where s.sql_address = t.address
  and s.sid = &sid_buscado
order by t.piece;
go

2. Gestión de Tablespaces y Almacenamiento

Espacio Libre por Tablespace

Muestra el uso porcentual, crítico para prevenir paradas en SAP.

select df.tablespace_name, 
       round(df.total_mb) as total_size_mb, 
       round(fs.free_mb) as free_size_mb,
       round(((df.total_mb - fs.free_mb)/df.total_mb)*100, 2) as used_pct
from (select tablespace_name, sum(bytes)/1024/1024 total_mb from dba_data_files group by tablespace_name) df,
     (select tablespace_name, sum(bytes)/1024/1024 free_mb from dba_free_space group by tablespace_name) fs
where df.tablespace_name = fs.tablespace_name
order by used_pct desc;
go

Ubicación de Datafiles

Identifica las rutas físicas de los archivos de la base de datos.

select file_name, tablespace_name, status, bytes/1024/1024 as size_mb 
from dba_data_files;
go

3. Rendimiento (Performance)

Buffer Cache Hit Ratio

Mide la eficiencia de la memoria. Si es <90%, el sistema lee demasiado de disco.

select 1 - (pr.value / (db.value + con.value)) as hit_ratio
from v$sysstat pr, v$sysstat db, v$sysstat con
where pr.name = 'physical reads'
  and db.name = 'db block gets'
  and con.name = 'consistent gets';
go

Eventos de Espera (Wait Events)

Identifica en qué "cuello de botella" está perdiendo tiempo la base de datos.

select event, total_waits, time_waited_micro / 1000000 as time_waited_sec
from v$system_event
where wait_class <> 'Idle'
order by time_waited_sec desc;
go

4. Bloqueos (Locks) y Troubleshooting

Identificar Bloqueadores y Víctimas

Fundamental cuando SAP se "congela" por bloqueos a nivel de base de datos.

select b.sid as blocker_sid, w.sid as waiter_sid, w.event, w.seconds_in_wait
from v$session b, v$session w
where b.sid = w.blocking_session;
go

Finalizar Sesión (Kill Session)

Usa los valores SID y SERIAL# obtenidos de V$SESSION.

alter system kill session '&sid,&serial';
go

Páginas relacionadas

Guía Principal Oracle en SAP

Paralelo: Chuleta de Consultas Sybase ASE

Administración SAP Basis