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

 

Anuncios

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