20 enero 2021

¿Hay vida más allá de Oracle? TIBERO, la base de datos


Tibero es sistema de gestión de bases de datos relacional (RDBMS) desarrollado por TmaxSoft (Corea del Sur).

Si quieres tener información de primera mano, echa un ojo a su web.

Tibero es un sistema de administración de bases de datos relacionales (RDBMS) de alto rendimiento, altamente seguro y altamente escalable para empresas que desean aprovechar al máximo sus datos de misión crítica. En un mundo donde los datos son el núcleo de todo, Tibero ofrece una visión mejorada del procesamiento, la gestión y la protección de bases de datos a gran escala.

Tibero ofrece muchos beneficios que incluyen:

  • Altamente compatible con Oracle, en algunos casos hasta un 97% de compatibilidad
  • Alta disponibilidad (agrupación activa-activa)
  • Modelo de licencia simple similar al precio de suscripción de SaaS
  • Procesamiento de transacciones de alto rendimiento
  • Se escala con hardware básico en lugar de costosos servidores de bases de datos propietarios
  • Capacidad de base de datos en espera activa o pasiva
  • Arquitectura de hiperproceso
  • Cifrado de base de datos de alta seguridad
  • Recuperación en paralelo de varios nodos
  • Servidor compartido confiable
  • Tibero Enterprise Edition es todo incluido, sin productos adicionales para comprar

Tibero es un RDBMS que cierra la brecha entre las bases de datos relacionales heredadas y las cargas de trabajo en ejecución en un entorno de nube como AWS o Microsoft Azure

TmaxSoft, ofrece la posibilidad de bajar la base de datos en modo prueba de 30 días.

Dentro de las posibilidades que ofrece Tibero, podemos disfrutar de un buen ejemplo de despliegue. Hay un buen manual de como montar un cluster Tibero en AWS, en esta página: DBA Junior



Oracle: ¿Obtienes lo que pagas?

Oracle es el líder del mercado por una razón. Ofrece un alto rendimiento y buenas funciones y características que incluyen seguridad, ajuste y otros paquetes opcionales. La tecnología de escalamiento horizontal con RAC proporciona clústeres activo-activo (sin compartir nada). Debido a que es un proveedor comercial, sus desarrolladores son parte de la organización y son una cantidad conocida. Oracle es especialmente popular entre las grandes empresas y tiene una gran comunidad de desarrolladores y administradores.

Se recomienda Oracle para implementaciones a gran escala. Los procedimientos almacenados, que están integrados en la base de datos, se pueden ejecutar de forma independiente o activados por ciertos eventos. Es compatible con la partición de datos y requiere un nombre de usuario, contraseña y validación de perfil para iniciar sesión.

Sus inconvenientes incluyen la falta de soporte para CPU virtuales, costos ocultos para modelos de seguridad y particiones "opcionales" y altos CapEX (la licencia) y OpEX (el acuerdo de mantenimiento). Oracle tiene un modelo de licencia RDBMS mediante el cual, en un entorno de virtualización con particiones suaves, sus clientes deben pagar el 100% de los núcleos físicos disponibles, incluso si no se utilizan. Con este tipo de restricciones sobre cómo utilizar Oracle, muchas empresas, quizás incluso la suya, se sienten atrapadas en un monolito inflexible.

Código abierto: ¿Las mejores cosas de la vida son realmente gratuitas?

MySQL es rápido, escalable, fácil de usar y flexible. Permite la confirmación, la recuperación de fallos y la reversión de transacciones. Se usa comúnmente con scripts PHP para crear aplicaciones empresariales del lado del servidor o basadas en la web, y es compatible con Windows, Linux, MacOS y otros con C, C ++ y Java. Aunque las grandes empresas utilizan MySQL, es más popular entre las empresas más pequeñas porque no hay tarifas de licencia.

Otro RDBMS de código abierto popular es PostgreSQL, que es similar a MySQL. La eficiencia de su algoritmo central le permite superar a muchas bases de datos comerciales si trabaja con grandes conjuntos de datos, para los que los procesos de E / S pueden convertirse en un cuello de botella.

Las desventajas de las ofertas de código abierto también son similares. Tienen menos características y funciones que Oracle y no ofrecen RAC ni particiones de datos. Debido a que no son compatibles con Oracle, se necesitan más recursos y más tiempo para la migración, lo que aumenta los costos. Debido a que su código fuente está abierto a una comunidad, esto puede crear un riesgo de seguridad y la documentación principal no siempre está actualizada. El servicio y el soporte no están tan fácilmente disponibles porque estos no son productos comerciales.

TmaxSoft Tibero: ¿El secreto RDBMS mejor guardado?

  • Si la adopción de bases de datos fuera parte del concurso Let's Make a Deal, Oracle estaría detrás de la puerta # 1. 
  • Un RDBMS de código abierto como MySQL o PostgreSQL estaría detrás de la puerta # 2. Se estaría preguntando si desea sacrificar la estabilidad, la seguridad y las características y funcionalidades enriquecidas sin tarifas de licencia, desarrollo web y compatibilidad con más idiomas. 
  • En el juego RDBMS, al igual que en Let's Make a Deal, hay una puerta n. ° 3; sin embargo, TmaxSoft Tibero, que está detrás de él, es más un secreto que un misterio.

