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 fabricar circuitos impresos con una impresora 3d


Posiblemente  la primera vez que piense en adquirir una impresora 3D, es probable que piense que únicamente tienen  el propósito de generar piezas en 3d,pero lo cierto es que son maquinas polivalentes, que como vamos a ver, gracias a que son capazes de posicionarse en el espacio en los tres ejes ,  la verdad es   que cualquier impresora 3D puede imprimir placas de circuitos impresos y hacer muchas otras tareas.  

Tener en efecto una impresora 3D ofrece una infinidad de posibilidades, eso sin duda. De hecho es muy común usarla no solo para imprimir piezas tridimensionales, sino también montarle otros cabezales como un láser o una herramienta como una pequeña Dremel para hacer algún gravado. Otro uso bastante interesantes es para crear placas PCB usando la impresora 3D pues simplemente con ponerle un rotulador indeleble en lugar del fusor, podemos pintar las pistas sobre una placa PCB para luego seguir con el proceso del atacado químico.
Además, este proceso es ideal ya que hay que hacer una modificación muy sencilla a la impresora ( ya ue es reversible  )  y es algo que éste tipo de máquinas puede hacer con mucho detalle sin añadir presión mecánica a la estructura.
A continuación os dejo un vídeo sobre cómo se realiza todo el proceso, así como el resultado.

Comienzo del proceso

En efecto como vamos a ver , si está interesado en convertir su impresora en un trazador para PCB, podemos lograrlo  si bien cada impresora y software de rebanado son ligeramente diferentes, por lo que es probable que los componentes de montaje requieran un poco de pensamiento creativo para que funcione en su propia configuración.

Ya  que se supone tenemos la impresora 3d montada , calibrada y en funcionamiento ,  todo empieza con adaptar  rotuladores permanentes con punta que puede encontrar en cualquier papelería . Lo ideal  es  que se sean de calidad   (por ejemplo los modelos lumicolor STAEDTLER ) con  un ancho de punta establecido de alrededor de 0.4 mm . La razón de usar estos  marcadores es que estos modelos   pueden resistir sobre  un trozo de placa  de cobre la acción del cloruro férrico que puede utilizar para atacar las partes no impresas. 

Una vez consiga el marcado la siguiente parte es averiguar cómo montar el lápiz en la máquina.La idea es  concentrarse en usar los  tornillos que fijan el ensamblaje del extrusor al sensor de fuerza incluido en el carro del extrusor de la impresora.

Algunos puntos importantes que , influyen  en todo el diseño es  la cantidad de fuerza que se aplicaría a la punta de la pluma. La montura necesitaba un movimiento vertical para que la punta de la pluma no solo se aplastara por la fuerza de la cama presionando sobre ella, (así como el espacio de maniobra que tiene  el bolígrafo en su montura). Si el lápiz tiene una pequeña cantidad de oscilación angular o en el eje X o Y, entonces las líneas dibujadas serán menos precisas ya que el diseño se traza, limitando la precisión final de la herramienta.

La solución puede venir  con un riel lineal en miniatura que se mecanice con precisión hasta el punto en el que no se puede detectar ninguna oscilación del riel y es lo suficientemente suave como para que el peso del soporte para el marcado  lo baje por su propio peso, sin embargo, siempre hay alternativas, pues  una búsqueda rápida de “Riel lineal en miniatura” en banggood  basatara , si bien es un poco largo así que necesitara cortarlo (aparte de eso, las dimensiones del riel parecen un candidato razonable para el diseño)

Asimismo es necesario  diseñar el soporte del marcador en 3D   para sujetarlo con un ajuste perfecto cuando se le presiona, con los orificios adecuados para los tornillos para montarlo en el riel lineal y luego posteriormente en el soporte de montaje.( atención cuidado con  el ensamblaje del extrusor sin usar pues de  desconectarlo provocara el apagado de la máquina con errores de sensor  y además, una de las mejores maneras de acortar la vida útil de los conectores eléctricos es hacer y romper las conexiones una y otra vez).

Engañar a su impresora 3D  para usarla como plotter

A estas alturas, tenemos un bolígrafo pegado a la   impresora 3D  de modo que se hace necesario  averiguar exactamente cómo se va ” a engañar a la máquina”  para usarla como plotter

