0% found this document useful (0 votes)
171 views9 pages

Oracle Database File Sizes & Usage

The document discusses various SQL queries to retrieve database configuration and usage statistics from Oracle database views and tables. It includes queries to view the size of data files, temporary files, control files, redo logs, free and used space, tablespaces, data file paths, installed Oracle products and versions, database parameters, users, objects and more. The goal is to analyze and monitor the Oracle database configuration and resource usage.

Uploaded by

Frank Hack
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
171 views9 pages

Oracle Database File Sizes & Usage

The document discusses various SQL queries to retrieve database configuration and usage statistics from Oracle database views and tables. It includes queries to view the size of data files, temporary files, control files, redo logs, free and used space, tablespaces, data file paths, installed Oracle products and versions, database parameters, users, objects and more. The goal is to analyze and monitor the Oracle database configuration and resource usage.

Uploaded by

Frank Hack
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 9

*Tamao de los Data Files (DBA_DATA_FILES) COL FILE_NAME FORMAT A65 SET LINES 132 SELECT TO_CHAR(SUM(BYTES)/1024/1024/1024, '99,999.

99') GB FROM DBA_DATA_FILES; a) Tamao General GB SELECT TO_CHAR(SUM(BYTES)/1024/1024, '99,999.99') MB FROM DBA_DATA_FILES; a) Tamao General MB SELECT TO_CHAR(SUM(BYTES)/1024/1024/1024, '99,999.99') GB FROM V$DATAFILE; b)Tamao General GB SELECT TO_CHAR(SUM(BYTES)/1024/1024, '99,999.99') MB FROM V$DATAFILE; b)Tamao General MB SELECT FILE_NAME, TO_CHAR(SUM(BYTES)/1024/1024, '99,999.99') MB FROM DBA_DATA_FILES c) Tamao Especfico con Ruta GROUP BY FILE_NAME ORDER BY FILE_NAME; COL TABLESPACE_NAME FORMAT A15 COL FILE_NAME FORMAT A55 SET LINES 130 SELECT TABLESPACE_NAME, FILE_NAME, BYTES FROM DBA_DATA_FILES; Tamao de los Temp Files(V$TEMPFILE) SELECT NAME, TO_CHAR(SUM(BYTES)/1024/1024/1024, '99,999.99') GB FROM V$TEMPFILE a) General GROUP BY NAME; SELECT NAME, TO_CHAR(SUM(BYTES)/1024/1024, '99,999.99') MB FROM V$TEMPFILE a) General GROUP BY NAME; SELECT NAME FROM V$TEMPFILE; Control Files (V$CONTROLFILE) SELECT TO_CHAR(SUM(BLOCK_SIZE)/1024/1024/1024,'99,999.99') GB FROM V$CONTROLFILE; SELECT TO_CHAR(SUM(BLOCK_SIZE)/1024/1024,'99,999.99') MB FROM V$CONTROLFILE; COL NAME FORMAT A65 COL BLOCK_SIZE FORMAT A15 SELECT NAME, TO_CHAR(SUM(BLOCK_SIZE)/1024/1024,'99,999.99') MB FROM V$CONTROLFILE GROUP BY NAME; Redolog Files (V$LOG, V$LOGFILE) SELECT MEMBERS, TO_CHAR(SUM(BYTES)/1024/1024,'99,999.99') MB FROM V$LOG GROUP BY MEMBERS; COL MEMBER FORMAT A50 SELECT GROUP#, MEMBER FROM V$LOGFILE;

*Espacio Asignado=Total de la Base de Datos= Suma(DFs + CFs + RLGFs +TFs)

*Espacio Usado (DBA_SEGMENTS) SELECT TO_CHAR(SUM(BYTES)/1024/1024,'99,999.99') MB FROM DBA_SEGMENTS; *Espacio Libre de la Base de Datos (DBA_FREE_SPACE) SELECT TO_CHAR(SUM(BYTES)/1024/1024, '99,999.99') MB FROM DBA_FREE_SPACE; a) Tam_General SELECT TABLESPACE_NAME, TO_CHAR(SUM(BYTES)/1024/1024, '99,999.99') MB FROM DBA_FREE_SPACE; a) Ruta y Tam_Especfico GROUP BY TABLESPACE_NAME; *Rutas de los Archivos de la Base de Datos

SQL> SELECT NAME FROM V$DATAFILE UNION ALL SELECT MEMBER FROM V$LOGFILE UNION ALL SELECT name FROM v$controlfile;
*Ruta del Alert -SHOW PARAMETER bdump background_dump_dest cd string /var/opt/oracle/admin/IOCSAMP/bdump *Ruta de la Auditoria SHOW PARAMETER adump *Espacio Libre de un Tablespace_Name *Lenguaje, Territorio y Conjunto de Caracteres SELECT * FROM nls_session_parameters; a nivel de sesin. SELECT * FROM nls_database_parameters; a nivel de BDs *Agregar DataFiles a un Tablespace ALTER TABLESPACE "SYSAUX" ADD DATAFILE 'C:\ORACLE\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\DEMO\SYSAUX02.DBF' SIZE 5M; *Cambiar el Tamao de un DataFile ALTER DATABASE DATAFILE 'C:\ORACLE\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\DEMO\SYSAUX01.DBF' RESIZE 320M *Verificacin de Usuarios set lines 140 set pages 200 col USERNAME for a15 col ACCOUNT_STATUS for a20 col DEFAULT_TABLESPACE for a15S col TEMPORARY_TABLESPACE for a15

