Ingresar
Debates recientes
Respuestas recientes
Estadísticas del Foro
- Usuarios registrados
- 8.773
- Foros
- 38
- Debates
- 919
- Respuestas
- 60
- Etiquetas de debate
- 51
Inicio › Foros › Base de Datos › Administración (Database) › Saber tamaño de control file
- Este debate tiene 0 respuestas, 1 mensaje y ha sido actualizado por última vez el hace 17 años, 7 meses por chijar.
-
AutorEntradas
-
-
03/19/2007 a las 2:40 PM #2026chijarParticipantempalacios_pe escribió:Hola
Si entendimos tu pregunta inicial por eso que indicamos revises la vista v$controlfile_record_section, con esto podria hacer esos calculos. No es tan directo como esperas pero si te cuento los conceptos puedes crear algo interesante
1) Dentro de la v$controlfile_record_section se guardan dos columnas importantes para lo que necesitas: record_size y records_total
2) Dentro de un mismo controlfile siempre la informacion se guarda en duplicado por contingencia.
3) El tamano de bloque del controlfile es el mismo de la base de datos
4) Siempre hay que agregar un "overhead" por cabecera de archivo y dependiendo de la version varia. No hay mucha informacion respecto a este "overhead" interno que maneja Oracle.Haciendo una consulta (query) podrias obtener aproximadamente el tamano del controlfile. Te pongo una de ejemplo:
select db_block_size * (1 + 2 * sum(ceil(record_size * records_total / (db_block_size – 24)))) bytes
from v$controlfile_record_section;NOTA: No esperes que te muestre el valor exacto como lo vez via Windows Explorer pero si aproximado. Ese "overhead" es un tema interno y no he visto informacion de eso.
PREGUNTA: Podrias explicarme porque el interes de saber el tamano del controlfile via SQL, no basta con la informacion del Windows Explorer?
Saludos
Muchas gracias por tomarte el tiempo de responder el tema.
El interes de averiguarlo via SQL es porque se tienen en la empresa cerca de 15 bd en ambientes de produccion y el mismo numero en ambiente de prueba y estan en unix y no tengo la forma de ingresar a la consola porque no soy el admin de sistema sino un dba operator. Y si tuviera el acceso es tedioso realizar un ls para cada base de datos.
Claro que se puede aplicar una tarea automatica pero es otro tema. Quise saberlo si se podia por SQL.
Gracias mil.
Saludos.
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.