Diferencias entre DBA_FREE_SPACE y DBA_TABLESPACE_USAGE_METRICS


Resultado de imagen de tablespaces

 

 

He estado durante  muchísimo  tiempo  realizando consultas nivel de ocupación de los tablespaces en Oracle 9  que utilizan las vistas del sistema DBA_FREE_SPACE y DBA_DATA_FILES   , lo cual esta muy bien,  pero recientemente he sabido que  hay personas que  en  Oracle 11  están usando  otra vista del sistema para conocer  el  nivel de ocupación de los tablespaces   que es muy rápida: DBA_TABLESPACE_USAGE_METRICS .

Esta  vista contiene información sobre espacios de tablas permanentes, temporales y de deshacer, y tiene solo cuatro columnas:

  • TABLESPACE_NAME TABLESPACE_NAME
  • USED_SPACE ESPACIO USADO
  • TABLESPACE_SIZE TABLESPACE_SIZE
  • USED_PERCENT USED_PERCENT

Hay tres cosas importantes acerca de esas columnas:

  1. Los números de USED_SPACE y TABLESPACE_SIZE están en bloques , no en bytes, por lo que necesitamos unir   esta vista a la vista del sistema DBA_TABLESPACES para terminar con números en bytes. ( ellos la ofrecen  tal cual sin hacer la  conversión a  bytes , de modo que  lo que nos están dando son el nº de bloques y no el de bytes)
  2. La columna TABLESPACE_SIZE muestra el tamaño total posible , no el tamaño actual  
  3. USED_PERCENT muestra el uso del tamaño total posible de un espacio de tabla.

Es decir ,    la información de esta vista no es la que muestra el tamaño real , sino el posible  tamaño   máximo lo cual  explica  la gran diferencia   que nos encontraremos  entre  cálculos realizados sobre la vista  DBA_FREE_SPACE   o sobre la  vista  DBA_TABLESPACE_USAGE_METRICS

Algo muy importante es que la vista  DBA_TABLESPACE_USAGE_METRICS nos ofrece la volumetría en bloques lo cual no es muy útil , por lo que para traducirlo a bytes  tendremos que saber  el tamaño del bloque . Con esta consulta podemos ver el tamaño del bloque:

show parameter block_size

Ahora , lo mejor es hacer la conversión  usando el valor de Block_size de modo que obtengamos  en la  consulta el  tamaño de los Tablespaces  en MB y no en bloques

select * from(
SELECT
a.tablespace_name,
ROUND((a.used_space * b.block_size) / 1048576, 2) AS «Used space (MB)»,
ROUND((a.tablespace_size * b.block_size) / 1048576, 2) AS «Tablespace size (MB)»,
ROUND(a.used_percent, 2) AS «Used %»
FROM dba_tablespace_usage_metrics a
JOIN dba_tablespaces b ON a.tablespace_name = b.tablespace_name) where TABLESPACE_NAME LIKE ‘%EJEMPLO_TB%’

 

También podemos usar el método «antiguo » basado en las vista   DBA_FREE_SPACE  uniéndolas con las vistas DBA_DATA_FILES  y s.DBA_TABLESPACES  tanto en oracle 9, 10 y 11:, 

select ‘EJEMPLO2_TB’, usados, total ,100*usados/total used_percent,libre from

(select sum(total)total , sum(usados) usados, sum(libre) libre

from (
Select t.tablespace_name Tablespace, t.status Estado,
ROUND(MAX(d.bytes)/1024/1024,2) Total,
ROUND((MAX(d.bytes)/1024/1024) –
(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024),2) Usados,
ROUND(SUM(decode(f.bytes, NULL,0, f.bytes))/1024/1024,2) Libre,
t.pct_increase «% incremento»,
SUBSTR(d.file_name,1,80) «Fichero de datos»
FROM  sys.DBA_FREE_SPACE f, sys.DBA_DATA_FILES d, sys.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 )

where Tablespace=’EJEMPLO2_TB’)

 

 

El resultado de ambos consultas sobre la  vista    DBA_TABLESPACE_USAGE_METRICS  o sobre la  vista  DBA_FREE_SPACE  con datos de ejemplo   las podemos ver reflejados en la siguiente tabla:

TABLESPACE_NAME Used space (MB) Tablespace size (MB) Usado % Esta consulta usa dba_tablespace_usage_metrics
dba_tablespaces
EJEMPLO1_ 454310 572776,94 79,3
  234853 295259,47 79,5
EJEMPLO2 454246 459200,94 98,9 Esta consulta  solo usa dba_fee_space
  234853,3 241833,53 97,1

Es decir,   en los cálculos anteriores    teniendo en cuanta  que la vista  dba_tablespace_usage_metric solo muestra el tamaño total posible ,  como vemos como   la información anterior , solo nos están dando  la volumetría  máxima   posible  y no la real dba_tablespace_usage_metrics

Como  puede  apreciar querido lector en este ejemplo las diferencias son  notables  entre los resultados arrojados por  ambas consultas   :para el caso del primer da una ocupación del 79’3% para el  TB de datos  y 79,5 % de ocupación  para los  TB de los indices  usando la vista dba_tablespace_usage_metric, lo cual da resultados esperanzadores ( aun quedaría  mas del 20% por ocupar) mientras en el segundo caso la query  da una ocupación del 98’9 para el  TB de datos  y 97,1 % de ocupación  para los  TB de los indices  usando la vista dba_fee_space, lo cual son resultados  reales   bastantes alejados de los resultados obtenidos en la primer vista

 

 

 