Tibero es un sistema de administración de bases de datos relacionales (RDBMS) de alto rendimiento, altamente seguro y altamente escalable. La alta disponibilidad se logra con activo-activo (igual que con RAC), el rendimiento se mejora con una arquitectura multiproceso y multiproceso, y para la recuperación ante desastres, hay activo-en espera. En términos de compatibilidad, Tibero es compatible con SQL estándar e interfaces como JDBC, ODBC y CLI, es compatible con Oracle PL / SQL, tipos de datos y funciones. También obtiene la ventaja adicional de la CPU virtual (no disponible con Oracle). Incluso puedes usar tu conjunto de habilidades de Oracle en Tibero.




Monitoreo de índices de bases de datos

 


Para aquellos que no están familiarizados con él, el monitoreo de índices es la forma de Oracle de rastrear si se está utilizando un índice, lo que le permite saber si es necesario. 

Dos cosas a tener en cuenta: 

  • No siempre marca un índice como usado, incluso si se usa. Si no se usa en un plan de ejecución, pero se usa para hacer cumplir una clave externa o restricción única, no se marcará como usado. 
  • La vista utilizada para observar el uso de índices es específica del esquema. Es posible que esté monitoreando índices, pero los índices no aparecerán en v $ object_usage a menos que inicie sesión como propietario del esquema. Es mejor ir directamente a la consulta subyacente para ver todos los índices supervisados (consulta a continuación).
Dado que la supervisión de índices es de muy bajo costo, tiene sentido activarla para todos los índices candidatos. Los índices en FK y los índices únicos funcionan incluso si no se utilizan en los planes de ejecución, por lo que no son candidatos para descartarse. Aquí está la consulta para obtener todos los índices no únicos, que no son de FK (se supone que no hay PK concatenados; si tiene eso, la consulta se vuelve más complicada):

SELECT 'ALTER INDEX '||ic.index_name||' MONITORING USAGE;'

  FROM all_ind_columns ic, all_indexes i

 WHERE i.uniqueness = 'NONUNIQUE' --don't monitor unique indexes

   AND i.table_owner = 'SCHEMA_OWNER_HERE'

   AND ic.index_owner = i.owner

   AND ic.index_name = i.index_name

   AND ic.position = 1

   AND NOT EXISTS (SELECT 'x' --Don't monitor indexes on FK's

                     FROM all_cons_columns cc, all_constraints c

                    WHERE ic.table_name = cc.table_name

                      AND ic.column_name = cc.column_name

                      AND c.constraint_name = cc.constraint_name

                      AND c.constraint_type IN ('R'));

Aquí está la consulta para ver los objetos monitoreados si no ha iniciado sesión como propietario del esquema:

select d.username, io.name, t.name,
       decode(bitand(i.flags, 65536), 0, 'NO', 'YES'),
       decode(bitand(ou.flags, 1), 0, 'NO', 'YES'),
       ou.start_monitoring,
       ou.end_monitoring 
from sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou,
     dba_users d
where io.owner# = d.user_id
  AND d.username = 'SCHEMA_OWNER_HERE'
  and i.obj# = ou.obj#
  and io.obj# = ou.obj#
  and t.obj# = i.bo#;

Y aquí hay un ejemplo de monitoreo de índices en acción, incluido el uso de índice único que no se marca:
CREATE TABLE test_monitoring AS SELECT level id, dbms_random.value(1,1000) value FROM dual CONNECT BY LEVEL <= 5000;

Table created.

CREATE UNIQUE INDEX test_monitoring_idx ON test_monitoring(id);

Index created.

ALTER INDEX test_monitoring_idx MONITORING USAGE;

Index altered.

--Using index for PK enforcement - does not flag the index as used:
INSERT INTO test_monitoring VALUES (100,0);
INSERT INTO test_monitoring VALUES (100,0)
*
ERROR at line 1:
ORA-00001: unique constraint (BAYPAS.TEST_MONITORING_IDX) violated 

SELECT index_name, used FROM v$object_usage WHERE index_name = UPPER('test_monitoring_idx');

INDEX_NAME                     USE                                              
------------------------------ ---                                              
TEST_MONITORING_IDX            NO                                               

--But we run a select that will use the index


SELECT * FROM test_monitoring WHERE id = 100;

        ID      VALUE                                                           
---------- ----------                                                           
       100   255.5571                                                           

--And now the index shows up as used:
SELECT index_name, used FROM v$object_usage WHERE index_name = 'TEST_MONITORING_IDX';

INDEX_NAME                     USE                                              
------------------------------ ---                                              
TEST_MONITORING_IDX            YES