col PROFILE for a15 SELECT username, account_status, lock_date, expiry_date, default_tablespace, temporary_tablespace, profile FROM dba_users ORDER BY 1 / *Secuencias de un Usuario SELECT SEQUENCE_NAME, MAX_VALUE, INCREMENT_BY, LAST_NUMBER FROM USER_SEQUENCES; *Borrar Archivos Trace rm *.trc

*Vista que muestra el estado de la base de datos: select * from v$instance; *Consulta que muestra si la base de datos est abierta: select status from v$instance; *Vista que muestra los parmetros generales de Oracle: select * from v$system_parameter; *Versin de Oracle: select value from v$system_parameter where name = 'compatible'; *Ubicacin y nombre del fichero spfile: select value from v$system_parameter where name = 'spfile'; *Ubicacin y nmero de ficheros de control: select value from v$system_parameter where name = 'control_files'; *Nombre de la base de datos select value from v$system_parameter where name = 'db_name'; *Vista que muestra las conexiones actuales a Oracle: select osuser, username, machine, program from v$session order by osuser; Vista que muestra el nmero de conexiones actuales a Oracle agrupado por aplicacin que realiza la conexin select program Aplicacion, count(program) Numero_Sesiones from v$session group by program order by Numero_Sesiones desc Vista que muestra los usuarios de Oracle conectados y el nmero 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 nmero de objetos por propietario select owner, count(owner) Numero from dba_objects group by owner order by Numero desc Diccionario de datos (incluye todas las vistas y tablas de la Base de Datos): select * from dictionary select table_name from dictionary Muestra los datos de una tabla especificada (en este caso todas las tablas que lleven la cadena "EMPLO"): select * from ALL_ALL_TABLES where upper(table_name) like '%EMPLO%' Muestra los disparadores (triggers) de la base de datos Oracle Database: select *from ALL_TRIGGERS Tablas propiedad del usuario actual: select * from user_tables Todos los objetos propiedad del usuario conectado a Oracle: select * from user_catalog Consulta SQL para el DBA de Oracle que muestra los tablespaces, el espacio utilizado, el espacio libre y los ficheros de datos de los mismos: COL TABLESPACE_NAME FORMAT A20 COL STATUS FORMAT A20 Select t.tablespace_name "Tablespace", t.status "Estado", ROUND(MAX(d.bytes)/1024/1024,2) "MB Tamao", ROUND((MAX(d.bytes)/1024/1024) (SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024),2) "MB Usados", ROUND(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024,2) "MB Libres", t.pct_increase "% incremento", SUBSTR(d.file_name,1,80) "Fichero de datos" FROM DBA_FREE_SPACE f, DBA_DATA_FILES d, DBA_TABLESPACES t WHERE t.tablespace_name = d.tablespace_name AND f.tablespace_name(+) = d.tablespace_name AND f.file_id(+) = d.file_id GROUP BY t.tablespace_name, d.file_name, t.pct_increase, t.status ORDER BY 1,3 DESC; Productos Oracle instalados y la versin: select * from product_component_version

Versin de la BD SELECT * FROM v$version; Roles y privilegios por roles: select * from role_sys_privs Reglas de integridad y columna a la que afectan: select constraint_name, column_name from sys.all_cons_columns Tablas de las que es propietario un usuario, en este caso "HR": SELECT table_owner, table_name from sys.all_synonyms where table_owner like 'HR' Otra forma ms efectiva (tablas de las que es propietario un usuario): SELECT DISTINCT TABLE_NAME FROM ALL_ALL_TABLES WHERE OWNER LIKE 'HR' Parmetros de Oracle, valor actual y su descripcin: 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 Usuarios de Oracle y todos sus datos (fecha de creacin, estado, id, nombre, tablespace temporal,...): Select * FROM dba_users Usuarios de Oracle que estn bloqueados y desbloquearlos SELECT username, account_status FROM dba_users; ALTER USER system ACCOUNT UNLOCK; Tablespaces y propietarios de los mismos: select owner, decode(partition_name, null, segment_name, segment_name || ':' || partition_name) name, segment_type, tablespace_name,bytes,initial_extent, next_extent, PCT_INCREASE, extents, max_extents from dba_segments Where 1=1 And extents > 1 order by 9 desc, 3 ltimas consultas SQL ejecutadas en Oracle y usuario que las ejecut: select distinct vs.sql_text, vs.sharable_mem, vs.persistent_mem, vs.runtime_mem, vs.sorts, vs.executions, vs.parse_calls, vs.module,