Espero que encuentre útil la consulta. Aquí está el enlace de la documentación de Oracle sobre la vista:  Oracle Documentation – DBA_TABLESPACE_USAGE_METRICS

 

Como ver los canales de la TDT en su movil


Recientemente   han salido al mercado pequeños sintonizadores de TDT  que podemos conectar mediante el conector OTG a nuestro dispositivo Android , y gracias a un  sw de recepción de TDT podremos ver en nuestro equipo Android los canales de DVB-T que nos corresponda a nuestra región

Aunque la idea pueda parecer fantástica , lo cierto es no todos los fabricantes especifican que se requerirá de una buena antena  así como de  una buena recepción de señal de RF  para poder visionar sin problemas  la mayoría de los canales disponibles  lo cual no siempre es fácil de tener 

Por ultimo hay dos inconvenientes importantes, en primer lugar el   precio del dispositivo ( un receptor  de  calidad suele rondar  los 50€) y en segundo lugar  debido a que la conexión se hacer a través del propio OTG , el terminal  Android  consumirá un extra de batería  acortando con ello  la autonomía 

Vemos como los sintonizadores de TDT para Android no son ninguna panacea   si bien no consumirán datos  aunque con un alto coste del aparato , de  modo que nos preguntamos si es posible disfrutar de estos canales en nuestro terminal android sin ningún hardware adicional

Conceptronic CTVDIGANG - Receptor  con Android, color negro

Pues querido lector ,  en efecto se  pueden visionar  los canales de DVT-T de su región  gracias al fantástico reproductor multimedia multiproposito  Kodi   y unas simples actuaciones   , asi  que veamos paso a paso como hacerlo

 

Instalación del sw

 

Lo primero es instalar Kodi en su smartphone o tableta Android para que así te sirva como reproductor multimedia de emisiones online. En sí Kodi no es más que eso, un reproductor. Abierto, open source y administrado por la XBMC Foundation para que sea lo más universal posible.

Kodi es tan abierto y libre de piratería que se puede descargar libremente desde la Google Play Store, para ello  baste con que lo busque en Google  Play o  bien  pulse sobre el siguiente enlace.

https://play.google.com/store/apps/details?id=org.xbmc.kodi

 

La versión oficial Kodi no contiene ningún contenido de ningun tipo  lo que significa que se debe proporcionar su propio contenido desde una ubicación de almacenamiento local o remoto, DVD, Blu-Ray o cualquier otro soporte de medios de comunicación por parte del propietario. Además Kodi le permite instalar plugins de terceros que pueden proporcionar acceso a contenido que está disponible gratuitamente en la página web oficial del proveedor de contenido. Cualquier otro medio de observación de  contenidos ilegales  que de otro modo se pagaría  no recibe la aprobación  por el equipo de Kodi.

Una vez hayamos instalado Kodi en nuestro terminal  veremos uan panatlla similar a la siguinte:

 

Captura de pantalla



Ahora lo que haremos es importar una lista IPTV o de emisiones a través de Internet. Dicha lista es de canales públicos, por  lo que en ningún momento se tendrá acceso a canales a los que se puede acceder previo pago

Para añadir los canales de televisión en abierto  a su Kodi solo necesitas realizar los siguientes pasos:

Acceda  desde un pc  a  desde  un navegador al siguinte en lace    https://github.com/LaQuay/TDTChannels ( también buscando en Github tdtchannels)   . A continuación  descargue la lista de canales M3u8 completa  pulsando en el link Descargar el .m3u8 completo.
El fichero no es demasiado grande /48,5kb)  y se llama  channels.m3u8  y debera copiarlo en la sd de nuestro terminal Android ( móvil o tableta)



Ahora en el terminal abra Kodi y despliegue el menú “Add-ons” del lateral.Pulse en “My add-ons” para bucear en los añadidos que vienen de serie con Kodi

 Busque “PVR clients” y localize “PVR IPTV Simple Client” y pulse en él.

Ahora pulse el boton “Configure” .( aparecen una serie de botones deslizantes)




En la pestaña “General” vaya  a “Location” y en el combo seleccione  Local Path /include local  netwoek   ya que por defecto es remote Path (internet address)

Pulsar ahora abajo de la pestaña de location en M3U Play List Path y  navegue por el  sistema de  ficheros  , busque el archivo M3u8 que descargo desde su pc  a la sd  y selecciónelo

Finalmente pulse ok a la derecha de  la ventana del todo




Ahora de vuelta  a la ventana de configuración  asegúrese  de marcar como “Enable” el cliente IPTV que estaba configurando pues por defecto incluso habiendo seleccionado el fichero m3u es disable. En cuanto lo pulse vera que automáticamente se cargan los canales de la lista m3u.





Finalmente ,   ya solo tiene que volver al menú principal de Kodi y entrar en “TV”: en seguida  debería  ver que están  accesibles todos los canales de la TDT , lo cuales  con una pulsación podemos disfrutar viendo su contenido en tiempo real desde nuestro terminal movil.




La visualización de los canales está supeditada a las conexiones de red y también a que los canales permanezcan activos pues es habitual que algunos se caigan de la emisión, por lo que debe  actualizar esta lista M3u8 conforme se actualice en el GitHub.

Por cierto dado que Kodi  esta disponible para un amplia cantidad de plataformas  también usando de los sencillos pasos que hemos comentado  , también podremos disfrutar de estos desde otros dispositivos como por ejemplo nuestro pc