Oracle RAC Highly Available IP (HAIP)




Oracle 11gR2 introdujo el RAC Highly Available IP (HAIP) para la Interconexión de Clúster para ayudar a eliminar un único punto de falla. Si el nodo en el clúster solo tiene un adaptador de red para la red privada, y ese adaptador falla, entonces el nodo ya no podrá participar en las operaciones del clúster. No podrá realizar su latido con el clúster. Eventualmente, los otros nodos desalojarán el nodo defectuoso del clúster. Si el clúster solo tiene un único conmutador de red para la Interconexión de Clúster y el conmutador falla, entonces todo el clúster quedará comprometido. 

Cada nodo del clúster tiene acceso a redes privadas duales. Los puntos únicos de falla han sido eliminados. Tenga en cuenta que los adaptadores de red duales sirven como interfaces para conmutadores de red duales.

No se puede simplemente levantar una segunda red privada y esperar que el software de clusterware comience a utilizar ambas redes. Sin ninguna configuración adicional, solo se usaría una red privada y la otra estaría inactiva.




Antes de Oracle 11gR2, los arquitectos de sistemas que estaban preocupados con el punto único de falla aprovecharían la agregación de enlaces. Los términos vinculación de NIC, formación de equipos de NIC o enlace de puertos también se utilizan para el mismo concepto. La idea central detrás de la agregación de enlaces es hacer que dos redes privadas actúen como una sola. Las dos redes privadas se combinan para mostrarse al sistema operativo como una unidad. Para el sistema operativo, los adaptadores de red se ven como un adaptador. Si uno de los adaptadores de red física fallara, el sistema operativo apenas notaría y el tráfico de red pasaría a través del adaptador restante.

Este no es un artículo sobre la arquitectura de máxima disponibilidad y en este punto se estará preguntando qué tiene que ver la agregación de enlaces con la optimización del rendimiento de Oracle RAC. Además de una mayor disponibilidad para el clúster, la agregación de enlaces mejora el rendimiento de la red privada. Dos redes privadas tienen el doble de capacidad y, por lo tanto, el doble del rendimiento de una sola red privada. Cuando el tráfico en la Interconexión de Clúster satura una red privada singular, otra opción es aprovechar la agregación de enlaces para mejorar el rendimiento de la transferencia de la memoria caché global.

Oracle Grid Infrastructure, desde la versión 11g,  proporciona RAC HAIP, que es la agregación de enlaces, movida al nivel de clusterware. En lugar de vincular los adaptadores de red en el lado del sistema operativo, se le indicó a Grid Infrastructure que use múltiples adaptadores de red. Grid Infrastructure seguirá iniciando HAIP incluso si el sistema está configurado con un solo adaptador de red privado. 

A continuación, se muestra el nombre del recurso ora.cluster_interconnect.haip está en línea.

Primea instalación

Durante mi primera instalación y configuración, tuve que aprender mucho sobre los requisitos de la red para implementar la base de datos RAC. Los conceptos dirección IP, dirección VIP, SCAN y una red de interconexión privada rápida, tuvieon que hacerse presentes en mi cabeza y asimilar que era lo que tendía que hacer.

Lo que me llamó la atención es esta extraña dirección IP en la interfaz virtual de mi red privada:

inet 169.254.42.186/19 brd 169.254.42.255 alcance global eth2: 1

Esto sucede cuando HAIP está activo y configurado.

Así que comprobaré

crsctl stat res -t -init

ora.cluster_interconnect.haip
1 ONLINE ONLINE srvpcaoraent1 ESTABLE

Ok, tenía HAIP, pero ¿Qué es HAIP?

IP de alta disponibilidad es una función que le ayuda a minimizar los desalojos de nodos debido a frecuentes eventos de caída de NIC privados, vinculación, trunking, formación de equipos o tecnología similar para hacer uso de conexiones de red redundantes entre los nodos. Oracle Clusterware ahora ofrece una solución integrada que garantiza el "uso de interconexión redundante", ya que admite la conmutación por error de IP.

¡Excelente!

Leí y encontré cómo ver la dirección IP utilizada globalmente

seleccione inst_id, name, ip_address de gv $ cluster_interconnects;

INST_ID NAME IP_ADDRESS
———- ————— ———————————————-
1 eth2: 1 169.254.31.186
2 eth2: 1 169.254.27.70

Y también

oifcfg getif
eth0 10.1.0.0 público global
eth2 192.168.181.0 global cluster_interconnect, asm

oifcfg le permite agregar y eliminar interfaces fácilmente

$ oifcfg setif -global <interface> / <subnet>: cluster_interconnect>
$ oifcfg delif -global <nombre_si>

Según la documentación 18c
 
De forma predeterminada, el software Oracle Grid Infrastructure utiliza todas las direcciones HAIP para la comunicación de red privada, lo que proporciona equilibrio de carga en el conjunto de interfaces que identifica para la red privada. Si una interfaz de interconexión privada falla o deja de ser comunicativa, Oracle Clusterware mueve de manera transparente la dirección HAIP  




