Labels

Consultas Oracle SQL Variadas

Hola a todos, simplemente quiero compartir éste conjunto de consultas SQL, no es de mi autoría y no sé quien es el primer autor del mismo, pues lo vi en varios sitios, asi que al autor de éste artículo le doy las gracias y quiero compartirlo con ustedes, ya que es muy bueno tenerlo siempre a mano!
Consultas SQL que podemos realizar a la base de datos
•• Consulta Oracle SQL donde vemos la vista que nos muestra el estado de la base de datos:
select * from v$instance:
•• Consulta Oracle SQL para conocer Consulta que muestra si la base de datos está abierta:
select status from v$instance

•• Consulta Oracle SQL para conocer Vista que muestra los parámetros generales de Oracle:
select * from v$system_parameter
•• Consulta Oracle SQL para conocer Versión de Oracle:
select value from v$system_parameter where name = 'compatible'
•• Consulta Oracle SQL para conocer Ubicación y nombre del fichero spfile:
select value from v$system_parameter where name = 'spfile'
•• Consulta Oracle SQL para conocer ubicación y número de ficheros de control:
select value from v$system_parameter where name = 'control_files'
•• Consulta Oracle SQL para conocer Nombre de la base de datos:
select value from v$system_parameter where name = 'db_name'
•• Consulta Oracle SQL para conocer Vista que muestra las conexiones actuales a Oracle Para visualizarla es necesario entrar con privilegios de administrador:
select osuser, username, machine, program from v$session order by osuser
•• Consulta Oracle SQL para conocer Vista que muestra el número de conexiones actuales a Oracle agrupado por aplicación que realiza la conexión:
select program Aplicacion, count(program) Numero_Sesiones from v$session group by program order by Numero_Sesiones desc
•• Consulta Oracle SQL para conocer Vista que muestra los usuarios de Oracle conectados y el número de sesiones por usuario:
select username Usuario_Oracle, count(username) Numero_Sesiones from v$session group by username order by Numero_Sesiones desc
•• Propietarios de objetos y número de objetos por propietario:
select owner, count(owner) Numero from dba_objects group by owner order by Numero desc
•• Consulta Oracle SQL para conocer Diccionario de datos (incluye todas las vistas y tablas de la Base de Datos):
select * from dictionary
•• Consulta Oracle SQL para conocer Muestra los datos de una tabla especificada (en este caso todas las tablas que lleven la cadena "XXX"
select * from ALL_ALL_TABLES where upper(table_name) like '%XXX%'
•• Consulta Oracle SQL para conocer Tablas propiedad del usuario actual:
select * from user_tables
•• Consulta Oracle SQL para conocer Todos los objetos propiedad del usuario conectado a Oracle:
select * from user_catalog
•• Consulta Oracle SQL para conocer Productos Oracle instalados y la versión:
select * from product_component_version
•• Consulta Oracle SQL para conocer Roles y privilegios por roles:
select * from role_sys_privs
•• Consulta Oracle SQL para conocer Reglas de integridad y columna a la que afectan:
select constraint_name, column_name from sys.all_cons_columns
•• Consulta Oracle SQL para conocer las tablas de las que es propietario un usuario:
select distinct table_name from all_all_tables where owner like 'HR'
•• Parámetros de Oracle, valor actual y su descripción:
SELECT v.name, v.value value, decode(ISSYS_MODIFIABLE, 'DEFERRED',
'TRUE', 'FALSE') ISSYS_MODIFIABLE, decode(v.isDefault, 'TRUE', 'YES',
'FALSE', 'NO') "DEFAULT", DECODE(ISSES_MODIFIABLE, 'IMMEDIATE',
'YES','FALSE', 'NO', 'DEFERRED', 'NO', 'YES') SES_MODIFIABLE,
DECODE(ISSYS_MODIFIABLE, 'IMMEDIATE', 'YES', 'FALSE', 'NO',
'DEFERRED', 'YES','YES') SYS_MODIFIABLE , v.description
FROM V$PARAMETER v
WHERE name not like 'nls%' ORDER BY 1

•• Consulta Oracle SQL para conocer Usuarios de Oracle y todos sus datos (fecha de creación, estado, id, nombre, tablespace temporal,...):
select * from dba_users
•• Consulta Oracle SQL para conocer todos los Tablespaces:
select * from V$TABLESPACE
•• Consulta Oracle SQL para conocer Memoria Share_Pool libre y usada
select name,to_number(value) bytes
from v$parameter where name ='shared_pool_size'
union all
select name,bytes
from v$sgastat where pool = 'shared pool' and name = 'free memory'

•• Consulta Oracle SQL para conocer Aciertos de la caché (no debería superar el 1 por ciento):
select sum(pins) Ejecuciones, sum(reloads) Fallos_cache,
trunc(sum(reloads)/sum(pins)*100,2) Porcentaje_aciertos
from v$librarycache
where namespace in ('TABLE/PROCEDURE','SQL AREA','BODY','TRIGGER')

•• Consulta Oracle SQL para conocer Tamaño ocupado por la base de datos:
select sum(BYTES)/1024/1024 MB from DBA_EXTENTS
•• Consulta Oracle SQL para conocer Tamaño de los ficheros de datos de la base de datos:
select sum(bytes)/1024/1024 MB from dba_data_files
•• Consulta Oracle SQL para conocer Tamaño ocupado por una columna de una tabla:
select sum(vsize('NOMBRECOLUMNA'))/1024/1024 MB from NOMBRETABLA
•• Consulta Oracle SQL para conocer Espacio ocupado por usuario:
select owner, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB group by owner
•• Consulta Oracle SQL para conocer Espacio ocupado por los diferentes segmentos (tablas, índices, undo, rollback, cluster, ...):
select SEGMENT_TYPE, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB group by SEGMENT_TYPE
•• Consulta Oracle SQL para conocer obtener todas las funciones de Oracle: NVL, ABS, LTRIM, ...
SELECT distinct object_name FROM all_arguments WHERE package_name = 'STANDARD' order by object_name
•• Consulta Oracle SQL para conocer Espacio ocupado por todos los objetos de la base de datos, muestra los objetos que más ocupan primero:
select SEGMENT_NAME, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB group by SEGMENT_NAME order by 2 desc

2 comentarios:

Unknown dijo...

Muchas Gracias por la información!

Wilder Berrio dijo...

cordial saludo,
quisiera saber si existe una consulta que me muestre que usuarios están utilizando un paquete especifico.

Publicar un comentario