vs.buffer_gets, vs.disk_reads, vs.version_count, vs.users_opening, vs.loads, to_char(to_date(vs.first_load_time, 'YYYY-MM-DD/HH24:MI:SS'),'MM/DD HH24:MI:SS') first_load_time, rawtohex(vs.address) address, vs.hash_value hash_value , rows_processed , vs.command_type, vs.parsing_user_id , OPTIMIZER_MODE , au.USERNAME parseuser from v$sqlarea vs , all_users au where (parsing_user_id != 0) AND (au.user_id(+)=vs.parsing_user_id) and (executions >= 1) order by buffer_gets/executions desc Todos los ficheros de datos y su ubicacin: select * from V$DATAFILE Ficheros temporales: select * from V$TEMPFILE Tablespaces: select * from V$TABLESPACE Otras vistas muy interesantes: select * from V$BACKUP select * from V$ARCHIVE select * from V$LOG select * from V$LOGFILE select * from V$LOGHIST select * from V$ARCHIVED_LOG Verificar la Fecha de Crecin de la Base de Datos (V$DATABASE) SELECT NAME, CREATED, FROM V$DATABSE; 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' Cursores abiertos por usuario: select b.sid, a.username, b.value Cursores_Abiertos from v$session a, v$sesstat b, v$statname c where c.name in ('opened cursors current') and b.statistic# = c.statistic# and a.sid = b.sid and a.username is not null

and b.value >0 order by 3 Aciertos de la cach (no debe 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'); Sentencias SQL completas ejecutadas con un texto determinado en el SQL: SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text FROM v$session c, v$sqltext d WHERE c.sql_hash_value = d.hash_value and upper(d.sql_text) like '%WHERE CAMPO LIKE%' ORDER BY c.sid, d.piece Una sentencia SQL concreta (filtrado por sid): SELECT c.sid, d.piece, c.serial#, c.username, d.sql_text FROM v$session c, v$sqltext d WHERE c.sql_hash_value = d.hash_value and sid = 105 ORDER BY c.sid, d.piece Tamao ocupado por la base de datos select sum(BYTES)/1024/1024 MB from DBA_EXTENTS Tamao de los ficheros de datos de la base de datos: select sum(bytes)/1024/1024 MB from dba_data_files Tamao ocupado por una tabla concreta sin incluir los ndices de la misma select sum(bytes)/1024/1024 MB from user_segments where segment_type='TABLE' and segment_name='NOMBRETABLA' Tamao ocupado por una tabla concreta incluyendo los ndices de la misma select sum(bytes)/1024/1024 Table_Allocation_MB from user_segments where segment_type in ('TABLE','INDEX') and (segment_name='NOMBRETABLA' or segment_name in (select index_name from user_indexes where table_name='NOMBRETABLA')) Tamao ocupado por una columna de una tabla: select sum(vsize('NOMBRECOLUMNA'))/1024/1024 MB from NOMBRETABLA Espacio ocupado por usuario: SELECT owner, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB GROUP BY owner 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 Espacio ocupado por todos los objetos de la base de datos, muestra los objetos que ms ocupan primero: SELECT SEGMENT_NAME, SUM(BYTES)/1024/1024 FROM DBA_EXTENTS MB GROUP BY SEGMENT_NAMEORDER BY 2 DESC Obtener todas las funciones de Oracle: NVL, ABS, LTRIM, ...: SELECT distinct object_name FROM all_arguments WHERE package_name = 'STANDARD' order by object_name Obtener los roles existentes en Oracle Database: select * from DBA_ROLES Obtener los privilegios otorgados a un rol de Oracle: select privilege from dba_sys_privs where grantee = 'NOMBRE_ROL' Obtener la IP del servidor de la base de datos Oracle Database: select utl_inaddr.get_host_address IP from dual; Mostrar datos de auditora de la base de datos Oracle (inicio y desconexin de sesiones): select username, action_name, priv_used, returncodefrom dba_audit_trail Comprobar si la auditora de la base de datos Oracle est activada: select name, valuefrom v$parameter where name like 'audit_trail' Comprobar si la auditora de la base de datos Oracle est activada:

SELECT tablespace_name "Tablespace", file_id, COUNT(*) "PIECES", MAX(blocks) "Maximum", MIN(blocks) "Minimum", AVG(blocks) "Average", SUM(blocks) "Total" FROM dba_free_space GROUP BY tablespace_name,file_id;
TABLESPACE FILE_ID PIECES MAXIMUM MINIMUM AVERAGE TOTAL --------------- ---------- ---------- ---------- ---------- ------------------DRSYS 4 1 2552 2552 2552 2552

XDB 2552 SYSAUX 38488 USERS 104600 SYSTEM 39408 UNDOTBS1 34920 INDX 3192 TOOLS 1272 TEST 12616

8 3 7 1 2 5 6 9

1 5 6950 1 18 1 1 1

2552 38264 128 39408 25464 3192 1272 12616

2552 8

2552 7697.6

8 15.0503597 39408 128 3192 1272 12616 39408 1940 3192 1272 12616

Modificar el nombre del Tablespace alter user oracle temporary tablespace temp; alter user

You might also like