Una  primera idea puede venir con diseñar  el pcb como  un modelo 3D y hacerlo de una o dos capas de grosor., de esa manera, cuando la máquina intente imprimir la pieza, en realidad hace que el lápiz trace toda el área de superficie que se haya diseñado. Sin embargo, con esta idea hay un pequeño problema , ya que con la configuración de corte estándar, el extrusor simplemente se mueve sobre los huecos, pero con el lápiz en su lugar, dejará una línea que rastrea estos movimientos. 

Revisando  la configuración de la cortadora ( sliccer) , existe  una función de elevación Z utilizada para minimizar el extrusado para los  fugas. Si se establece el valor en un valor lo suficientemente alto como para que la punta del lápiz se elimine de la superficie de la parte donde hay “espacios” es suficiente ,Asimismo al hacer propio perfil de corte para el plotter, también es interesante ajustar todos los ajustes de temperatura en la extrusora y la cama caliente a temperatura ambiente,ya que no es necesario calentar en este proceso. Por ultimo  es necesario cambiar  el diámetro de la boquilla a 0,3 en la configuración para que coincida mejor con el diámetro de la punta del lápiz. ( se debe seleccionar  un valor un poco más pequeño para garantizar que haya  superposición en las líneas dibujadas en grandes áreas de relleno (esEs posible que esto genere un problema en el que la línea de tinta nueva se redisuelva y dañe parte de la línea anterior, pero es difícil que ocurra)

Con los perfiles de rebanado establecidos,  para resumir los ajustes  importantes:

> LIFT Z (configurado como 5mm +) 

> Temperaturas bajas (de lo contrario, usted calentará su cama y la extrusora por nada) 

> Cambie el diámetro de la boquilla a su criterio (menor valor, mayor resolución de trazado … hasta un punto)

Posicionamiento de su placa 

La posición de su trama es bastante importante cuando usa su plotter  pues necesitamos saber dónde va a comenzar la máquina a dibujar nuestra trama de modo que coloquemos  nuestra placa  con revestimiento de cobre en esa posición. 

Para ello puede seguir unos sencillos pasos:

  1. Haga un cuadrado del mismo tamaño (o un poco más grande) que su  placa
  2.  Elija una ubicación para él en su software de corte, si tiene una cuadrícula que le ayude a usar coordenadas x / y fijas
  3. Coloque el cuadrado en la cama de impresión (puede que quiera cubrirlo con papel o cinta adhesiva cuando haga esto)
  4. Coloque y asegure su tablero revestido de cobre a la cama de impresión usando el cuadrado trazado como guía
  5. Coloque su trama verdadera en la misma posición que su trama de guía cuadrada
  6. Esperemos  que lo hayas hecho bien y comiences a trazar! (Se recomienda realizar pruebas en seco si no está seguro de su precisión)

Traze su PCB

Lo siguiente que debe hacer es solucionar cualquier problema en la configuración de la trama o en el soporte de su pluma, verificando  si hay defectos y, cuando tenga tiempo, intentar ajustar su configuración para eliminarlos.Pero honestamente, si su trama se desprende de la impresora de manera limpia, es posible que desee inspeccionar sus huellas y rellenar los orificios o cortar cualquier cortocircuito en la tinta de la pluma con la mano.

Lo mejor es que una vez que se sintoniza este proceso, es limpio, seguro y relativamente rápido. Por lo general, a los errores les sigue algo de acetona, lana de alambre y, a continuación, la repintación en la cama para otra grieta.

Grabar su PCB

Ahora una vez impreso las pistas toca  el ataque químico , el cual para bien o para mal sigue siendo para aficionados  el cloruro férrico puesto que no es peligroso  y ataca  con bastante precision  y suficientemente  rápido las partes no pintadas 

Esta  tinta resiste muy bien al grabador, pero parece romperse cuando las pistas son  muy delgadas , pero para resolver el problema  hay personas que les gusta retocar  el PCB después de grabar como una forma de pantalla de seda, 

 

En siguiente vídeo se ve todo el proceso completo  ideado por KdogGboii

Via Instructables.com

Como controlar cualquier electrodoméstico con mando vía wifi


Modernamente están apareciendo muchos electrodomésticos convencionales como equipos de Aire  Acondicionado , Robots de limpieza , Persianas eléctricas , TV , etc con la opción de poderlos controlar  a distancia gracias  a la  conectividad  WIFI ,lo cual puede ser muy interesante  para configurarlos , programarlos o activarlos no solo desde casa, sino incluso fuera de esta  , y con ello mejorar nuestra calidad  de vida  . El punto  negativo es que en la mayoría de los casos   incrementa  sustancialmente el precio  desgraciadamente frente a los  equipos convencionales que no cuentan  con  dicho control y ademas  si contamos con equipos instalados operativos  pero sin esa funcionalidad de control por wifi   , no es una razón de peso para desechar estos¿no?. 

Asimismo ,como sin duda el lector conocerá, cada día  son mas frecuentes los asistentes de voz  como Alexa de Amazon , Google Home o el propio novedoso Aura de Movistar , todos ellos que poco podrán hacer sobre dichos  equipos  a controlar, si no disponen de los  módulos de control  correspondientes. Por ejemplo   con un Amazon Echo Dot o un Google Home Mini  si quiere enseñarle a encender el aparato de Aire Acondicionado  antes de llegar a casa o encender la TV   cuando olvida el mando a distancia lejos del sofá  no podrá hacerlo fácilmente   directamente  pues estos equipos no están preparados par ser controlados por dichos asistentes ,  pero no se alarme, porque   en efecto  no hace falta invertir una gran suma de dinero en cambiar dicho aparato , pues nos bastara ,  si este equipo es controlable   por infrarrojos o RF , de  instalar  un control remoto de luz infrarroja compatible con Alexa o Google Home  que haga las veces de “puente” entre ambos mundos.

Como opción interesante para controlar nuestros dispositivos en el salón destaca el Broadlink RM mini3, un pequeño dispositivo  que  puede controlar sin limitaciones  a  todos los dispositivos y dispositivos controlados con mandos a distancia por infrarrojos  o  que  emiten radiofrecuencia  en las frecuencias de 433 Mhz y 315 Mhz en toda la casa. ( excepto si el código es variable, Broadlink Rm Pro no puede admitirlo) 

 El BroadLink en cuestión tiene el tamaño de un vaso de chupito   contando con  varios leds de infrarojos  repartidos en la cabeza en forma 360° , que hacen que su área de actuación sea muy buena, por ejemplo  para encender el aire acondicionado antes de llegar a casa o para simular presencia encendiendo la tele  gracias a  una app específica para Europa (Intelligent Home Center For EU  , la cual se rige por el Reglamento General de Protección de Datos de la Unión Europea, famoso por ser estricto con el manejo de datos personales).

 

 Con este tipo de dispositivo podremos reemplazar  todos los controles remotos  por  su teléfono inteligente, pues cuenta con soporte para más de 80,000 dispositivos controlados por infrarrojos como aire acondicionado, TV, DVD, PVR, CD, SAT, aire acondicionado, persianas eléctricas, lámparas, purificadores, WiFi, reproductores BluRay, proyectores , Unidades de CA, salidas de RF, ventiladores y mucho más.

Aunque se ha comentado alguna  vez en este blog ,para saber si un mando es IR o RF, enfoque con la cámara del móvil a la punta del mando que controle ese dispositivo y pulse un botón: si en la pantalla del móvil  se ve un destello de  luz azul/blanca, es IR ( si no se ve nada, es de RF).

 

 

Los pasos a seguir para la instalación del el Broadlink RM mini3,  son realmente  muy sencillos:

  1. Instalar la app en el móvil ( esta disponible tanto para Android  como para  iOS)
  2. Enchufarle  una conexión de 5v  por el conector micro-USB ( no esta incluido el adaptador )                                                                                     ,
  3. Abriremos la   app   (esta disponible tanto para Android  como para  iOS)  y vincularemos el  Broadlink RM mini3,por  bluetooth a nuestro terminal                                                                       .
  4. Tendremos que conectar  el  Broadlink RM mini3 a nuestra red wifi añadiendo las credenciales  de nuestra red. Este modelo solo es compatible con redes de 2,4 GHz, pero no 5G  y la  contraseña de Wifi debe ser de  menos de 32 bytes, sin espacios y símbolos especiales, solo con alfabeto y número,
  5. Seguidamente añadiremos el  dispositivo a controlar  para lo cual elegiremos el  tipo de dispositivo, buscando  este modelo en la base de datos   que ofrece la propia aplicación  
  6. Probaremos  si funciona el control remoto desde la propia app , pero  si no funciona , cambiaremos  de modelo  hasta que reaccione)
  7. Si el control remoto no reconoce el dispositivo, puede copiar la señal del mando a distancia manualmente (pero los dispositivos que no están en la base de datos de BroadLink no son compatibles con los asistentes de voz)
  8. Repetiremos el proceso  para  todos los dispositivos controlados por infrarrojo que el BroadLink RM mini 3 tenga a su alcance  como puede ser los equipos de  aire acondicionado, televisores, equipos de música,lectores de dvd o blueray , descodificadores  de televisión de pago ,  barra de sonido, robot aspirador, reproductor multimedia, persianas eléctricas, etc..
  9. .El siguiente paso es configurar escenas que luego usaremos como comandos de Alexa o Google Home. Por  ejemplo para el televisor podemos tener varias  escenas para “encender la television”  o apagar la televisión  o incluso subir o bajar el volumen   o para el equipo de aire acondicionado  por ejemplo podemos tener una escena “calienta la casa” que sube la temperatura a 26 ºC y otra  escena “enfría la casa” que baja la temperatura a 18 ºC.
  10. El último paso es conectar la app de BroadLink con el altavoz inteligente. Hay un manual de instrucciones en el menú Más > Añadir servicio de voz, pero en resumen tenemos que abrir la aplicación Alexa o Google Home en el móvil e instalar la skill o servicio correspondiente. El asistente reconocerá automáticamente los nuevos dispositivos y sus comandos o escenas. Llegados a este punto  ya podrá decir “enciende el aire acondicionado”, “pon el aire acondicionado en modo calefacción” o “enfría la casa” para que el altavoz inteligente se comunique con el control remoto y este, a su vez, envíe la orden al aire acondicionado. También puedes decir “enciende la tele”, “silencia la tele” o “pon La Sexta” para que el control remoto envíe esas órdenes al televisor, aunque no sea una Smart TV ni nada parecido.
  11. Si puede  añadir un nivel de complejidad, creando rutinas desde las apps de Alexa y Google Home para encender las luces del salón de un color determinado cuando ponga el fútbol, conectar  la calefacción todos los días a una hora determinada o apagar el equipo de música cuando enciende la tele. 

 