19 enero 2021

¿Cómo seguir utilizando Flash en 2021? Para poder ejecutar Oracle Database Control

 

¿Cómo seguir utilizando Flash en 2021?

Lo más indicado es no utilizar Flash desde 2021 en adelante, pero sabemos que algunas empresas y organismos no han actualizado a tiempo sus sistemas para que eso sea posible. Algunos organismos públicos están enviando comunicaciones sobre cómo seguir utilizando Adobe Flash a partir del 1 de enero. 

  • Descargar un navegador que no deshabilite el funcionamiento de Flash
  • Actualización de Adobe Flash Player
  • Configurar Adobe Flash Player para que permita el acceso al servicio afectado
Hay que tener en cuenta que, dado que uno de los pasos del proceso consiste en la actualización de Adobe Flash Player, la fecha límite para poder realizarlo es el 31 de diciembre de 2020. Lo primero es descargar Pale Moon, un navegador libre basado en el navegador Firefox que ha garantizado la continuidad del funcionamiento de Adobe Flash Player. Una vez instalado, descargado el idioma español (o el deseado), es necesario tener Adobe Flash Player actualizado a la última versión.

Ahora crearemos un archivo con el bloc de notas y el siguiente contenido:

EnableAllowList=1
AllowListRootMovieOnly=1
AllowListUrlPattern=https://LAPTOP-3RJGV85G:1158/em
SilentAutoUpdateEnable=0
AutoUpdateDisable=1
EOLUninstallDisable=1

Ese fichero lo guardaremos como mms.cfg y lo copiaremos en:

32 bits

  • C:/Windows/system32/Macromed/Flash

64 bits
  • C:/Windows/SysWOW64/Macromed/Flash
  • C:/Windows/system32/Macromed/Flash



Se recomienda hacer una copia de seguridad del fichero mms.cfg original, antes de nada. En caso de necesitar acceder a otras aplicaciones flash es necesario añadir al archivo mms.cfg una línea por cada aplicación:

AllowListUrlPattern=http[s]://[DOMINIO_APLICACION/

Desinstalación manual y limpia de Oracle 11g Enterprise Edition para Windows

 



Advertencia: la edición del registro puede causar problemas en su PC. Si tiene problemas al intentar desinstalar Oracle de su estación de trabajo de Windows, o no puede desinstalar las instalaciones de Oracle de manera limpia y adecuada, se pueden utilizar los siguientes pasos para desinstalar todos los productos de Oracle instalados actualmente en la estación de trabajo:

  • Desinstale todos los componentes de Oracle mediante Oracle Universal Installer (OUI).
  • Elimine la clave HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE que contiene entradas de registro para todos los productos de Oracle utilizando regedit.
  • Elimine cualquier referencia a servicios / componentes de Oracle en la siguiente ubicación de registro: HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Services /. Busca entradas clave que comiencen con "Ora" que obviamente están relacionadas con Oracle.
  • Reinicie la estación de trabajo.
  • Elimina el directorio ORACLE_BASE. (es decir, C: \ Oracle)
  • Elimine el directorio C: \ Archivos de programa \ Oracle.
  • Vacíe el directorio temporal.
  • Vacía la papelera de reciclaje.
Con esto, la computadora está más o menos libre de cualquier componente de Oracle, lo que le permite reinstalar Oracle si es necesario.

28 noviembre 2020

Copias de seguridad gestionadas por el usuario en Oracle

 

Empezaremos esta entrada en el blog, con la ortodoxia de una definición canónica de copia de seguridad (backup).

Definición: La copia de seguridad es una copia real y coherente de los datos de la base de datos que podría usarse para reconstruir los datos después de un incidente.

Hay dos tipos de respaldo
  • Copia de seguridad física
  • Copia de seguridad lógica


Copia de seguridad física (Physical Backup)

Copia de todos los archivos de datos físicos necesarios para realizar la restauración y recuperación de la base de datos,
Este tipo de copia de seguridad incluye una copia de los archivos siguientes
  • Archivos de información
  • Controlar archivos
  • Archivos de parámetros
  • Archivos de registro archivados
Las diferentes opciones para realizar copias de seguridad físicas son
  • Técnicas gestionadas por el usuario
  • RMAN (Recovery Manager)

Copia de seguridad lógica (Logical Backup)

Oracle utiliza la bomba de datos de Oracle para permitirnos generar una copia de seguridad lógica que se puede utilizar para migrar datos, incluso hacer una recuperación parcial o total de la base de datos.
  • exp / expdp
  • imp / impdp

Diferencia entre restauración y recuperación

Restaurar: acto que implica la restauración de todos los archivos que serán necesarios para recuperar su base de datos a un estado consistente. por ejemplo, copiando todos los archivos de respaldo desde una ubicación de respaldo como TAPE o DISK

Recuperar: es un proceso para aplicar todos los registradores de transacciones en el registro de archivo, avanzando su base de datos hasta un punto en el tiempo.

