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
Muchas Gracias por la información!
cordial saludo,
quisiera saber si existe una consulta que me muestre que usuarios están utilizando un paquete especifico.