28 octubre 2016

¿Hay vida más allá de Oracle? CriOS (Custom Real-time intelligent Operating System)?????



Hoy curioseando el publico que ve mi blog me he dado cuenta de una visita que ha usado el navegador CriOS. He investigado un poco y esta es la información que he sacado.

¿Qué es CriOS?
El sistem operativo de tu dispositivo móvil (tablet, smartphone) para identificar tu navegador usa una propiedad conocida como:
  • User Agent Strings (UA)
Esta propiedad ayuda a identificar qué navegador se está usando, qué versión, y de qué sistema operativo. Cuando las API de detección de características no están disponibles, se utiliza la UA para personalizar el comportamiento o el contenido de las versiones específicas del navegador.

Al igual que todos los demás navegadores, Chrome para iOS envía esta información en el encabezado HTTP User-Agent cada vez que se hace una petición a cualquier sitio. También está disponible en el cliente a través de JavaScript utilizando la llamada navigator.userAgent .:

De acuerdo con los desarrolladores de Google, la cadena de UA se ve así:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3

Así es como se diferencia de iOS Safari en el que dice CRIOS lugar de la versión. Así que esto:
  • if(navigator.userAgent.match('CriOS')
Debería de funcionar.

Pero...

Mirando esta página  encuentro:

  • Es la capa del sistema operativo (SO) es un diseño propio y personalizado basado en el sistema abierto Linux  con versión del kernel 2.6.x. Esta capa del sistema operativo está diseñado para proteger el sistema contra las amenazas basadas en software, proteger la integridad del kernel del sistema operativo y lograr el mejor rendimiento.
  • Se puede lograr un alto rendimiento de hardware de consumo mediante la eliminación de cuellos de botella estándar núcleo de Linux en recibir y enviar paquetes de red en tiempo real.
  • Esta capa del sistema operativo tiene varias tecnologías clave. Ellos son la tecnología de red directa de la caché de acceso (DNCA), Mac nivel de paquete Interceptación técnica, la tecnología de procesamiento paralelo de varios núcleos, Traffic Shaping algoritmo del motor (TSAE), y el motor de clasificación de paquetes IP. Pueden alcanzar plenamente un alto rendimiento del sistema, optimizar el uso de la CPU y maximizar el procesamiento de paquetes rápido en nuestro dispositivo de hardware de los productos básicos. Este sistema operativo está integrado en dispositivos de hardware que es un chasis montado en rack PC-industrial graduada estándar abierto. Es 100% seguro con OS endurecen y sin ningún coste oculto o de alta conjunto de habilidades de las necesidades de instalación de base de datos o software. Con el fin de mantener un alto rendimiento robusto para el despliegue de nuestros productos en entornos de red de transporte, todos los componentes de hardware como CPU, placas electrónicas, y la fuente de alimentación totalmente se examinarán y bien probados en el laboratorio de pruebas de la célula y otras organizaciones de prueba estándar.

No siempre se encuentra toda la verdad en las primeras búsquedas de internet.

24 octubre 2016

¿Hay vida más allá de Oracle? Tutorial de JSON subido a Slideshare


He publicado en SlideShare un pequeño tutorial de JSON para recién iniciados como Yo, encuentralo en este lugar. .


Detección de licencias Oracle Database Server




Nota:

La concesión de licencias de Oracle es un asunto complicado. Las notas aquí son sólo una guía. Siempre se debe hablar de su licencia con Oracle License Management Services.

Esta pequeña entrada del blog mostrará algunos comandos SQL que pueden ser ejecutados para mostrar que componentes de tu base de datos han de ser licenciados con Oracle Inc.

Poniéndonos en situación
Imaginemos que tenemos una auditoria de licencias de Oracle en enero, por lo que habrá que echar un vistazo a todo lo que tenemos para comprobar qué características que estamos utilizando.

Mi primer consejo seria mantener un repositorio de información, con toda esta información inventariada, a modo de pequeña CMDB, como aconseja las buenas practicas de ITIL

El lado de la base de datos es bastante fácil porque tenemos licencias FTE para Enterprise Edition, Diagnostics y Tuning Pack y Partitioning.



  • Numero de usuarios, CPU/Procesadores:
select * from v$license;


  • ¿Que versión tengo instalada?:
select banner from v$version where BANNER like '%Edition%';

¿Está instalada la opción de particonamiento de tablas y tablespaces?:
select decode(count(*), 0, 'No', 'Yes') Partitioning
from ( select 1 
       from dba_part_tables
       where owner not in ('SYSMAN', 'SH', 'SYS', 'SYSTEM')
         and rownum = 1 )
/
  • ¿Está Oracle Spatial instalado?:

select decode(count(*), 0, 'No', 'Yes') Spatial
from ( select 1
       from all_sdo_geom_metadata 
       where rownum = 1 )
/
  • ¿Está Oracle RAC instalado?:
select decode(count(*), 0, 'No', 'Yes') RAC
from ( select 1 
       from v$active_instances 
       where rownum = 1 );
/
  • ¿Que características están siendo usadas y cuáles no?: 
(solo para versiones Oracle  9i)

Col name  format a50 heading "Option"
Col value format a5  heading "?"      justify center wrap
Break on value dup skip 1
Spool option
Select parameter name, value
from v$option 
order by 2 desc, 1
/
  • ¿Que características están siendo usadas y cuáles no?: 
(solo para versiones Oracle 10g)

Set feedback off
Set linesize 122
Col name             format a45     heading "Feature"
Col version          format a10     heading "Version"
Col detected_usages  format 999,990 heading "Detected|usages"
Col currently_used   format a06     heading "Curr.|used?"
Col first_usage_date format a10     heading "First use"
Col last_usage_date  format a10     heading "Last use"
Col nop noprint
Break on nop skip 1 on name
Select decode(detected_usages,0,2,1) nop,
       name, version, detected_usages, currently_used,
       to_char(first_usage_date,'DD/MM/YYYY') first_usage_date, 
       to_char(last_usage_date,'DD/MM/YYYY') last_usage_date
from dba_feature_usage_statistics

order by nop, 1, 2
/
  • ¿Que características están siendo usadas y cuáles no?: 
(para versiones Oracle 11g en adelante)
En realidad bastante simple para ver qué características están siendo utilizados en la base de datos. Oracle proporciona la vista DBA_FEATURE_USAGE_STATISTICS para ese fin. SQL> 
SQL> DESC dba_feature_usage_statistics
 Name                                                  Null?    Type
 ----------------------------------------------------- -------- ------------
 DBID                                                  NOT NULL NUMBER
 NAME                                                  NOT NULL VARCHAR2(64)
 VERSION                                               NOT NULL VARCHAR2(17)
 DETECTED_USAGES                                       NOT NULL NUMBER
 TOTAL_SAMPLES                                         NOT NULL NUMBER
 CURRENTLY_USED                                                 VARCHAR2(5)
 FIRST_USAGE_DATE                                               DATE
 LAST_USAGE_DATE                                                DATE
 AUX_COUNT                                                      NUMBER
 FEATURE_INFO                                                   CLOB
 LAST_SAMPLE_DATE                                               DATE
 LAST_SAMPLE_PERIOD                                             NUMBER
 SAMPLE_INTERVAL                                                NUMBER
 DESCRIPTION                                                    VARCHAR2(128)

La salida se muestra corresponde a una base de datos Oracle 12c de prueba.
COLUMN name  FORMAT A60
COLUMN detected_usages FORMAT 999999999999

SELECT u1.name,
       u1.detected_usages,
       u1.currently_used,
       u1.version
FROM   dba_feature_usage_statistics u1
WHERE  u1.version = (SELECT MAX(u2.version)
                     FROM   dba_feature_usage_statistics u2
                     WHERE  u2.name = u1.name)
AND    u1.detected_usages > 0
AND    u1.dbid = (SELECT dbid FROM v$database)
ORDER BY name;

NAME                                                         DETECTED_USAGES CURRE VERSION
------------------------------------------------------------ --------------- ----- -----------------
Adaptive Plans                                                             1 TRUE  12.1.0.2.0
Automatic Maintenance - Optimizer Statistics Gathering                     1 TRUE  12.1.0.2.0
Automatic Maintenance - SQL Tuning Advisor                                 1 TRUE  12.1.0.2.0
Automatic Maintenance - Space Advisor                                      1 TRUE  12.1.0.2.0
Automatic Reoptimization                                                   1 TRUE  12.1.0.2.0
Automatic SGA Tuning                                                       1 TRUE  12.1.0.2.0
Automatic SQL Execution Memory                                             1 TRUE  12.1.0.2.0
Automatic Segment Space Management (system)                                1 TRUE  12.1.0.2.0
Automatic Undo Management                                                  1 TRUE  12.1.0.2.0
Backup Rollforward                                                         1 TRUE  12.1.0.2.0
Backup and Restore of plugged database                                     1 TRUE  12.1.0.2.0

NAME                                                         DETECTED_USAGES CURRE VERSION
------------------------------------------------------------ --------------- ----- -----------------
Character Set                                                              1 TRUE  12.1.0.2.0
Deferred Segment Creation                                                  1 TRUE  12.1.0.2.0
Flashback Database                                                         1 TRUE  12.1.0.2.0
Job Scheduler                                                              1 TRUE  12.1.0.2.0
LOB                                                                        1 TRUE  12.1.0.2.0
Locally Managed Tablespaces (system)                                       1 TRUE  12.1.0.2.0
Locally Managed Tablespaces (user)                                         1 TRUE  12.1.0.2.0
Logfile Multiplexing                                                       1 TRUE  12.1.0.2.0
Oracle Java Virtual Machine (system)                                       1 TRUE  12.1.0.2.0
Oracle Managed Files                                                       1 TRUE  12.1.0.2.0
Oracle Multitenant                                                         2 TRUE  12.1.0.1.0

NAME                                                         DETECTED_USAGES CURRE VERSION
------------------------------------------------------------ --------------- ----- -----------------
Oracle Pluggable Databases                                                 1 TRUE  12.1.0.2.0
Parallel SQL Query Execution                                               1 TRUE  12.1.0.2.0
Partitioning (system)                                                      1 TRUE  12.1.0.2.0
Recovery Area                                                              1 TRUE  12.1.0.2.0
Result Cache                                                               1 TRUE  12.1.0.2.0
SQL Plan Directive                                                         1 TRUE  12.1.0.2.0
SecureFiles (system)                                                       1 TRUE  12.1.0.2.0
SecureFiles (user)                                                         1 TRUE  12.1.0.2.0
Server Parameter File                                                      1 TRUE  12.1.0.2.0
Traditional Audit                                                          1 TRUE  12.1.0.2.0
Unified Audit                                                              1 TRUE  12.1.0.2.0

33 rows selected.

Por defecto esta vista se actualiza una vez por semana, pero se puede realizar una tarea para tenerla mas actualizada.