Copias de seguridad gestionadas por el usuario

Backpup en Frio

Esta es la única forma posible para que el DBA realice una copia de seguridad coherente de la base de datos independientemente del modo de la base de datos (archivelog o noarchivelog). A continuación se explican los pasos:
  • Si la base de datos se está ejecutando, bájela completamente en un modo consistente (usando el apagado (solo NORMAL / INMEDIATO / TRANSACCIONAL). Esto asegurará que el encabezado de todos los archivos de la base de datos se actualice al mismo SCN
  • Copia de seguridad de todos los archivos de datos, archivos de control, archivos de parámetros mediante el comando de copia del sistema operativo
  • Iniciar la base de datos
  • Archive todos los registros de rehacer no archivados utilizando el siguiente comando y cópielos en la ubicación de la copia de seguridad.
alter tablespace SIGE_TBS offline normal;

Copia de seguridad de datos sin conexión (Offline)

Suponga que desea realizar una copia de seguridad sin conexión de uno o más espacios de tabla, el método de copia de seguridad sin conexión le ayudará a lograr lo mismo, tenga en cuenta que el espacio de tabla SYSTEM y el espacio de tabla UNDO con deshacer activo no se pueden desconectar.
suponga que el espacio de tabla es SIGE_TBS:

  • Identifique todos los archivos de datos asociados con el espacio de tabla mediante la vista dba_data_files

select tablespace_name,file_name from dba-data_files from dba_data_files where tablespace_name='SIGE_TBS';

  • Ponga el espacio de tabla fuera de línea usando la prioridad normal (no use temporal e inmediato, requerirá recuperación en el momento de poner el espacio de tabla en línea)

alter tablespace SIGE_TBS offline normal;

  • Haga una copia de seguridad de todos los archivos de datos relacionados con el espacio de tabla mediante el comando de copia del sistema operativo.
  • Ponga el tablespace en línea.

alter tablespace SIGE_TBS online;

Archive todos los registros de rehacer no archivados y copie el registro archivado en la ubicación de la copia de seguridad.

alter system archive log current;

Backups en caliente

Esto se ha introducido en la versión 6 de Oracle, pero inicialmente estaba vinculado solo al espacio de tabla, a partir de la versión 10 también incluían toda la base de datos. Esto nos permite realizar copias de seguridad en caliente de la base de datos o el espacio de tabla sin necesidad de cerrar la base de datos.
Al realizar una copia de seguridad en caliente, Oracle deja de registrar puntos de control en todos los archivos de datos asociados.
A continuación se muestran dos cosas que suceden internamente mientras la base de datos se pone en modo BEGIN BACKUP:

  • Se establece una bandera de respaldo activo en el encabezado del archivo de datos
  • Se produce un punto de control, parpadeo de todos los bloques sucios de la memoria al disco, sincronizando todos los encabezados de los archivos de datos al mismo SCN y congelando los encabezados para lograr coherencia, protección y capacidad de recuperación.
Se pueden realizar copias de seguridad en caliente en toda la base de datos, el espacio de tabla o incluso a nivel de contenedor, esto requiere un proceso de recuperación después de que se restaure la copia de seguridad, por lo que siempre realice una copia de seguridad de todos los archivos de registro archivados necesarios.

Copia de seguridad en caliente de toda la base de datos
Para realizar este tipo de copia de seguridad, debemos poner nuestra base de datos en modo de copia de seguridad usando 'alter database begin backup;'
Este es el tipo más común de copia de seguridad administrada por el usuario que utiliza DBA en todo el mundo.
A continuación se muestran los pasos:
  • Coloque la base de datos en modo de respaldo.
alter database begin backup;
  • Haga una copia de seguridad de todos los archivos de datos y archivos de parámetros utilizando el comando de copia del sistema operativo-
  • Saque la base de datos del modo de respaldo.
alter database end backup;
  • Archivar todos los registros no archivados y copiarlos como respaldo.
  • Crear copia del archivo de control como seguimiento.
alter system archivelog current;
  • modifique el archivo de control de copia de seguridad de la base de datos a '/control_file.trc;
alter system archive log current;


Copia de seguridad en caliente de la base de datos de contenedores
Como se introdujo en Oracle 12c, puede realizar una copia de seguridad administrada por el usuario de toda la base de datos del contenedor o del único PDB raíz o individual.

Base de datos de contenedores completa:

A continuación se muestran los pasos mencionados:
  • Inicie sesión en la base de datos utilizando un usuario que tenga privilegios de sysdba o sysbackup.
sqlplus /nolog

connect system@container1

  • Coloque su base de datos en modo de respaldo.ç
alter database begin backup;
  • Modificar la base de datos comenzar la copia de seguridad;
select file_name from dba_data_files;
  • Identifique todas las bases de datos relacionadas con la base de datos del contenedor usando el siguiente comando.
select file_name from dba_data_files;
  • Copie toda la base de datos usando el comando de copia del sistema operativo.
  • Saque la base de datos del modo de respaldo.
alter database end backup;
  • Archivar todos los registros no archivados y copiarlos como respaldo.
alter system archivelog current;
  • Crear copia del archivo de control como seguimiento.
alter database backup controlfile to '/control_file.trc;

ROOT solo o PDB individual

A continuación se muestran los sencillos pasos para completar la copia de seguridad en caliente de root contenedor o base de datos conectable individual.

  • Conectar a la raíz o base de datos conectable individuo con usuario tenga privilegios SYSDBA o sysbackup.
sqlplus /nolog
connect system

alter session set container= tech_pdb;

  • Identifique todos los archivos de datos que forman parte de PDB usando la vista dba_data_files.

select file_name from dba_data_files;
  • Coloque la base de datos conectable en modo de respaldo.
alter pluggable database tech_pdb begin backup;
  • Copie todos los archivos de datos usando el comando de copia del SO.
  • Saque la PDB del modo de inicio de copia de seguridad.
alter pluggable database tech_pbd end backup;
  • Archivar todos los registros no archivados y copiarlos como respaldo
alter system archivelog current;
  • Crear una copia del archivo de control como seguimiento

alter database backup controlfile to '/control_file.trc;

Controlar la copia de seguridad de archivos
Hay dos formas de recuperar el control
  • Copia de seguridad binaria
  • Copia de seguridad de archivos de texto
Tener una copia de seguridad válida del archivo de control de una base de datos es crucial para la recuperación exitosa de la base de datos.

Copia de seguridad binaria
Se puede realizar una copia binaria del archivo de control mediante una declaración SQL. Esta copia contiene información adicional, como el historial de registro de rehacer archivado, rango fuera de línea para espacios de tabla de solo lectura y fuera de línea, entradas de archivos temporales y conjuntos de respaldo de RMAN y copias de datos.
comando para tomar una copia de seguridad binaria.

alter database backup controlfile to '';

Copia de seguridad de archivos de texto
Este tipo de copia de seguridad contiene una instrucción create controlfile basada en el archivo de control actual en uso. Este tipo de copia de seguridad se puede realizar mientras la base de datos está en modo de montaje o abierto. Esto se genera como archivo de seguimiento y se puede modificar fácilmente.
A continuación se muestran algunas declaraciones utilizadas para crear una copia de seguridad basada en texto del archivo de control.

1. alter database backup controlfile to trace;
2. alter database backup controlfile to trace resetlogs;
3. alter database backup controlfile to trace noresetlogs;
4. alter database backup controlfile to trace as '';
5. alter database backup controlfile to trace as '' reuse;
6. alter database backup controlfile to trace as '' resetlogs;
7. alter database backup controlfile to trace as '' noresetlogs;

26 noviembre 2020

¿Hay vida más allá de Oracle? Psi-probe para Apache Tomcat

 


Psi-probe es un monitor de Apache Tomcat que nació como un fork de Lambda Probe, debido a la falta de soporte sobre el mismo y las dudas en cuanto a su futuro.

Psi-probe es un proyecto con licencia GPLv2 que, según describen en su propia documentación, permite monitorizar en remoto el estado del servidor en los siguientes aspectos:

  • peticiones: dispone de un monitor de tráfico en tiempo real,
  • sesiones: analizar atributos en sesión, estimar el peso de las mismas,
  • jsp: navegar, ver el código fuente, recompilar!.
  • fuentes de datos: analizar el uso del pool de conexiones, ejecutar queries.
  • logs: ver el contenido, descargar, cambiar el nivel de trazabilidad en caliente.
  • hilos: ver la pila de ejecución, «matarlos».
  • conectores: ver el estado, usando gráficas.
  • cluster: ver el estado, usando gráficas.
  • JVM: ver el uso de memoria, lanzar el GC, reiniciar la JVM.
  • Sistema: uso de CPU, memoria,…

Está documentada su instalación tanto en Apache Tomcat como en Jboss Application Server, con el objetivo de reemplazar el tomcat manager ofreciendo mucha más funcionalidad, para el primero, o simplemente de disponer de un monitor online de la salud de tu servidor, para el segundo.

  • Hardware: Portátil Compaq  (2.4 GHz Intel Core i7, 4GB DDR3).
  • Sistema Operativo: Windows 10 64 bits
  • Apache Tomcat 9.0.13.
  • Apache Maven: 3.6.3.
  • psi-probe 3.5.2.

Instalación en Apache Tomcat.

Tras descargar el paquete de instalación lo único que tenemos que hacer es «tirar el war» probe.war en el directorio de despliegue de Apache Tomcat y, en función de si tenemos configurado el despliegue automático o no, configurar la aplicación web como tal, por defecto, no habría que hacer nada más que revisar la política de autenticación y autorización de tomcat definida en el fichero tomcat-users.xml del directorio conf.


Se pueden definir 4 niveles de autorización, asumiendo que manager es la más alta, con lo que si ya tenías definido un usuario con ese rol para el Tomcat Manager, no necesitas tocar nada.

Por último, si quieres acceder a toda la información de la JVM desde probe debes habilitar el acceso en remoto a la consola de JVM.

 Monitorización.

Una vez levantado el servidor y a través de la url que da acceso al contexto de la aplicación http://localhost:8080/probe podremos acceder con el usuario y contraseña configurados en Tomcat a la aplicación de monitorización.

La primera interfaz que se muestra es la de las aplicaciones instaladas en la que se puede comprobar que aparece el propio probe.

Pulsando sobre una aplicación podemos acceder a un breve detalle de toda la información que se recolecta sobre la misma:



En este caso he arrancado la demo de MyFaces Tobago. Tobago es un "framework"y una "libreria" de componentes JavaServer Faces (JSF). Que proporciona una forma cómoda de diseñar pantallas de aplicaciones similares a las de un escritorio con una apariencia y sensación coherentes. Tobago enfatiza la separación de estructura y diseño de pantallas. Próximamente haré una introducción a este "framework"

Pulsando sobre la sección correspondiente podemos analizar información sobre las sesiones activas:
se pueden eliminar las sesiones, estimar el tamaño que ocupan y pulsando sobre la misma podemos ver todos los objetos que se mantienen en la sesión del usuario en el servidor; pudiendo incluso realizar un segundo nicel de estimación del tamaño que ocupan dichos objetos en la memoria del servidor.

Existen más opciones en el menú izquierdo, entre ellas la de visualizar el contenido del descriptor de despliegue:

los servlets configurados y los parámetros de inicialización y de contexto de los servlets.

En la opción de logs podemos acceder a un listado de los ficheros que trazamos. 

y pulsando sobre uno de ellos, se puede visualizar el log, como si hiciéramos un "tail", sobre él mismo. del fichero:

Información sobre el sistema, sobre fuentes JDBC (en este ejemplo, no figuran)

Descripción del sistema

Conectores

En la pestaña de conectores podemos acceder a la monitorización de las peticiones que se realizar a través de los distintos conectores, disponiendo de información gráfica sobre número de peticiones, tiempo de proceso y volumen del tráfico de estas conexiones.




La última de las opciones es un chequeo rápido de la salud del servidor teniendo en cuenta el uso de las fuentes de datos, la memoria, el número de descriptores de fichero disponibles y si las aplicaciones están levantadas o no.


Está en vuestras manos ponerlo en producción. Si no, en cualquier entorno, incluso en el de desarrollo te puede servir como soporte de una monitorización del sistema durante pruebas de carga o estrés.




24 noviembre 2020

Oracle 10g: Diferencia entre usar srvctl y usar sqlplus para iniciar / detener una o más instancias de base de datos Oracle

 


El desafío

Hemos tenido algunos casos en los que parecía que iniciar bases de datos RAC 10g a través de sqlplus causaba problemas de rendimiento (alta carga en el servidor de la base de datos). Reiniciar los nodos usando srvctl pareció resolver el problema de rendimiento. Nos surgió una pregunta pregunta es

 "¿Hay alguna diferencia entre usar srvctl y usar sqlplus para iniciar o detener uno o más nodos de base de datos"?

La realidad

Existen algunas diferencias entre el uso de las utilidades SQLPLUS y SRVCTL.
  • La parte común es que SRVCTL utiliza SQLPLUS para iniciar / detener las instancias.
  • La herramienta SRVCTL gestiona la información de configuración que utilizan otras herramientas de Oracle. Por ejemplo, Enterprise Manager usa la información de configuración que SRVCTL genera para descubrir y monitorear nodos en su clúster.
  • Tener en cuenta que el comando "srvctl start database / instance" no iniciará todos los servicios habilitados y no en ejecución que tengan las instancias enumeradas como instancias preferidas o disponibles en 10g.
  • Ambos deberían resultar en el inicio de la instancia, pero Oracle siempre recomienda el uso de SRVCTL debido al hecho de que SRVCTL hace más, es decir, SRVCTL realizará un análisis de dependencia e informará sobre problemas relacionados con el clúster si existen, de una mejor manera que SQLPLUS, que puede decir simplemente que la instancia no se está iniciando. El comando SRVCTL intentará iniciar recursos dependientes (como vip / ons / listeners) en caso de que no se estén ejecutando.
  • La utilidad SRVCTL siempre realiza algún tipo de pre-inicio de las instancias, como actualizar la información de OCR (Oracle cluster registry) en lugar de esperar a que el script de verificación del recurso de instancia detecte el inicio de esta instancia y actualice el OCR.
  • Con SRVCTL, la configuración del sistema operativo del usuario raíz se utiliza ya que se hereda de crsd.bin que iniciará las instancias como usuario de Oracle. Con SQLPLUS, se utiliza la configuración del sistema operativo del usuario de Oracle. Tener diferentes configuraciones de usuario para root u oracle hará que el rendimiento pueda ser diferente (sga fragmentado o no, otra configuración de proyecto "solaris", ...)

16 octubre 2020

Nuevas características en Oracle database 19c



Esta versión de la base de datos viene con algunas mejoras interesantes para hacer su trabajo más rápido y más fácil. Si bien el enfoque principal de este ciclo de desarrollo ha sido la estabilidad, hay algunas características nuevas enfocadas en la automatización y optimización para el cliente. Veamos algunas de estas mejoras.
  • Redireccionamiento DML de Active Data Guard.
  • Indexación automática.
  • Tablas híbridas particionadas (Big Data).
  • Compatibilidad con JSON.
  • Más estabilidad y disponibilidad.

Redireccionamiento DML de Active Data Guard.



las bases de datos de respaldo en espera son una parte necesaria de muchos planes de recuperación de desastres, pero pueden ser costosas de llevar como potencia de procesamiento inactiva. Oracle ha trabajado para hacer que estas bases de datos sean más valiosas en su estrategia desde el lanzamiento de Active Data Guard en 11c. Esa característica, que le permite utilizar los recursos de la base de datos en espera para ejecutar informes y copias de seguridad, obtiene una actualización en 19c. Esta versión agrega la capacidad de ejecutar transacciones mediante la creación de un redireccionamiento inmediato a la base de datos principal. Las transacciones que se ejecutan en la copia de seguridad se envían y almacenan inmediatamente en las bases de datos primarias y luego en las de respaldo. No importa si sus bases de datos están en la nube o en la versión local, con Active Data Guard Redirect, ahora puede usar su base de datos en espera para obtener aún más ventajas.

Indexación automática.

La indexación de elementos lleva tiempo y puede significar una gran cantidad de trabajo para su equipo de TI. Con la indexación automática, el 19c de Oracle utiliza algoritmos de aprendizaje automático para identificar elementos, mapear y validar las opciones de indexación e indexar automáticamente para usted. Estos algoritmos aprenden sobre la marcha, por lo que solo se vuelven más eficientes y precisos en el tiempo. La automatización es la clave para mejorar el proceso. Con esta herramienta puede ahorrar tiempo y recursos al automatizar su indexación y enfocar sus energías en otros lugares.

Tablas híbridas particionadas.

Big Data significa almacenamiento grande, y con más y más información almacenada durante largos períodos de tiempo, es esencial encontrar las opciones más eficientes para manejar la creciente carga. Las tablas particionadas híbridas de Oracle se resienten al permitirle particionar los datos y luego seleccionar qué particiones deben almacenarse en la base de datos para acceder a las consultas y cuáles deben guardarse como archivos de solo lectura en ubicaciones externas. De esa manera, puede minimizar la carga en la base de datos en vivo mientras mantiene datos importantes para el almacenamiento y el acceso a largo plazo.

Cuarentena de consulta.



El desempeño general de un data mart o de un almacén de datos puede verse afectado cuando un usuario ejecuta una consulta que consume una cantidad excesiva de recursos de E/S y de computación. Oracle Database 19c “puede poner estas consultas en cuarentena automáticamente y garantizar que no se vuelvan a ejecutar”, esto da como resultado un desempeño uniforme para todos los usuarios de la base de datos. Se acabó ralentizar una instancia en Producción por ejecutar la "Query de la muerte".

Base de datos "JSON friendly".



Esta versión también incluye numerosas mejoras de JSON, así como funciones para optimizar inserciones de datos, estadísticas en tiempo real y más. Los servicios de base de datos de Oracle están diseñados teniendo en cuenta las necesidades del cliente. La compatibilidad de Oracle Database con JSON se incluyó a partir de Oracle Database 12c, con el almacenamiento nativo de documentos JSON y el acceso SQL, y continuó en 18c, con los análisis de alto desempeño para los documentos JSON, como si se hubiera realizado la ingesta de datos JSON en las filas y columnas de tabla de la base de datos.

Se ha mejorado y simplificado la sintaxis para nuestras funciones de JSON y se ha introducido la capacidad de realizar una actualización parcial de JSON, por lo que es posible actualizar un solo atributo de un gran documento JSON, en lugar de actualizar todo.

Más estabilidad y disponibilidad.

Las nuevas características son importantes en cada una de las versiones de Oracle Database. La estabilidad para las aplicaciones y las instalaciones de base de datos on-premises también es importante, y Oracle Database 19c también ofrece dicha estabilidad.

La estabilidad es uno de los principales objetivos de Oracle Database 19c; se trata de una versión con soporte a largo plazo hay clientes de productos "on-premises" cuentan con ciclos de actualización prolongados, y esta versión, Oracle Database 19c, es la que mucha gente estaba esperando para poder realizar la actualización a partir de Oracle Database 11g u Oracle Database 12c.

Para obtener más información sobre las bases de datos 19c de Oracle y una lista completa de las nuevas funciones, visite la página de Características de la base de datos de Oracle.