Conclusiones 

Puede ser interesante para poder manejar la tele, aire acondicionado, bomba de calor y decodificador con el móvil pero sobre todo mediante un asistente de voz como  Google Home o Alexa 

Si nos remitimos al móvil , gracias a este dispositivo se pueden manejar multitud de aparatos sin problemas, configurarse  estos  fácilmente desde la aplicación y enseguida se pueden usar todos, desde casa o fuera de ella ( eso si sólo aquellos que usen infrarrojos  no Radiofrecuencia)

La app ademas permite poner temporizadores para que automáticamente la aplicación ejecute la función del aparato que se desee, en una hora o día concreto, o cada cierto tiempo. También existen los ambientes, que permiten ejecutar varios pasos automáticamente que nosotros indiquemos, de uno o varios aparatos, con un solo click. 

La pega viene con su compatibilidad con Google Home ya que no es del todo correcta. Para el RM Mini3 hay dos app, versión global y europea, que se usan igual para configurar los mandos, pero con la primera de ellas, Google Home no integra ni detecta los dispositivos, sólo los ambientes, y no los ejecuta bien. Con la otra, la europea, Google Home integra los dispositivos, pero solo las de tipo lámpara y tipo aire acondicionado, no las TV ni otros aparatos personalizados.

Respecto a Alexa , aunque la configuración a través de ambientes , escenas y rutinas se hace ardua y repetitiva una vez conseguida el funcionamiento es perfecto. Puedes controlar todo aparato que use infrarojos  que tenga en la misma habitación, y la función de aprendizaje de botones te facilita muchas tareas, así como las funciones pre-configuradas que otros usuarios ya han colgado en el servidor.  Es   un aparato imprescindible en dúo con Alexa.

En el siguiente video podemos ver un ejemplo de integración de Alexa con el Broadlink RM mini3,

Por cierto este  puente  de infrarrojos con wifi   se puede comprar  en Amazon por unos 24,99,   pero tenga cuidado porque hay otros modelos de Broadlink  algo mas económicos que no son controlables por asistentes de voz como Alexa o Google Home.Si necesita controlar aparatos que vayan por radiofrecuencia en lugar de infrarrojos necesitarás su hermano mayor…. El pro