tag:blogger.com,1999:blog-23181779258417831852024-02-08T05:30:47.817+01:00DBA From Hell (BDfH)Data Architecture blog (the name is a tribute to Simon Travaglia´s character)
Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.comBlogger153125tag:blogger.com,1999:blog-2318177925841783185.post-3338014056313253592022-01-23T11:59:00.003+01:002022-01-23T11:59:30.237+01:00Galera clúster con MaríaDb<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgpUsONTXX805hjMYxMu6_MxtPJ9KgeLS2D7-3WlcjP8aBglH3zq3Vd9lt6mv_mTzaa-1R21p-XAkMnRp1cnBIjowwQ98tUH-tkWOKNUzTHslRwtOg5RghBwdmnyL870chUu37L8zKcNbEiF5dydsuh-rUJIiTdOffbFrol-2_AAxe6stC2S3WGvjfE=s1280" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="1280" height="225" src="https://blogger.googleusercontent.com/img/a/AVvXsEgpUsONTXX805hjMYxMu6_MxtPJ9KgeLS2D7-3WlcjP8aBglH3zq3Vd9lt6mv_mTzaa-1R21p-XAkMnRp1cnBIjowwQ98tUH-tkWOKNUzTHslRwtOg5RghBwdmnyL870chUu37L8zKcNbEiF5dydsuh-rUJIiTdOffbFrol-2_AAxe6stC2S3WGvjfE=w400-h225" width="400" /></a></div><div style="text-align: left;"><h2 style="text-align: justify;"><span lang="ES-TRAD" style="mso-ansi-language: ES-TRAD;">Galera clúster</span></h2><p class="MsoNormal" style="text-align: justify;"><span style="color: #3c3c3c; font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 107%;">Galera clúster
es un paquete de <em style="box-sizing: border-box;">software</em> para sistemas
operativos Linux que permite la creación y gestión de clústeres de MySQL,
XtraDB y MariaDB. Esta aplicación de clúster se basa en el motor de
almacenamiento InnoDB o su derivado XtraDB. Experimentalmente es
compatible con el motor MyISAM, que durante mucho tiempo se utilizó también en
MySQL y MariaDB como predecesor de InnoDB. Galera Clúster aplica el principio
de la <strong style="box-sizing: border-box;">replicación síncrona</strong> al almacenamiento
de datos en los diversos nodos independientes del clúster. Todos los procesos
de copia y modificación de los datos almacenados tienen lugar simultáneamente
en todas las unidades de almacenamiento primarias y secundarias, de forma que
los <strong style="box-sizing: border-box;">datos
presentes en todos los nodos</strong> están siempre actualizados y
no difieren entre ellos.<o:p></o:p></span></p></div><p></p><p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">
</span></p><p class="MsoNormal" style="box-sizing: border-box;"><span style="color: #3c3c3c; font-family: "Arial",sans-serif; font-size: 10.5pt; line-height: 107%;">La <strong style="box-sizing: border-box;">expresión mínima</strong> de
un Galera clúster consiste en <strong style="box-sizing: border-box;">tres nodos</strong> (los
desarrolladores recomiendan en general usar un número impar). Si uno de los
nodos falla durante la transacción de datos, por ejemplo, debido a problemas de
la red o del sistema, los otros dos nodos siguen formando la <strong style="box-sizing: border-box;">mayoría</strong> necesaria
para realizar la transacción correctamente.<o:p></o:p></span></p><div style="text-align: left;"><h3 style="text-align: left;">¿Cómo funciona un clúster MariaDB de Galera?</h3><div><p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">Un clúster MariaDB basado en Galera clúster
se caracteriza por el hecho de que todos los nodos de la red tienen los mismos
datos en todo momento. Por tanto, en el software de clúster desaparece la
distinción tradicional entre servidores de bases de datos maestros (servidores
en los que se puede escribir) y esclavos (servidores de los que solo se puede
leer). Los usuarios pueden escribir datos en cualquier nodo de almacenamiento y
estos se reenviarán automáticamente a todos los demás participantes del
clúster. Esta propiedad también se llama multimaster.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">Para garantizar este intercambio de datos
flexible, Galera Cluster emplea un procedimiento de replicación síncrona para
la administración, basado en el intercambio de certificados. Si los datos se
replican, es decir, se escriben en una de las bases de datos del clúster
MariaDB de Galera, se aplican estos dos principios:</span></p><p class="MsoNormal" style="text-align: justify;"></p><ul><li>A cada transacción en la base de datos se le asigna un número de secuencia único. Antes de que un nodo del clúster apruebe los cambios respectivos en la base de datos, este compara el número secuencial con el número de la última transacción confirmada. En la comprobación, todos los nodos llegan a la misma conclusión (Transacción OK o Transacción KO). El nodo que inició la transacción transmite el resultado al cliente.</li><li>En cada transacción se actualizan todas las réplicas de la base de datos. De este modo, si una transacción se confirma después de la certificación, todos los nodos hacen los cambios correspondientes en su registro de datos. Si los nodos de un clúster Galera experimentan algún problema técnico, solo se podrán excluir de la replicación síncrona temporalmente.</li></ul><p></p><p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD"></span></p><!--[if !supportLists]--><p></p>
</div><div><h3 style="text-align: justify;"><span lang="ES-TRAD">¿Qué morfología presenta un clúster Galera?</span></h3></div><div><span lang="ES-TRAD"><p class="MsoNormal" style="text-align: justify;"></p><ul><li><span lang="ES-TRAD"><b>Sistema de gestión de la base de datos</b>: el
SGBD es la unidad central del clúster. En cada nodo se ejecuta el servidor de
base de datos correspondiente. Como ya mencionamos, clúster Galera es
compatible con MySQL y Percona XtraDB, además de con MariaDB.</span></li><li><span lang="ES-TRAD"><b>API wsrep</b>: la API wsrep define e implementa
la interfaz y las funciones de acceso a los servidores de bases de datos
implicados. Asimismo, wsrep controla la replicación de datos. Entre otras
cosas, la API proporciona los wsrep hooks (enlaces al servidor de la base de
datos para su replicación) y la función dlopen(), que permite la comunicación
con los hooks.</span></li><li><span lang="ES-TRAD"><b>Plugin de replicación de Galera</b>: este plugin implementa la API de wsrep. Para esto,
proporciona una capa para el proceso de certificación, una capa para la
replicación (incluido el protocolo) y el marco de comunicación de grupo.</span></li><li><span lang="ES-TRAD"><b>Plugin de comunicación de grupo</b>: Galera Cluster proporciona varias extensiones para la
implementación de sistemas de comunicación de grupo como el Spread Toolkit o
gcomm. Estos plugin están basados en el marco de comunicación de grupo.</span></li></ul><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiyZDRo8Mrcx9cCSW7hwPd5yXTfYy3yRIXSGLSheb2BIgUADsj0T-an3bTY1fTOeRA9f8PZKyRciW-ulk7do06aEMoytsyAksWhRonZSYGAhVARuxU_BEEihsQItKD0ek-Q3VPTBLOrm78bo-GkEiJ26zziuvvZnhzYHpnIhoaV1kQzHnrX4O17tGAl=s250" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="209" data-original-width="250" height="334" src="https://blogger.googleusercontent.com/img/a/AVvXsEiyZDRo8Mrcx9cCSW7hwPd5yXTfYy3yRIXSGLSheb2BIgUADsj0T-an3bTY1fTOeRA9f8PZKyRciW-ulk7do06aEMoytsyAksWhRonZSYGAhVARuxU_BEEihsQItKD0ek-Q3VPTBLOrm78bo-GkEiJ26zziuvvZnhzYHpnIhoaV1kQzHnrX4O17tGAl=w400-h334" width="400" /></a></div><br /><p></p><h3 style="text-align: left;"><span style="text-align: justify;">¿Cuáles son las ventajas de un clúster
MariaDB?</span></h3><div>
<p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">Ya hemos mencionado en este artículo las
principales ventajas de los clústeres MariaDB de Galera. Cambiar a esta
tecnología de clúster te ofrece flexibilidad en el almacenamiento de datos sin
renunciar a un máximo de fiabilidad y disponibilidad, algo que no es posible en
las configuraciones habituales de MariaDB.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">La replicación síncrona garantiza que todas
las unidades de almacenamiento involucradas estén actualizadas en todo momento.
Galera Cluster envía automáticamente todos los cambios a todas las unidades de
la base de datos, lo que elimina completamente la necesidad de realizar copias
manuales o de pasar por engorrosos procesos de copias de seguridad. El enfoque
multimaster también permite acceder a todos los servidores de la base de datos
integrada de MariaDB para escribir, modificar o borrar sus datos. Puesto que
los nodos pueden estar cerca de los clientes, es posible minimizar la latencia.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">Otra ventaja de un clúster MariaDB basado en
un Galera Cluster es el excelente soporte en la nube de este tipo de
arquitecturas. Están particularmente bien adaptadas a una escalabilidad
flexible y basadas en la nube de los recursos de base de datos. Incluso la
distribución de los datos a los diferentes centros de datos deja de ser un
problema, ya que cada transacción en Galera Cluster solo se debe enviar una vez
a cada centro de datos.<o:p></o:p></span></p>
<h2 style="text-align: justify;"><span lang="ES-TRAD">Casos de uso: ¿para qué se usa Clúster Galera?</span></h2>
<p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">Un clúster MariaDB de Galera es una solución
excelente para gestionar tu propia solución de base de datos, gracias a las
características y ventajas que ya hemos mencionado. Específicamente, la
configuración de clúster abarca, entre otros, los siguientes casos de uso:<o:p></o:p></span></p>
<h3 style="text-align: justify;"><span lang="ES-TRAD">Aplicaciones de bases de datos con requisitos
de alto rendimiento de escritura</span></h3>
<p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">La distribución de las operaciones de
escritura por todo el grupo permite optimizar el uso de los recursos de
escritura disponibles. Tras el procesamiento inicial de una transacción de
cliente, los nodos a los que se transmite la transacción solo tienen que
registrar los cambios realizados. De este modo, el método de replicación de
Galera Cluster garantiza generalmente un rendimiento de escritura mucho mayor al
que ofrecen la mayoría de las configuraciones de base de datos, lo que hace a
la tecnología de clúster muy interesante para aplicaciones de escritura
intensivas.<o:p></o:p></span></p><p class="MsoNormal" style="text-align: center;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEivT_6axUzc3D5Tyfa7yaO_SwMm0j5kuVwfOjHuyYTI1sme8JYlOxot-8E_xXr5a8-DrJH3pBklRUsHzBVeq7fplx3-GtOiW5frEX15D32gzxuyJrH07Xvy-Z6YhxjdQV32_ZpVQE9-55QlArERNEG47vRoloh7jE7dPjjPP12u5GraCrVtpuULenyZ=s825" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="546" data-original-width="825" height="424" src="https://blogger.googleusercontent.com/img/a/AVvXsEivT_6axUzc3D5Tyfa7yaO_SwMm0j5kuVwfOjHuyYTI1sme8JYlOxot-8E_xXr5a8-DrJH3pBklRUsHzBVeq7fplx3-GtOiW5frEX15D32gzxuyJrH07Xvy-Z6YhxjdQV32_ZpVQE9-55QlArERNEG47vRoloh7jE7dPjjPP12u5GraCrVtpuULenyZ=w640-h424" width="640" /></a></div><br /><span lang="ES-TRAD"><br /></span><p></p>
<h3 style="text-align: justify;">Plan de recuperación ante
desastres</h3>
<p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">El principio de Disaster Recovery es el
siguiente:los datos se almacenan por separado en un centro de datos
independiente para mantener una imagen completa de ellos, con el fin de poder
recuperar en caso de emergencia. Este enfoque está estrechamente relacionado
con el almacenamiento general y la gestión de los activos de datos en la nube.
En este caso, el clúster Galera transmite los datos replicados, pero no los pone a
disposición para procesar las transacciones de los clientes. Si es necesario
restablecer el sistema, la parte Disaster Recovery del clúster MariaDB se
convierte temporalmente en instancia primaria para reducir al mínimo el tiempo
de inactividad.</span></p><h3 style="text-align: justify;">Clustering para WAN</h3><p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD"></span></p><p class="MsoNormal" style="text-align: justify;"><span lang="ES-TRAD">Menos atractivo es la última de las características. En las WAN (Wide Area Network) de Internet, Galera Cluster funciona también sin problemas. Aunque se produce un pequeño retardo (retraso en la transmisión) proporcional al tiempo de rotación de los paquetes de red (RTT), esto solo afecta al proceso de confirmación de las transacciones entrantes a la base de datos. El uso de los clústeres MariaDB en la nube es, por lo tanto, uno de los ejemplos más interesantes.</span></p></div>
</span></div><div><span lang="ES-TRAD"><br /></span></div><p class="MsoNormal"><o:p></o:p></p><br /></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-91639892095853330162021-12-20T09:35:00.004+01:002021-12-20T09:36:58.666+01:00Seguridad con log4j, arrojemos algo de luz.<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhKsoxqCMu6VRnZZ_M_2IGk7SfeSs4Issg2FF4M4iZ31nxgoE0wrgGwap5KrOSUULR58MepFizhcgvBVtyt82oMpip7cmqRrn_YHJXshczEfcuN0VpnjqbTGPSFaeSYU0Qw6ooQlye96aUjU8aFv_t-wa9aJUiFLbYt7CCTLRJ-JkMQU3yCEZRaaVtO=s1200" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="675" data-original-width="1200" height="180" src="https://blogger.googleusercontent.com/img/a/AVvXsEhKsoxqCMu6VRnZZ_M_2IGk7SfeSs4Issg2FF4M4iZ31nxgoE0wrgGwap5KrOSUULR58MepFizhcgvBVtyt82oMpip7cmqRrn_YHJXshczEfcuN0VpnjqbTGPSFaeSYU0Qw6ooQlye96aUjU8aFv_t-wa9aJUiFLbYt7CCTLRJ-JkMQU3yCEZRaaVtO=s320" width="320" /></a></div><p></p><p></p><p class="MsoNormal">Aquí hay un resumen rápido, sobre cómo reaccionar ante el
incidente log4j:<o:p></o:p></p>
<ul style="margin-top: 0cm;" type="disc">
<li class="MsoListParagraph" style="margin-left: 0cm; mso-list: l0 level1 lfo1;"><span style="mso-fareast-font-family: "Times New Roman";">Si no es una aplicación
de Java. No te preocupes.<o:p></o:p></span></li>
<li class="MsoListParagraph" style="margin-left: 0cm; mso-list: l0 level1 lfo1;"><span style="mso-fareast-font-family: "Times New Roman";">Si es una aplicación
Java que no usa <b>Log4j</b>. No te preocupes.<o:p></o:p></span></li>
<li class="MsoListParagraph" style="margin-left: 0cm; mso-list: l0 level1 lfo1;"><span style="mso-fareast-font-family: "Times New Roman";">Si es una aplicación
Java que utiliza <b>Log4j</b> 1.x. No se preocupe por estas
vulnerabilidades. Por supuesto, el código más antiguo puede ser
susceptible a otras vulnerabilidades.<o:p></o:p></span></li>
<li class="MsoListParagraph" style="margin-left: 0cm; mso-list: l0 level1 lfo1;"><span style="mso-fareast-font-family: "Times New Roman";">Si es una aplicación
Java que utiliza <b>Log4j</b> 2.x. <span style="color: #4472c4;">Java 8</span>
(o posterior), actualice a Log4j versión <i>2.17.0 *.</i><o:p></o:p></span></li>
<li class="MsoListParagraph" style="margin-left: 0cm; mso-list: l0 level1 lfo1;"><span style="mso-fareast-font-family: "Times New Roman";">Si es una aplicación
Java que utiliza <b>Log4j</b> 2.x. <span style="color: #4472c4;">Java 7</span>,
actualice a <b>Log4j</b> versión <i>2.12.2 *.</i><o:p></o:p></span></li>
<li class="MsoListParagraph" style="margin-left: 0cm; mso-list: l0 level1 lfo1;"><span style="mso-fareast-font-family: "Times New Roman";">Si actualizar <b>Log4j</b>
no es una opción inmediata, tal vez esté esperando que un proveedor lance
un parche, considere mitigar hasta que las actualizaciones sean
posibles.<o:p></o:p></span></li>
<li class="MsoListParagraph" style="margin-left: 0cm; mso-list: l0 level1 lfo1;"><span style="mso-fareast-font-family: "Times New Roman";">Estas versiones eran
correctas al momento de escribir este artículo. Siga revisando la página
de vulnerabilidades de seguridad de Apache <b>Log4j</b> para obtener
actualizaciones.<o:p></o:p></span></li></ul><br /><ul style="margin-top: 0cm;" type="disc">
</ul><p class="MsoNormal">Para ver más información:<o:p></o:p></p>
<ul style="margin-top: 0cm;" type="disc">
<li class="MsoListParagraph" style="color: #4472c4; margin-left: 0cm; mso-list: l0 level1 lfo1;"><u><span style="mso-fareast-font-family: "Times New Roman";"><span style="color: #4472c4;"><a href="https://oracle-base.com/blog/2021/12/19/log4j-vulnerabilities-my-random-thoughts/">https://oracle-base.com/blog/2021/12/19/log4j-vulnerabilities-my-random-thoughts/</a></span><o:p></o:p></span></u></li>
</ul><br /><p></p>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-5169988546570463042021-12-01T21:31:00.000+01:002021-12-01T21:31:42.140+01:00Oracle DBA: ¿Cómo cambiar el tamaño de los REDO log?<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwROmapbyEKBK_GkstcU4obiVsmKh7SVUgZvSDK5i_hj9D9flwL_QXHcpyoEHG8K9DkpibSbic2weV1zKSCDalFtFOi6ynfOIQQTjVIsUr3bgaNeoib3wDS2U4FmGjaWEDkvgiwK_KUh8/s225/db_evil_genius_small_mug.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="225" data-original-width="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwROmapbyEKBK_GkstcU4obiVsmKh7SVUgZvSDK5i_hj9D9flwL_QXHcpyoEHG8K9DkpibSbic2weV1zKSCDalFtFOi6ynfOIQQTjVIsUr3bgaNeoib3wDS2U4FmGjaWEDkvgiwK_KUh8/s0/db_evil_genius_small_mug.jpg" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><p></p><h3 style="text-align: left;">¿Qué es un fichero online REDO log ?</h3><div><div>Los archivos de registro de rehacer están llenos de registros de rehacer. Un registro de rehacer, también llamado entrada de rehacer, se compone de un grupo de vectores de cambio, cada uno de los cuales es una descripción de un cambio realizado en un solo bloque de la base de datos.</div><div><br /></div><div>En este artículo vamos a trabajar en los pasos utilizados para cambiar el tamaño de los archivos de registro de rehacer en línea (online redo log). Los siguientes pasos son relativos a una instancia única de bases de datos:</div></div><div><br /></div><div><div>Los registros tienen un tamaño de 1 MB desde arriba, dimensionémoslos a 10 MB. Recupere todos los nombres de miembros del registro para los grupos:</div><div><br /></div><div>Creemos 3 nuevos grupos de registros y asígneles el nombre de grupos 4, 5 y 6, cada uno de 10 MB de tamaño:</div><div><br /></div><div>Ahora ejecute una consulta para ver el estado de v $ log:</div><div><br /></div><div>Cambie hasta que estemos en el grupo de registros 4, para que podamos eliminar los grupos de registros 1, 2 y 3:</div><div><br /></div><div>Ejecute la consulta nuevamente para verificar que el grupo de registro actual sea el grupo 4:</div><div><br /></div><div>Ahora suelte los grupos de registro de rehacer 1, 2 y 3:</div><div><br /></div><div>En este punto, considere realizar una copia de seguridad de la base de datos. 9. Ahora puede salir al sistema operativo y eliminar los archivos asociados con los grupos de registro de rehacer 1, 2 y 3 en el paso 2 anterior, ya que ya no son necesarios: </div><div>Más información sobre este texto de origenPara obtener más información sobre la traducción, se necesita el texto de origen</div><div>Enviar comentarios</div><div>Paneles laterales</div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-61538272961720316102021-06-20T21:14:00.006+02:002021-06-20T22:38:23.198+02:00Tip rápido: Componentes de registro de base de datos Oracle 19c no válidos, tras un parcheo<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqMuYdAGwXTS1_tvlZaLbE2Ql2tf2RVe3OAzupKKPXbbH9XYEI4Qv22P1t8Gr9-CM971Wc5MoJMxVPD4FyeO0fhLueoCCdLJR0vnZ00QIECuLHqhK4U_c4Imy6-8GRuMUeFku-uY1MAGM/s410/logo19c.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="123" data-original-width="410" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqMuYdAGwXTS1_tvlZaLbE2Ql2tf2RVe3OAzupKKPXbbH9XYEI4Qv22P1t8Gr9-CM971Wc5MoJMxVPD4FyeO0fhLueoCCdLJR0vnZ00QIECuLHqhK4U_c4Imy6-8GRuMUeFku-uY1MAGM/s320/logo19c.png" width="320" /></a></div><p></p><div class="separator" style="clear: both;"><b>Oracle JVM</b> es un entorno estándar compatible con Java que ejecuta cualquier aplicación Java pura. Es compatible con las especificaciones <b>JLS</b> estándar y <b>JVM</b>. Es compatible con el formato binario estándar de Java y las API estándar de Java. Además, Oracle Database se adhiere a la semántica del lenguaje Java estándar, incluida la carga dinámica de clases en tiempo de ejecución.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><b>Java</b> en <b>Oracle Database</b> presenta los siguientes términos:</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li><b>Sesión</b> (session)</li></ul></div><div class="separator" style="clear: both;">Una sesión en el entorno Java de Oracle Database es idéntica al uso estándar de Oracle Database. Una sesión suele estar limitada, aunque no necesariamente, por el momento en que un solo usuario se conecta al servidor. Como usuario que llama a un código Java, debe establecer una sesión en el servidor.</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li><b>Llamada</b> (call)</li></ul></div><div class="separator" style="clear: both;">Cuando un usuario hace que un código Java se ejecute dentro de una sesión, se denomina llamada. Una llamada se puede iniciar de las siguientes formas diferentes:</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Un programa de cliente SQL ejecuta un procedimiento almacenado de Java.</li><li>Un desencadenador ejecuta un procedimiento almacenado de Java.</li><li>Un programa PL / SQL llama a un código Java.</li></ul></div><div class="separator" style="clear: both;">En todos los casos definidos, comienza una llamada, se ejecuta alguna combinación de código Java, SQL o PL / SQL hasta su finalización y la llamada finaliza.</div></div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Los siguientes componentes de JAVAVM no son válidos durante la revisión de la base de datos 19c.</div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">Es necesario ejecutar los siguientes pasos para reparar los componentes dañados de la base de datos.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYazi90VbdKKm_FNU-ooEMdayMHmYdogpE8RmZVoQ9OFGKBtoMrLhAVDTnXm7GIQj8Mags7voiFoZW3q_mIcJSLcJ25Vt8sOw5yMUf-iAxkdUkDmb4pcUdAEvLpKbLp4a4BVVUa3-nPa8/s960/jvm-arch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="720" data-original-width="960" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYazi90VbdKKm_FNU-ooEMdayMHmYdogpE8RmZVoQ9OFGKBtoMrLhAVDTnXm7GIQj8Mags7voiFoZW3q_mIcJSLcJ25Vt8sOw5yMUf-iAxkdUkDmb4pcUdAEvLpKbLp4a4BVVUa3-nPa8/w640-h480/jvm-arch.png" width="640" /></a></div><br /><b><br /></b></div><div class="separator" style="clear: both;"><b><br /></b></div><div class="separator" style="clear: both;"><b>Primero: Verifica que el componente JAVAVM no sea válido</b></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><i>col comp_id for a10</i></div><div class="separator" style="clear: both;"><i>col version for a11</i></div><div class="separator" style="clear: both;"><i>col status for a10</i></div><div class="separator" style="clear: both;"><i>col comp_name for a37</i></div><div class="separator" style="clear: both;"><i>select comp_id,comp_name,version,status from dba_registry;</i></div></div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><i><span face=""Open Sans", Helvetica, Arial, sans-serif" style="background-color: white; color: #0a0a0a; font-size: 18px;"><br /></span></i></div><div class="separator" style="clear: both;"><b>Segundo: Valida </b><b>el componente </b><b>JAVAVM</b></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><i>execute sys.dbms_registry.invalid(‘JAVAVM’);</i></div><div class="separator" style="clear: both;"><i>execute sys.dbms_registry.valid(‘JAVAVM’);</i></div><div class="separator" style="clear: both;"><i><br /></i></div><div class="separator" style="clear: both;"><i>SQL> execute sys.dbms_registry.invalid(‘JAVAVM’);</i></div><div class="separator" style="clear: both;"><i><br /></i></div><div class="separator" style="clear: both;"><i>PL/SQL procedure successfully completed.</i></div><div class="separator" style="clear: both;"><i><br /></i></div><div class="separator" style="clear: both;"><i>SQL> execute sys.dbms_registry.valid(‘JAVAVM’);</i></div><div class="separator" style="clear: both;"><i><br /></i></div><div class="separator" style="clear: both;"><i>PL/SQL procedure successfully completed.</i></div><div class="separator" style="clear: both;"><i><br /></i></div><div class="separator" style="clear: both;"><i>SQL> col comp_id for a10</i></div><div class="separator" style="clear: both;"><i>col version for a11</i></div><div class="separator" style="clear: both;"><i>col status for a10</i></div><div class="separator" style="clear: both;"><i>col comp_name for a37</i></div><div class="separator" style="clear: both;"><i>select comp_id,comp_name,version,status from dba_registry;</i></div><div class="separator" style="clear: both;"><i><br /></i></div></div><div class="separator" style="clear: both;"><b><br /></b></div><div class="separator" style="clear: both;"><span style="background-color: white; font-size: 18px;"><span face="Open Sans, Helvetica, Arial, sans-serif" style="color: #0a0a0a;"><b><br /></b></span></span></div></div><p><br /></p>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-8493306206017089862021-03-31T10:56:00.005+02:002021-06-20T22:33:22.894+02:00Python for Oracle DBA: Guía de supervivencia Parte II<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI0qb5uPz-9wymS0X1e5BuirS5rHLU1a_BF-Sg0HfBp7PcWRMN5Sqk_h3wQMAna9bgWSXfqygq80NE0FUJG9m9H5E2Hp5ksZa_XPWCAZdUN0IIZhT998zVmtfBo4UeWSAHght1XyVhF6E/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="225" data-original-width="225" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjI0qb5uPz-9wymS0X1e5BuirS5rHLU1a_BF-Sg0HfBp7PcWRMN5Sqk_h3wQMAna9bgWSXfqygq80NE0FUJG9m9H5E2Hp5ksZa_XPWCAZdUN0IIZhT998zVmtfBo4UeWSAHght1XyVhF6E/" width="240" /></a></div><div style="clear: both; text-align: left;">Continuamos con la segunda parte del <a href="https://dbaoracle4hire.blogspot.com/2021/03/python-for-oracle-dba-guia-de.html" rel="nofollow" target="_blank">artículo anterior</a>, comencemos:</div><h2 style="clear: both; text-align: left;">Visualización de datos</h2><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPhT_KMuJ4nkQefl09OgYJtluWWNtrWBzrkrzh9tQiY7bKWftDJ7Auzj3HzmRemQWHb-DtdFCQOyoxATdjNDJX0NvpEMw5cD-FltX30XJjKCv7Ju815IWvavbUrWH54MxzVUi6DBzUsMU/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="41" data-original-width="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPhT_KMuJ4nkQefl09OgYJtluWWNtrWBzrkrzh9tQiY7bKWftDJ7Auzj3HzmRemQWHb-DtdFCQOyoxATdjNDJX0NvpEMw5cD-FltX30XJjKCv7Ju815IWvavbUrWH54MxzVUi6DBzUsMU/s16000/image.png" /></a></div><br /></div><div><div>La visualización de datos es esencial para la exploración, el análisis y la comunicación de datos, lo que permite a los científicos de datos comprender sus datos y compartir esa comprensión con otros. Python tiene muchas, muchas herramientas de visualización disponibles, pero destacaremos algunas aquí.</div></div><div><br /></div><div>Matplotlib es la herramienta de visualización de datos de Python mejor establecida, y se centra principalmente en gráficos bidimensionales (gráficos de líneas, gráficos de barras,</div><div><div>diagramas de dispersión, histogramas y muchos otros). Funciona con muchas interfaces GUI y formatos de archivo, pero tiene un soporte interactivo relativamente limitado en los navegadores web.</div></div><div><h3 style="text-align: left;">¿Para qué se utiliza?:</h3><div>Matplotlib se utiliza para analizar, explorar y mostrar relaciones entre datos.</div><h3 style="text-align: left;">Interviene en:</h3><div>Casi todas las empresas con científicos de datos utilizan Matplotlib en algún lugar, ya sea directamente o, a menudo, a través de Pandas o las interfaces de alto nivel creadas para científicos de datos como <b>Seaborn, HoloViews o plotnine</b>. Se utilizaron Matplotlib y otras herramientas de Python de código abierto para crear la primera imagen de un agujero negro en el proyecto <b>Event Horizon Telescope</b>.</div><div style="text-align: left;"><b><br /></b></div><div style="text-align: left;"><b>¿Dónde aprender más?</b> <a href="https://matplotlib.org/" rel="nofollow" target="_blank">https://matplotlib.org/</a></div></div><span><a name='more'></a></span><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWdLLto4FJfsOwnHDi1pwb5vxlmSqXmibvhisBJfRarAgXc35bg2Ifjy59414NGeI9M_nqpRNe1OkJ5ewDyH4JzJVnsbFfSkP538QUJVGc_vCq6l8vuCRCFvZMaDUb_tpZ3OibllZsi5M/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="75" data-original-width="165" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWdLLto4FJfsOwnHDi1pwb5vxlmSqXmibvhisBJfRarAgXc35bg2Ifjy59414NGeI9M_nqpRNe1OkJ5ewDyH4JzJVnsbFfSkP538QUJVGc_vCq6l8vuCRCFvZMaDUb_tpZ3OibllZsi5M/s16000/image.png" /></a></div><br /><div style="text-align: left;">Bibliotecas de visualización populares y potentes basadas en navegador que le permiten crear gráficos interactivos basados en JavaScript desde Python.</div></div><div style="text-align: left;"><h3>¿Para qué se utiliza?:<br /></h3><div style="text-align: left;">Bokeh y Plotly crean no solo gráficos estáticos, sino visualizaciones interactivas con panorámica, zoom, vinculación entre gráficos y otras características que le permiten trabajar en Python pero utilizan el poder de las tecnologías web modernas para compartir sus resultados ampliamente.</div><h3>Interviene en:</h3><div style="text-align: left;">Miles de sitios web se basan en estas herramientas, ya sea directamente o utilizando las interfaces de nivel superior <b>hvPlot, HoloViews </b>o<b> Chartify</b> (para <i>Boke</i>h) o <b>Cufflinks</b> y <b>plotly_express</b> (para <i>Plotly</i>)</div><h3 style="text-align: left;"><div style="text-align: left;"><span style="font-size: small;"><br /></span></div><div style="text-align: left;"><span style="font-size: small;">¿Dónde aprender más?<span style="font-weight: normal;"> </span></span><span style="font-size: medium; font-weight: normal;"><a href="https://bokeh.org">https://bokeh.org</a> y <a href="https://plot.ly/pytho">https://plot.ly/pytho</a></span></div><span><!--more--></span><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf7aeX2md0mtwn-T1ExpfRtI2qnR5Y3rcHdctfuHzpPRIZ6uYJ1bx2uSReEWX7c8jaHeXg0f5UvAvNaM8gboXrKAr1ipk7iq8K6AfN2uT7lvo41mxfkdy5pr_Ko_osCdvwb0wkX84DSPs/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="94" data-original-width="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjf7aeX2md0mtwn-T1ExpfRtI2qnR5Y3rcHdctfuHzpPRIZ6uYJ1bx2uSReEWX7c8jaHeXg0f5UvAvNaM8gboXrKAr1ipk7iq8K6AfN2uT7lvo41mxfkdy5pr_Ko_osCdvwb0wkX84DSPs/s16000/image.png" /></a></div><div style="text-align: center;"><br /></div><br /><div style="text-align: left;"><div><span style="font-weight: normal;"><span style="font-size: small;">Frameworks de Python para crear aplicaciones y paneles personalizados ricos en visualización para la web</span></span></div><div>¿Para qué se utiliza?</div><div><br /></div><div><span style="font-size: small;"><span style="font-weight: normal;">Usar Python para crear aplicaciones personalizadas con gráficos en vivo, widgets y otros controles para compartir aplicaciones en ejecución en la web, respaldadas con el poder de Python. Cada kit de herramientas tiene su propio enfoque y fortalezas: </span></span></div><div><ul style="text-align: left;"><li><span style="font-size: small;">Panel<span style="font-weight: normal;"> (código Pythonic simple, fácil transición de Jupyter a servidores independientes), </span></span></li><li><span style="font-size: small;">Voila<span style="font-weight: normal;"> (que sirve directamente los cuadernos de Jupyter), </span></span></li><li><span style="font-size: small;">Streamlit<span style="font-weight: normal;"> (aplicaciones de scripts de Python), </span></span></li><li><span style="font-size: small;">Dash<span style="font-weight: normal;"> (control directo sobre el estilo HTML / CSS) , despliegue sin estado).</span></span></li></ul></div><div><br /></div><div>Interviene en:</div><div><span style="font-weight: normal;"><span style="font-size: small;">La mejor manera de ver qué proyectos son posibles con estas herramientas es ver los ejemplos en:</span></span><br /><ul style="text-align: left;"><li><span style="font-size: small; font-weight: normal;"> awesome-panel.org, </span></li><li><span style="font-size: small; font-weight: normal;">voila-gallery.org, </span></li><li><span style="font-size: small; font-weight: normal;">awesomestreamlit.org </span></li><li><span style="font-size: small; font-weight: normal;">y dash-gallery.plotly.host</span></li></ul></div><div><br /></div><div><span style="font-size: small;">¿Dónde aprender más? <span style="font-weight: normal;"><a href="http://panel.holoviz.org" rel="nofollow" target="_blank">panel.holoviz.org</a>, <a href="http://voila.readthedocs.io">voila.readthedocs.io</a>, <a href="http://www.streamlit.io">www.streamlit.io</a>, and <a href="http://plot.ly/dash" rel="nofollow" target="_blank">plot.ly/dash</a></span></span></div></div></div></h3></div><h2 style="text-align: left;">Aprendizaje Automático</h2><div><div>El aprendizaje automático (el usado hasta la saciedad <i>Machine Learning</i>) es una disciplina dentro de la IA que implica desarrollar y estudiar algoritmos y modelos que las máquinas usan para aprender y realizar tareas sin estar programadas explícitamente para hacerlo. El aprendizaje profundo es un subcampo del aprendizaje automático que implica el procesamiento con redes neuronales y la informática de alto rendimiento. Estos son tres de las tecnologías de aprendizaje automático de código abierto más populares.</div></div><div><br /></div><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHmfw6-l_OgRqscFAcF8R7xF-5ryv8y3FOq7GX2D0-rUvZ4oTN51oGEt7Vgbt05l5i9cOSth9sahxqWhJjPPWdBsJcidjxterD-83ZE65NPH2oZjHmPlY06z5d5s9ShEuNcpNtYTDomxY/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="83" data-original-width="245" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHmfw6-l_OgRqscFAcF8R7xF-5ryv8y3FOq7GX2D0-rUvZ4oTN51oGEt7Vgbt05l5i9cOSth9sahxqWhJjPPWdBsJcidjxterD-83ZE65NPH2oZjHmPlY06z5d5s9ShEuNcpNtYTDomxY/s16000/image.png" /></a></div><br /><div style="text-align: left;"><b>TensorFlow</b> es una plataforma de aprendizaje profundo de código abierto de Google que incluye un ecosistema de herramientas y bibliotecas que permiten la creación e implementación de aplicaciones de <i>aprendizaje profundo</i> e inteligencia artificial. <b>Keras</b> es una API de alto nivel que se utiliza para crear y entrenar modelos de aprendizaje profundo, originalmente como una biblioteca separada, pero ahora se incluye con TensorFlow.</div></div><div class="separator" style="clear: both; text-align: left;"><h3 style="clear: both; text-align: left;">¿Para qué se utiliza?:</h3><div class="separator" style="clear: both;"><b>TensorFlow</b> y <b>Keras </b>se utilizan juntos para construir, entrenar e implementar de manera eficiente modelos de aprendizaje profundo, como redes neuronales convolucionales (<i>CNN</i>) y redes generativas adversarias (GAN). Si descarga la última versión de TensorFlow, se incluye Keras.</div><h3 style="clear: both; text-align: left;">Interviene en:</h3><div class="separator" style="clear: both;"><b>Airbnb</b> usa Tensorflow para clasificar imágenes y detectar objetos a escala. <b>Airbus</b> usa TensorFlow para extraer información de imágenes de satélite, y <b>Twitter</b> usó Tensorflow para crear su línea de tiempo clasificada, que muestra a los usuarios los tweets más importantes primero.</div><h3 style="clear: both; text-align: left;"><span style="font-size: small;">¿Dónde aprender más? <span style="font-weight: normal;"><a href="https://www.tensorflow.org/" rel="nofollow" target="_blank">https://www.tensorflow.org/</a></span></span></h3><span><!--more--></span><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIUbqDL4ZdtOPfCSF_uQS1JCROzqNAZiap1Z2nOe6ixGBCm09LlsddyDuC51EJ5kkxW2sUUcCcwEVc8MKVYaMjLsmShQouqksc9C5yNTVLC5L9mdAZ2wFid-qjSVnIAco_5FLQQuLwvVQ/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="56" data-original-width="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIUbqDL4ZdtOPfCSF_uQS1JCROzqNAZiap1Z2nOe6ixGBCm09LlsddyDuC51EJ5kkxW2sUUcCcwEVc8MKVYaMjLsmShQouqksc9C5yNTVLC5L9mdAZ2wFid-qjSVnIAco_5FLQQuLwvVQ/s16000/image.png" /></a></div><br /><div style="text-align: left;">Un marco de aprendizaje profundo de código abierto que consta de herramientas y bibliotecas fundamentales para Python AI y el desarrollo de aprendizaje automático.</div></div><div><h3 style="clear: both;">¿Para qué se utiliza?:</h3><div class="separator" style="clear: both;">Construir y entrenar modelos de aprendizaje profundo, como CNN y GAN. Un rico ecosistema de bibliotecas amplía las capacidades de PyTorch para el procesamiento del lenguaje natural y la visión por computadora.</div><h3 style="clear: both;">Interviene en:</h3><div class="separator" style="clear: both;"><b>Salesforce</b>, entre muchos otros, utiliza PyTorch para el procesamiento del lenguaje natural y el aprendizaje de múltiples tareas.</div><h3 style="clear: both;"><span style="font-size: small;">¿Dónde aprender más?<span style="font-weight: normal;"> </span><span style="font-weight: 400;"><a href="https://pytorch.org/" rel="nofollow" target="_blank">https://pytorch.org/</a></span></span></h3></div><div><span><!--more--></span><span style="font-size: small;"><br /></span></div><div><div style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhtMWvWd_on_Ve2LeWBl8To2zQi7TOctd-oOxvduB_V4jBxawpFBgkblcON1-arTzAY94grRQ_U2qU8UVsRkoBaNl993L9Ehntv2DkCE7k0hHd8RREld15dcbLIewNlKsE0qmC8s44iKQ/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="112" data-original-width="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhtMWvWd_on_Ve2LeWBl8To2zQi7TOctd-oOxvduB_V4jBxawpFBgkblcON1-arTzAY94grRQ_U2qU8UVsRkoBaNl993L9Ehntv2DkCE7k0hHd8RREld15dcbLIewNlKsE0qmC8s44iKQ/s16000/image.png" /></a></div><br /><div style="text-align: left;"><div>Una biblioteca de aprendizaje automático potente y versátil para los conceptos básicos del aprendizaje automático, como clasificación, regresión y agrupación en clústeres. Incluye ambos Algoritmos ML <i>supervisados</i> y <i>no supervisados</i> con funciones importantes como <i>validación cruzada</i> y <i>extracción de características</i>. Scikit-learn es la biblioteca de aprendizaje automático que se descarga con más frecuencia.</div></div></div><h3 style="clear: both; text-align: left;">¿Para qué se utiliza?:</h3><div class="separator" style="clear: both;">Eficiente para el análisis predictivo y la creación de modelos de aprendizaje automático con Python. También incluye herramientas que facilitan la inclusión de modelos de aprendizaje profundo en una canalización de scikit-learn.</div><h3 style="clear: both;">Interviene en:</h3><div class="separator" style="clear: both;"><b>Booking.com</b> y <b>Spotify</b> utilizan scikit-learn para sus motores de recomendación. <b>Spotify</b> ha dicho que scikit-learn es el "paquete de ML mejor diseñado que hemos visto hasta ahora". <b>J.P. Morgan</b> lo usa para análisis predictivo y <b>MARS</b> para la gestión de la cadena de suministro.</div><h3 style="clear: both;"><span style="font-size: small;">¿Dónde aprender más? <span style="font-weight: normal;"><a href="https://scikit-learn.org/stable/">https://scikit-learn.org/stable/</a></span></span></h3></div><div><span><!--more--></span><span style="font-size: small;"><br /></span></div></div><div style="text-align: left;">Seguiremos en la tercera entrega de esta serie con:</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><ul style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 1.4; list-style-image: initial; list-style-position: initial; margin: 0.5em 0px; padding: 0px 2.5em;"><li style="border: none; margin: 0px 0px 0.25em; padding: 0.25em 0px;">Computación escalable</li><li style="border: none; margin: 0px 0px 0.25em; padding: 0.25em 0px;">Procesamiento de imágenes</li></ul></div><p></p>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-62223830908893941112021-03-31T02:08:00.002+02:002021-03-31T02:08:39.791+02:00Python for Oracle DBA: Guía de supervivencia Parte I<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF8fZXzoxLVrUdPKMw2yEyWHeNyUd1e3Eu9XiPQ9FYXsOlfHsGHLXR67CGt9hX0p5hCfgG7fzmXyjauw9bohoY5at4OxSnXQMtL60wHLI8mJ9Pj-Lxi3monPhrUsU7HDaipVXG39yW0SM/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="225" data-original-width="225" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF8fZXzoxLVrUdPKMw2yEyWHeNyUd1e3Eu9XiPQ9FYXsOlfHsGHLXR67CGt9hX0p5hCfgG7fzmXyjauw9bohoY5at4OxSnXQMtL60wHLI8mJ9Pj-Lxi3monPhrUsU7HDaipVXG39yW0SM/" width="240" /></a></div><div class="separator" style="clear: both; text-align: left;">Abarcaremos las posibilidades de Python (En varias entregas) para nuestro mundo de administración de bases de datos y plantearemos otros campos interesantes donde centrar nuestro interés.</div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Bibliotecas y herramientas de ciencia de datos fundamentales</li><li>Preparación de datos / ETL</li><li>Visualización de datos</li><li>Aprendizaje automático</li><li>Computación escalable</li><li>Procesamiento de imágenes</li><li>Procesamiento del lenguaje natural (NLP)</li><li>Fronteras de la IA</li></ul></div></div><div class="separator" style="clear: both; text-align: left;"><h2 style="clear: both;">Bibliotecas y herramientas de ciencia de datos fundamentales</h2></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">Esta colección de herramientas Python de código abierto y bibliotecas consta de paquetes muy populares que son se utilizan con frecuencia juntos para hacer ciencia de datos. El las herramientas fundamentales no solo son esenciales y poderosas para los practicantes individuales, pero también son esenciales</div><div class="separator" style="clear: both;">para hacer ciencia de datos empresariales con Python. Muchos otras herramientas y bibliotecas en la ciencia de datos de Python y el ecosistema de Machine Learning dependen de estos paquetes fundamentales.</div><div class="separator" style="clear: both;"><br /></div><span><a name='more'></a></span><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgutLE6gBmp6h5yjjRK5awRvFMgj4BOP5YXG4Mz0NsKBH0B7yD6wCqEvSBM57U1GfQyruYMQQWFqgHRvzjlytCu7o90UL0iYKsYl5xLRPkVZihjMOYsBprgKLi7MF5BOm20t-yPjjLB8LA/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="65" data-original-width="119" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgutLE6gBmp6h5yjjRK5awRvFMgj4BOP5YXG4Mz0NsKBH0B7yD6wCqEvSBM57U1GfQyruYMQQWFqgHRvzjlytCu7o90UL0iYKsYl5xLRPkVZihjMOYsBprgKLi7MF5BOm20t-yPjjLB8LA/s16000/image.png" /></a></div></div><div><div>La biblioteca SciPy consiste en un conjunto específico de herramientas científicas y numéricas fundamentales para Python que los científicos de datos usan para construir sus propias herramientas y programas, que no deben confundirse con la comunidad SciPy y la conferencia SciPy, que incluye a cualquiera que trabaje en computación científica con Python. .</div><div><br /></div><div><b>¿Para qué se utiliza?:</b></div><div>Rutinas para integración numérica, interpolación, álgebra lineal y estadística.</div><div><br /></div><div><b>Interviene en:</b></div><div>SciPy es utilizado por <b>Instacar</b>t, <b>WalMar</b>t y <b>Vital Labs</b>, entre otros. Vital Labs usa SciPy para potenciar sus herramientas de análisis.</div><div><br /></div><div><b>¿Dónde aprender más? </b><a href="https://www.scipy.org/about.html" rel="nofollow" target="_blank">https://www.scipy.org/about.html</a></div></div><span><!--more--></span><div><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzEF8bpnw4FHtt0DKmK5W0Ms4Cl0YrYXTHaTeKKWm2Fwiz7W0CXAkN1pVB6Cm02BQctCeTPHNTW11u6Qzcf1C6fDO80VjSF1SiVGpc_mblBkCzEzZKSHDp8iO-BdVezErnaHvH2pf40as/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="74" data-original-width="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzEF8bpnw4FHtt0DKmK5W0Ms4Cl0YrYXTHaTeKKWm2Fwiz7W0CXAkN1pVB6Cm02BQctCeTPHNTW11u6Qzcf1C6fDO80VjSF1SiVGpc_mblBkCzEzZKSHDp8iO-BdVezErnaHvH2pf40as/s16000/image.png" /></a></div><br /></div><div>Un paquete básico para la informática científica con Python. Numpy permite la formación de matrices y operaciones básicas con matrices.</div><div><br /></div><div><b>¿Para qué se utiliza?</b></div><div>Numpy se usa para indexar y ordenar, pero también se puede usar para álgebra lineal y otras operaciones. SciPy tiene más funciones cuando</div><div>se trata de módulos de álgebra y algoritmos numéricos. Muchas otras bibliotecas de ciencia de datos para Python se basan en NumPy internamente, incluyendo Pandas y SciPy.</div><div><br /></div><div><b>Interviene en:</b></div><div><b>Instacart, Walmart</b> y <b>Vital Labs</b> utilizan Numpy para el análisis de datos. También se utiliza como base en la mayoría de los otros paquetes de ciencia de datos de Python.</div></div><div><br /></div><div><b>¿Dónde aprender más? </b><a href="https://numpy.org/" rel="nofollow" target="_blank">https://numpy.org/</a></div><span><!--more--></span><div><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRGWkr5T3nlNZKpdF_lzqcA8RqqKBMfZw8sUtD9GNgAm_Vyzvr-QD1IbScna1YtrygXRQ_iacVi76b9bWN7D22srFvEJvYzikRGVW6byRd3pR59IxhgBZWVlPZSCShhMdTIgZWyl15Q5Q/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="97" data-original-width="121" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRGWkr5T3nlNZKpdF_lzqcA8RqqKBMfZw8sUtD9GNgAm_Vyzvr-QD1IbScna1YtrygXRQ_iacVi76b9bWN7D22srFvEJvYzikRGVW6byRd3pR59IxhgBZWVlPZSCShhMdTIgZWyl15Q5Q/s16000/image.png" /></a></div><br /><div style="text-align: left;">Jupyter es un proyecto de código abierto creado para respaldar la ciencia de datos interactivos y la computación científica en todos los lenguajes de programación.</div></div><div>Jupyter ofrece un entorno basado en web para trabajar con cuadernos que contienen código, datos y texto. Los cuadernos de Jupyter son el espacio de trabajo estándar para la mayoría de los científicos de datos de Python.</div><div><br /></div><div><b>¿Para qué se utiliza?</b></div><div>Los cuadernos de Jupyter se utilizan para crear y compartir código, ecuaciones, visualizaciones y texto en vivo. Se ha convertido en la herramienta preferida para presentar proyectos de ciencia de datos.</div><div><br /></div><div><b>Interviene en:</b></div><div>Jupyter es utilizado por <b>Google</b>, <b>Microsoft</b>, <b>IBM</b>, <b>Bloomberg</b>, <b>NASA</b> y muchas otras empresas y universidades. Es seguro decir que si un la organización tiene científicos de datos que trabajan en Python, usan cuadernos de Jupyter.</div></div><div><b><br /></b></div><div><b>¿Dónde aprender más? </b><a href="https://jupyter.org/" rel="nofollow" target="_blank">https://jupyter.org/</a></div><span><!--more--></span><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhmu_O0IUEnAtGKu3Z_o9UmNIC2Mw33ZEnHOVZO7pTvzSrw0pyNpyQwXg_IWNbwDV8N5bT8OB5OavCvVZSyT76OBBh9XwWVURUAlUvw_-ZkjiONXp2VbOEgpJFIl14B1slnJm-MJye5do/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="62" data-original-width="122" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhmu_O0IUEnAtGKu3Z_o9UmNIC2Mw33ZEnHOVZO7pTvzSrw0pyNpyQwXg_IWNbwDV8N5bT8OB5OavCvVZSyT76OBBh9XwWVURUAlUvw_-ZkjiONXp2VbOEgpJFIl14B1slnJm-MJye5do/s16000/image.png" /></a></div><div style="text-align: left;">Una biblioteca para estructuras de datos tabulares, análisis de datos y herramientas de modelado de datos, incluido el trazado integrado con Matplotlib.</div><br /></div><div><b>¿Para qué se utiliza?</b></div><div><div>Manipulación e indexación de datos, remodelación y rotación de conjuntos de datos, segmentación y alineación basados en etiquetas, fusión y unión de conjuntos de datos de alto rendimiento y análisis de datos de series de tiempo</div><div>Pandas incluye métodos eficientes para leer y escribir una amplia variedad de datos, incluidos archivos <i>CSV</i>, hojas de <i>Exce</i>l y consultas <i>SQL</i>.</div></div><div><b><br /></b></div><div><b>Interviene en:</b></div><div><div>Muchas empresas han descubierto que pandas es fácil de usar en todos los equipos y aumenta la productividad para el análisis de datos. Por ejemplo, <b>Appnexus</b> utiliza pandas en sus equipos de ingenieros, matemáticos y analistas. <b>Datadog</b> usa pandas para procesar datos de series de tiempo en sus servidores de producción. Es seguro decir que si una empresa está haciendo ciencia de datos, están usando Pandas.</div></div><div><b><br /></b></div><div><b>¿Dónde aprender más?</b><a href="https://pandas.pydata.org/" rel="nofollow" target="_blank"> https://pandas.pydata.org/</a></div><div class="separator" style="clear: both;"><h2 style="clear: both;">Preparación de datos / ETL</h2><div style="clear: both; text-align: left;">La preparación de datos es un requisito previo para realizar análisis de datos, ciencia de datos y aprendizaje automático, y también puede ser la parte más rigurosa y que requiere más tiempo de todo el proceso. La mayoría de los flujos de trabajo de ciencia de datos utilizan inicialmente Pandas personalizados y otro código de manipulación de datos, pero estas herramientas de preparación de datos / ETL (extracción, transformación y carga) ayudan a automatizar el proceso para hacer que la preparación de datos sea más eficiente en la producción para empresas y grandes organizaciones.</div><span><!--more--></span><div style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKEL4BiyWq_L8Xo0GevDTv53sBKiw-2qfmX4ebMxjQjzAjL-qmmqimln50Xidp8xbg1kAi4_PbPcn3nF8QUqbmLIedV9A3BfDuhmLl1OF7YSUPE3Yi_p0laJWbbiMEQleXEl30s48dcHM/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="77" data-original-width="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKEL4BiyWq_L8Xo0GevDTv53sBKiw-2qfmX4ebMxjQjzAjL-qmmqimln50Xidp8xbg1kAi4_PbPcn3nF8QUqbmLIedV9A3BfDuhmLl1OF7YSUPE3Yi_p0laJWbbiMEQleXEl30s48dcHM/s16000/image.png" /></a></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">Una herramienta de automatización de flujo de trabajo de código abierto de Apache para crear flujos de trabajo de datos, programar tareas y monitorear resultados. Se integra con múltiples proveedores de nube, incluidos <b>AWS</b>,<b> Azure</b>, <b>Googl</b>e y <b>Oracle Cloud</b>.</div><div class="separator" style="clear: both;">:</div><div class="separator" style="clear: both;"><b>¿Para qué se utiliza?</b></div><div class="separator" style="clear: both;">Airflow se utiliza para administrar y automatizar las canalizaciones de datos para su uso en modelos de análisis de datos y aprendizaje automático.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><b>Interviene en:</b></div><div class="separator" style="clear: both;">Airflow fue creado por desarrolladores de <i>Airbn</i>b para administrar las canalizaciones de big data de múltiples fuentes. Actualmente se utiliza para la gestión de la canalización de datos por <i>Airbnb, Slack, Walmart, Lyft y Hello Fresh,</i> entre otros.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><b>¿Dónde aprender más? </b><a href="https://airflow.apache.org/" rel="nofollow" target="_blank">https://airflow.apache.org/</a></div><span></span><span><!--more--></span><div class="separator" style="clear: both; text-align: center;"><br /></div></div></div><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ52fdPZFRBVk5GEeojftUkBKxtjHlaKk57cOL-kEFvYNwXB4H0heJOMWOHkFnfzjvh2ABimZT2_bj6IjV6aNIn46a3QrOL_7JupP2msp5IJIBQuC_gDaVn6fgB5Agf4snRG3-hpunxJo/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="74" data-original-width="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ52fdPZFRBVk5GEeojftUkBKxtjHlaKk57cOL-kEFvYNwXB4H0heJOMWOHkFnfzjvh2ABimZT2_bj6IjV6aNIn46a3QrOL_7JupP2msp5IJIBQuC_gDaVn6fgB5Agf4snRG3-hpunxJo/s16000/image.png" /></a></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">Una biblioteca de ingesta / carga de datos para una amplia variedad de formatos de archivo y servicios de datos, con catalogación jerárquica, búsqueda e interactividad con plataformas de almacenamiento remoto bajo una única interfaz.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><b>¿Para qué se utiliza?</b></div><div class="separator" style="clear: both;">Intake permite a una organización catalogar datos de todo tipo, incluidas descripciones de modelos ajustados, imágenes y entradas de registro no estructuradas, por lo que los científicos de datos de Python pueden centrarse en sus análisis en lugar de en el código de E / S repetitivo. Los catálogos son archivos de texto que se pueden compartir fácilmente con otros y reutilizar entre proyectos.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><b>Interviene en:</b></div><div class="separator" style="clear: both;">Actualmente, Zillow, NASA y USGS utilizan Intake para catalogar datos de muchos tipos para su uso en Python.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><b>¿Dónde aprender más? </b><a href="https://intake.readthedocs.io" rel="nofollow" target="_blank">https://intake.readthedocs.io</a></div></div><br /><br /></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><div style="clear: both; text-align: left;">La siguiente entrega hablaremos de <i>Visualización de datos</i> y <i>Aprendizaje automátic</i>o</div></div></div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><br /></div></div></div></div></div></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-37007124566454359462021-03-09T23:42:00.002+01:002021-06-20T22:34:49.948+02:00Oracle DBA: Realización de operaciones diarias<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjXWTwwvs_j_sxnftBdsT0fxzZByajhsgkPgw7k_ys4GSFxFWtT5p4ngdiEa7ySEw7I1-WynQq1kQrSfJkg-ygbKO45IICYAQaAnnwxgYZpakIhQCGDMmGS0qj1g9AZ5hnC1JThnniQ5I/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="500" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjXWTwwvs_j_sxnftBdsT0fxzZByajhsgkPgw7k_ys4GSFxFWtT5p4ngdiEa7ySEw7I1-WynQq1kQrSfJkg-ygbKO45IICYAQaAnnwxgYZpakIhQCGDMmGS0qj1g9AZ5hnC1JThnniQ5I/w640-h320/image.png" width="640" /></a></div><p></p><p>Desde mi punto de vista, para desempeñar correctamente el papel de administrador de bases de datos, se deberá desarrollar e implementar acciones que cubran todas las áreas de esta disciplina. Nuestras Sus tareas diarias variarán desde hacer arquitectura y diseño de alto nivel hasta realizar tareas de bajo nivel. </p><h3 style="text-align: left;">Arquitectura y Diseño</h3><p>Los administradores de bases de datos deben participar en la arquitectura y el diseño de nuevas aplicaciones, bases de datos e incluso cambios de infraestructura técnica. Las decisiones que se tomen aquí tendrán un gran impacto en el rendimiento y la escalabilidad de la base de datos, mientras que el conocimiento de la base de datos lo ayudará a elegir una mejor implementación técnica. Las herramientas de modelado de datos como SQL Developer Data Modeler pueden ayudar al DBA.</p><h3 style="text-align: left;">Planificación de capacidad</h3><p>Es necesario realizar una planificación a corto y largo plazo en sus bases de datos y aplicaciones. Debe concentrarse en las características de rendimiento y tamaño de sus sistemas que ayudarán a determinar las próximas necesidades de almacenamiento, CPU, memoria y red. Esta es un área que a menudo se descuida y puede generar grandes problemas si no se realiza correctamente. Hay un cambio en los entornos de planificación para poder agregar recursos fácilmente a medida que los sistemas crecen, ya sea con entornos de virtualización o en la nube. Con los entornos de base de datos virtualizados, estas preocupaciones sobre los recursos y la planificación de la capacidad pueden ser menores en el lado del DBA, pero aquellos que ahora están planificando la capacidad del entorno virtualizado estarán preocupados por el uso general. Estos entornos tienden a escalar mejor porque hay formas de agregar recursos según sea necesario. Aún así, poder comunicar el crecimiento de la base de datos y cómo se utilizarán los diferentes recursos ayudará a administrar el entorno general.</p><h3 style="text-align: left;">Copia de seguridad y recuperación</h3><p>Un plan de respaldo y recuperación es, por supuesto, fundamental para proteger sus datos corporativos. Debe asegurarse de que los datos se puedan recuperar rápidamente en el momento más cercano posible. También hay un aspecto de rendimiento en esto porque las copias de seguridad deben realizarse utilizando recursos mínimos mientras la base de datos está en funcionamiento, y las recuperaciones deben realizarse dentro de un límite de tiempo predefinido por los Acuerdos de nivel de servicio (SLA) desarrollados para cumplir con los requisitos de los clientes. Una implementación completa de respaldo y recuperación debe incluir recuperación local y recuperación remota, lo que también se conoce como planificación de recuperación ante desastres (DRP). Oracle 12c ofrece respaldo y recuperación a un nivel de base de datos conectable, y esto deberá tenerse en cuenta en los planes de recuperación</p><h3 style="text-align: left;">Seguridad</h3><p>La seguridad es un área que se ha vuelto extremadamente importante debido a la cantidad de usuarios que pueden acceder a sus bases de datos y la cantidad de acceso externo basado en la web. Los usuarios de la base de datos deben estar autenticados para que sepa con certeza quién está accediendo a su base de datos. Luego, los usuarios deben tener autorización para usar los objetos en Oracle que necesitan para hacer su trabajo. Sin embargo, a pesar de esta necesidad de permisos y acceso para realizar su trabajo, una mejor práctica es otorgar solo la cantidad mínima de permisos y acceso para el rol o usuario. Esto se puede administrar con Oracle Enterprise Manager, SQL Plus, SQL Developer. </p><p>La administración de los permisos de los usuarios es solo una parte de la seguridad en el entorno de la base de datos. El cifrado de datos, la auditoría de acceso y permisos y la observación del acceso a los datos de los usuarios del sistema en entornos de desarrollo son algunas otras áreas que necesitan atención para proporcionar un entorno de base de datos seguro.</p><p><br /></p><h3 style="text-align: left;">Rendimiento y afinación</h3><p>El rendimiento y el ajuste es posiblemente el área <b>más interesante </b>de la gestión de bases de datos. Los cambios aquí se notan casi de inmediato, y todos los administradores de bases de datos con experiencia tienen historias sobre pequeños cambios que han realizado y que se han traducido en grandes mejoras en el rendimiento. Por otro lado, cada error de rendimiento en el entorno se atribuirá a la base de datos y deberá aprender a lidiar con esto. Los informes del repositorio automático de carga de trabajo (AWR), el paquete de estadísticas, la gestión del rendimiento de OEM y las herramientas de terceros lo ayudarán en esta área. Hay mucho que aprender aquí, pero las herramientas adecuadas lo simplificarán considerablemente.</p><h3 style="text-align: left;">Administrar objetos de base de datos</h3><p></p><p>Debe administrar todos los objetos de esquema, como tablas, índices, vistas, sinónimos, secuencias y clústeres, así como los tipos de fuentes, como paquetes, procedimientos, funciones y desencadenadores, para asegurarse de que sean válidos y estén organizados de una manera. que ofrecerá un rendimiento adecuado y contará con el espacio adecuado. Los requisitos de espacio de los objetos de esquema están directamente relacionados con los espacios de tabla y los archivos de datos que están creciendo a un ritmo increíble. SQL Developer u OEM pueden simplificar esto, algo de lo que verá ejemplos más adelante en este capítulo.</p><h3 style="text-align: left;">Administración de almacenamiento</h3><p>Las bases de datos están creciendo a un ritmo increíble. Debe administrar el espacio con cuidado y prestar especial atención al espacio utilizado por los archivos de datos y los registros de archivo. Además, con el Área de recuperación rápida (FRA), hay áreas de respaldo que deben administrarse para su uso de espacio. Con Automatic Segment Space Management (ASSM), la necesidad de reorganizar los objetos de la base de datos ha disminuido. Las reorganizaciones también utilizan recursos considerables, por lo que debería evaluarse si un objeto debe reorganizarse o no. Hay utilidades en línea que se supone que ayudan con la reorganización de índices y tablas mientras permanecen en línea, pero no realizan estas operaciones a menos que sea necesario. </p><h3 style="text-align: left;">Gestión del cambio</h3><p>Poder actualizar o cambiar la base de datos es una habilidad que requiere conocimiento de muchas áreas. Las actualizaciones del esquema de la base de datos, la lógica de procedimiento en la base de datos y el software de la base de datos deben realizarse de manera controlada. Los procedimientos y herramientas de control de cambios, como el Change Management Pack de Oracle y las ofertas de terceros, lo ayudarán.</p><h3 style="text-align: left;">Programar trabajos</h3><p>Desde Oracle Database 10g, DBMS_SCHEDULER se introdujo con el DBMS_JOBS existente. Permite que los trabajos se programen para una fecha y hora específicas, y categorizar los trabajos en clases de trabajo que luego se pueden priorizar. Esto significa que los recursos se pueden controlar por clase de trabajo. Por supuesto, se pueden utilizar otros sistemas de programación nativos como crontab en Linux y Unix, así como otras ofertas de terceros.</p><p>Los trabajos pueden incluir cualquiera de las tareas de mantenimiento de la base de datos, como copias de seguridad y scripts de supervisión. La agrupación de los trabajos de supervisión y mantenimiento en una clase de trabajo puede darles una prioridad menor que un trabajo por lotes de la aplicación que debe finalizar en un breve período de tiempo.</p><h3 style="text-align: left;">Administración de redes</h3><p>Oracle Networking es un componente fundamental de la base de datos con el que deberá sentirse cómodo. La resolución de problemas de conexiones a la base de datos es similar a la resolución de problemas de rendimiento, porque aunque la base de datos está activa y disponible, si sus aplicaciones no pueden acceder a ella, es lo mismo que si no estuviera disponible. Las opciones de conectividad de bases de datos como tnsnames, Oracle Internet Directory (OID) y Oracle Listener requieren planificación para garantizar que se cumplan los requisitos de rendimiento y seguridad de una manera sencilla de administrar.</p><h3 style="text-align: left;">Alta disponibilidad</h3><p>Con la información y los datos disponibles las 24 horas del día, los 7 días de la semana, la arquitectura de sistemas de alta disponibilidad ha caído en manos del administrador de la base de datos. Las opciones en el lado de la base de datos incluyen Real Application Clusters, Data Guard, replicación y opciones de recuperación rápida. También hay opciones de virtualización y hardware para proporcionar sistemas redundantes y disponibles.</p><h3 style="text-align: left;">... Y sobe todo: Solución de problemas</h3><p>Aunque la solución de problemas puede no ser lo que consideraría un área clásica de la administración de bases de datos, es un área con la que se encontrará a diario. Necesitará herramientas que le ayuden con esto. <i><b><a href="https://support.oracle.com/portal/" rel="nofollow" target="_blank">My Oracle Support</a></b></i> proporciona soporte técnico y es un recurso invaluable. Los registros de alerta y los archivos de volcado de Oracle también le ayudarán enormemente. La experiencia será su mayor aliado aquí y cuanto antes se sumerja en el soporte de la base de datos, más rápido progresará.</p>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-57370775357279676882021-02-27T07:34:00.011+01:002021-02-27T07:41:59.765+01:00¿Hay vida más allá de Oracle database? Suscripción de aprendizaje del 25 aniversario de Java<p style="text-align: center;"><br /></p><p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghyphenhyphengIXtWdw74DUDG6iAA9L93M03lqG1AeZZtHC5PlGpb_G4nonatt_YomNIY6f4AxzqUYGVeJygItg7FTdDsPlIOJQJN4tc5uS22zPpakR2LPK-2DQ1t6jMxC22pNEf4LrtOyMlfpqQYo/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="307" data-original-width="567" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghyphenhyphengIXtWdw74DUDG6iAA9L93M03lqG1AeZZtHC5PlGpb_G4nonatt_YomNIY6f4AxzqUYGVeJygItg7FTdDsPlIOJQJN4tc5uS22zPpakR2LPK-2DQ1t6jMxC22pNEf4LrtOyMlfpqQYo/" width="320" /></a></div><br /><p></p><p style="text-align: left;">Este es el contenido de la introducción que hace Oracle a la oferta de aprendizaje en Java, espero que os guste y que la aprovechéis.</p><h3 style="text-align: left;">Suscripción de aprendizaje del 25 aniversario de Java</h3><div><div style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-family: "Times New Roman",serif; font-size: 10.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Bienvenido a
la suscripción de aprendizaje del 25 aniversario de Java de Oracle University.
Oracle está celebrando el 25 aniversario del lenguaje de programación Java
brindándole la oportunidad de aprender a programar usando Java SE 11. Puede
estudiar los temas más importantes y fundamentales para la certificación Java y
aprender de instructores expertos experimentados en su tiempo libre. Y cuando
esté listo, puede registrarse para realizar el examen de certificación de Java
Standard Edition 11.</span></div><div style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-family: "Times New Roman",serif; font-size: 10.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><br /></span></div><div style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-family: "Times New Roman",serif; font-size: 10.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ-KyRZ1PTBY7SH8Y_h01n2zuE-u6ezhl6ohN8LDhk8XVtHAphYVDf45UVUJDTVzs9ww0rXh9Wsq_d6klQvtr0_DGBpVpLCm573bZc-fTMA_3CWazuJ4CTZ4_ys3Z60S7L89WFuWeMghw/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="319" data-original-width="567" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ-KyRZ1PTBY7SH8Y_h01n2zuE-u6ezhl6ohN8LDhk8XVtHAphYVDf45UVUJDTVzs9ww0rXh9Wsq_d6klQvtr0_DGBpVpLCm573bZc-fTMA_3CWazuJ4CTZ4_ys3Z60S7L89WFuWeMghw/w640-h360/image.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Esta oferta
de programación Java del 25 aniversario está destinada a aquellos que tienen
alguna experiencia en programación en otro lenguaje de programación, como C #,
C ++, JavaScript, PL / SQL, C, Node.js o incluso COBOL o Fortran. También es
para aquellos que tienen algunos conocimientos básicos de Java y quieren
ampliar o mejorar sus conocimientos. Para alguien que tomó un curso de Java
hace un tiempo y realmente no lo ha usado, esto le servirá como un excelente
repaso.<o:p></o:p></span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXFf0JGbmoyEFYYSh0XAxlElypba3zbGTu0_DOeDV1pCZTbXZRBlwz1DJBLYIFAVIyAT0aDv07vmmzgmwxhhWlW8fFvx5rS7iFbjC1F20SN5h-0z4sEo6Soq24LdkW3BQMZWrpKgyFRBE/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="322" data-original-width="567" height="364" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXFf0JGbmoyEFYYSh0XAxlElypba3zbGTu0_DOeDV1pCZTbXZRBlwz1DJBLYIFAVIyAT0aDv07vmmzgmwxhhWlW8fFvx5rS7iFbjC1F20SN5h-0z4sEo6Soq24LdkW3BQMZWrpKgyFRBE/w640-h364/image.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><p></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Y, por
supuesto, si se está preparando para el examen de certificación Java SE 11,
esta oferta cubre todos los temas cubiertos en el examen. Pero si es nuevo en
programación y recién está comenzando, le sugerimos que tome primero el curso
gratuito Java Explorer, que enseña habilidades básicas de programación, como
estructura de programa, variables, tipos de datos, expresiones, toma de
decisiones, bucles, clases, objetos, y mucho más. Esta es una introducción
divertida y enfocada a los fundamentos de la programación con Java.<o:p></o:p></span></p><div class="separator" style="clear: both;">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Luego
regrese y aproveche la oferta del 25 aniversario para obtener el contenido y la
experiencia completos de Java SE. Cuando toma esta oferta, obtiene acceso en
línea a nuestra guía para estudiantes con diapositivas y notas que acompañan a
las presentaciones del instructor grabadas profesionalmente. Puede detenerse,
retroceder y revisar fácilmente lo que ha aprendido.</span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">También hay
tutoriales grabados de las soluciones de las prácticas que vienen con la
suscripción completa de aprendizaje de Java. Puede observar y aprender mientras
el instructor explica qué hace el código y por qué.<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Para la
certificación Java SE 11, hay un conjunto de preguntas de examen simuladas,
para que pueda tener una idea del estilo y la dificultad de las preguntas
reales del examen. Y cuando acceda a la página web de suscripción de
aprendizaje de Java 25th, puede avanzar al mosaico de certificación para
registrarse para realizar el examen. Los ejemplos y prácticas que se ven en el
curso se basan en Java JDK 11 y NetBeans 11, ambas descargas gratuitas del
sitio que se muestra en la pantalla.</span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinQgXNlbxB7IDg6k8XjBhsi556GnDHsw2b-p9UDuDL5zKVyWoYuPMkQ4r_dvKEUE0ro2KbYcBoaueyujwbzHpX_UoPI0r7cRDnAyiuQSIsNmnWTCuLpReM_Cx6lFPYgwMJ1SJCkP6QzxQ/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="319" data-original-width="567" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinQgXNlbxB7IDg6k8XjBhsi556GnDHsw2b-p9UDuDL5zKVyWoYuPMkQ4r_dvKEUE0ro2KbYcBoaueyujwbzHpX_UoPI0r7cRDnAyiuQSIsNmnWTCuLpReM_Cx6lFPYgwMJ1SJCkP6QzxQ/w640-h360/image.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Si eres
programador y desea aprender Java más profundamente, puede intentar configurar
un entorno de trabajo para probar las prácticas y los ejemplos en su
computadora local. Si es un novato, como dije antes, considera comenzar con el
Explorador de Java, nuestra oferta de programación básica de Java gratuita, que
incluye las instrucciones para obtener y configurar una cuenta gratuita de
Oracle Cloud para realizar sus prácticas. Luego, puede usar eso para probar
estos ejemplos y prácticas también. Pero esto es completamente opcional y no es
compatible con Oracle. La guía de práctica y laboratorio completa y el entorno
de laboratorio configurado se proporcionan con la suscripción completa de
aprendizaje de Java.<o:p></o:p></span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnC4rMweVyr7WxQ296rLsmV3MEshxuj9b6-7rCmQoIEHsUKTzGeM9gGo5l-h7esfVKytfBZWVFZdZ515PIzvhs5vgO-YUZSYlPnp-KAubPpwVj3t51yDNg8zsjtLdlxCW5t6oP4MFV1I/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="320" data-original-width="567" height="362" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtnC4rMweVyr7WxQ296rLsmV3MEshxuj9b6-7rCmQoIEHsUKTzGeM9gGo5l-h7esfVKytfBZWVFZdZ515PIzvhs5vgO-YUZSYlPnp-KAubPpwVj3t51yDNg8zsjtLdlxCW5t6oP4MFV1I/w640-h362/image.png" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Hablando de
eso, ¿qué sigue? ¿Qué incluye la suscripción completa de aprendizaje de Java?
Bueno, creemos que una vez que haya disfrutado de la oferta del 25 aniversario
de Java, querrá expandir y profundizar su aprendizaje y obtener acceso a más
cursos y aprendizaje digital. Con la suscripción completa de aprendizaje de
Java, obtiene acceso a un entorno de laboratorio alojado y guías de laboratorio
detalladas para realizar las prácticas. Obtiene acceso a todo el contenido
grabado digitalmente en la suscripción de aprendizaje, tanto el contenido
actual como el contenido nuevo que se agrega o actualiza.<o:p></o:p></span></p><div class="separator" style="clear: both;">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Puede
acceder a la formación sobre las versiones actuales y anteriores de Java. Por
ejemplo, algunos clientes todavía usan Java SE Standard Edition 8 y necesitan
capacitación para esa versión. Tendrá acceso a todos los materiales de Java
Standard Edition 8 y Java Enterprise Edition, así como a las certificaciones
para SE 8 y EE 7, y los videos de preparación de la certificación grabados para
ayudarlo a prepararse para su certificación. Y puede registrarse para sesiones
en vivo. Estas son sesiones de capacitación semanales en vivo alojadas por
Zoom, impartidas por instructores expertos en una gran variedad de temas. Esta
es una excelente manera de hacer preguntas e interactuar con un instructor en
vivo.</span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHlqlsgSvqwLEeUrQEgFxflbpRltD2xwGnZWCQnhW__t8aykCEl1IMgfgWWd8p-b-GaW7jkPyrnaZaMsTbXHmWNc421q__oKM781v6ffML_5eMqV38GgD_wsyAUF-Q7IOLgaQ-8aE2or8/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="317" data-original-width="567" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHlqlsgSvqwLEeUrQEgFxflbpRltD2xwGnZWCQnhW__t8aykCEl1IMgfgWWd8p-b-GaW7jkPyrnaZaMsTbXHmWNc421q__oKM781v6ffML_5eMqV38GgD_wsyAUF-Q7IOLgaQ-8aE2or8/w640-h358/image.png" width="640" /></a></div><br /><br /><p></p></div><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;">Este es el roadmap a seguir:</span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2ohb_iCQr_HiZfM1w3xURZQWLPccZ0nHdk-xdXj2lK8Swsmf9vnfxkK6WYX92tCwLRwsaQvbXpXwn3MD94cXnc1yidSmmnT-f_XbCmMllADY3g3UEVC2HCMNfdfDFMMGSBWS529KALTE/s1451/roadmap.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="601" data-original-width="1451" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2ohb_iCQr_HiZfM1w3xURZQWLPccZ0nHdk-xdXj2lK8Swsmf9vnfxkK6WYX92tCwLRwsaQvbXpXwn3MD94cXnc1yidSmmnT-f_XbCmMllADY3g3UEVC2HCMNfdfDFMMGSBWS529KALTE/w640-h265/roadmap.PNG" width="640" /></a></div><br /><span style="font-size: 10.5pt;"><br /></span><p></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;"><br /><br /></span></p></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p></p></div><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;"><br /><br /></span></p><p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm; text-align: justify;"><span style="font-size: 10.5pt;"><br /></span></p></div><br /><br /></span></div><br /></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-86290917227079503812021-02-23T00:28:00.001+01:002021-02-23T00:28:04.708+01:00Conceptos básicos de Data Guard de Oracle 12c<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqvT48ZdkFwbkidbsOXKM2cZuJOcDsvfQg_j1Lb4zo7Zi4gxMrXaztPNjL30PAcKnAxSypRQsAfBerHap1MY48V6TzGEAgXomUqDIIgBnM2560GAIK_aZt9Rc8Bo2fAldWKJLo-XmygDg/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="310" data-original-width="760" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqvT48ZdkFwbkidbsOXKM2cZuJOcDsvfQg_j1Lb4zo7Zi4gxMrXaztPNjL30PAcKnAxSypRQsAfBerHap1MY48V6TzGEAgXomUqDIIgBnM2560GAIK_aZt9Rc8Bo2fAldWKJLo-XmygDg/" width="320" /></a></div><p></p><p style="text-align: left;"><span style="text-align: justify;">Data Guard es la verdadera
tecnología de protección contra desastres de Oracle 12c. En él, tiene un mínimo
de dos bases de datos, principal y en espera. Data Guard tiene opciones para
múltiples sitios en espera, así como una configuración activo-activo.</span></p><div class="separator" style="clear: both; text-align: left;"><p class="MsoNormal" style="text-align: justify;"><o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;">Por activo-activo, significa que
ambos / todos los sitios están en funcionamiento, en funcionamiento y
accesibles. Esto se opone a los sitios que tienen una ubicación activa y las
otras deben iniciarse cuando se necesitan. Este es un ejemplo del diseño arquitectónico
general.<o:p></o:p></p><p class="MsoNormal" style="text-align: center;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUPtLhGDPMRBjGPYYFp_ZDKmkxbdu1r_0o2xD9zp6I1H0iHbt4xq9bukRQI_CgS0n9oFKoCShZMbQFV42ti2c0xXlcQLLGZbGEiw6VApPYfpiHo6MRLMRziQTImjtj4QL6VvBzCQGw30k/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="400" data-original-width="514" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUPtLhGDPMRBjGPYYFp_ZDKmkxbdu1r_0o2xD9zp6I1H0iHbt4xq9bukRQI_CgS0n9oFKoCShZMbQFV42ti2c0xXlcQLLGZbGEiw6VApPYfpiHo6MRLMRziQTImjtj4QL6VvBzCQGw30k/s16000/image.png" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><p></p><p class="MsoNormal">Arquitectura de Data Guard y Oracle 12c<o:p></o:p></p><div class="separator" style="clear: both;">
<p class="MsoNormal">Comenzar una descripción con la base de datos primaria es
fácil porque se diferencia muy poco de cualquier otra base de datos que pueda
tener. La única diferencia es lo que hace con sus registros de rehacer
archivados.<o:p></o:p></p>
<p class="MsoNormal">La base de datos principal escribe un conjunto de registros
de rehacer archivos en un área de recuperación de Flash o en un disco local.
Sin embargo, puede configurar uno o más destinos en un entorno de Data Guard.<o:p></o:p></p>
<p class="MsoNormal">El parámetro LOG_ARCHIVE_DEST_n puede tener este aspecto
para la configuración anterior:<o:p></o:p></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;"><span lang="EN-US">LOG_ARCHIVE_DEST_10
= 'UBICACIÓN = USE_DB_RECOVERY_FILE_DEST'<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;"><span lang="EN-US">LOG_ARCHIVE_DEST_1 =
'SERVICIO = PHYSDBY1 ARCH'<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm;">LOG_ARCHIVE_DEST_2 = 'SERVICIO = LOGSDBY1 LGWR'<o:p></o:p></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal"><span lang="EN-US"> </span></p>
<p class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><b>LOG_ARCHIVE_DEST_10</b>
está configurado para enviar registros de rehacer archivos al Área de recuperación
de Flash local. Se requiere un destino local para todas las bases de datos en
modo de registro de archivo.<o:p></o:p></p>
<p class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><b>LOG_ARCHIVE_DEST_1</b>
está configurado para enviar los registros de archivo a través del proceso de
archivado a un sitio remoto PHYSDBY1. El nombre del servicio para este sitio
remoto tiene una entrada en el archivo tnsnames.ora en el servidor primario.<o:p></o:p></p>
<p class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]--><b>LOG_ARCHIVE_DEST_2</b>
está configurado para enviar los registros de archivo a través del proceso LGWR
a un sitio remoto llamado LOGSDBY1. El nombre del servicio para este sitio
remoto también tiene una entrada en el archivo tnsnames.ora en el servidor
primario.<o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p> </o:p></p>
<p class="MsoNormal">¿Por qué la diferencia entre los métodos de envío ARCn y
LGWR? Eso tiene algo que ver con los modos de protección. Un entorno de Data
Guard tiene tres modos de protección.<o:p></o:p></p>
<p class="MsoNormal"><b>Disponibilidad máxima<o:p></o:p></b></p>
<p class="MsoNormal" style="text-align: justify;">El modo de protección de máxima
disponibilidad se compromete entre el rendimiento y la disponibilidad de datos.
Funciona mediante el uso de LGWR para escribir simultáneamente para rehacer
registros en los sitios principal y en espera. La degradación del rendimiento
viene en forma de procesos que tienen que esperar a que las entradas del
registro de rehacer se escriban en varias ubicaciones.<o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;">Las sesiones que emiten
confirmaciones deben esperar hasta que se haya registrado toda la información
necesaria en al menos un registro de rehacer de la base de datos en espera. Si
una sesión se bloquea debido a su incapacidad para escribir información de
rehacer, el resto de la base de datos sigue avanzando.<o:p></o:p></p>
<p class="MsoNormal"><b>Protección máxima<o:p></o:p></b></p>
<p class="MsoNormal" style="text-align: justify;">El modo de protección máxima es
similar a la disponibilidad máxima, excepto que si una sesión no puede
verificar que rehacer está escrito en el sitio remoto, la base de datos
principal se apaga.<o:p></o:p></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: 107%; margin-bottom: .0001pt; margin-bottom: 0cm;">Consejo: Configure al menos dos
sitios en espera para el modo de máxima protección. De esa manera, un sitio
en espera que deje de estar disponible no interrumpirá el servicio para toda
la aplicación. <o:p></o:p></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal" style="text-align: justify;"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align: justify;">Este modo verifica que no se
producirá ninguna pérdida de datos en caso de desastre a costa del rendimiento.<o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><b>Rendimiento máximo<o:p></o:p></b></p>
<p class="MsoNormal" style="text-align: justify;">El modo de protección de máximo
rendimiento separa el proceso de trasvase de registros de la base de datos
principal pasándolo al proceso de registro de archivo (ARCn). Al hacer esto,
todas las operaciones en el sitio principal pueden continuar sin esperar a que
se escriban las entradas de rehacer para rehacer los registros o rehacer el
envío.<o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p> </o:p></p>
<p class="MsoNormal" style="text-align: justify;">Esto se opone a los modos de
trasvase de registros que utilizan el escritor de registros para transferir
transacciones. El uso del escritor de registros puede ralentizar el
procesamiento de la transacción porque puede verse afectado por la
disponibilidad o el rendimiento de la red.<o:p></o:p></p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">El rendimiento máximo proporciona el nivel más
alto de rendimiento en el sitio principal a expensas de la divergencia de
datos. La divergencia de datos se produce cuando los datos de los dos sitios
comienzan a de sincronizarse. Los datos de rehacer del archivo no se envían
hasta que se llena todo el registro de rehacer del archivo. En el peor de los
casos, la pérdida de un sitio completo podría resultar en la pérdida de todos
los datos de un registro de rehacer de archivo (archive redo log).<o:p></o:p></p>
</td>
</tr>
</tbody></table>
<p class="MsoNormal" style="text-align: justify;"><o:p> </o:p></p>
<h2>Realización de operaciones de conmutación y conmutación por error<o:p></o:p></h2>
<p class="MsoNormal" style="text-align: justify;">Puede cambiar el procesamiento a
su sitio en espera de dos maneras:<o:p></o:p></p>
<p class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]-->La <b>conmutación</b>
(switchover) es un cambio planificado que puede ocurrir si desea realizar
mantenimiento en el sitio principal que requiere que no esté disponible. Esta
operación puede requerir unos minutos de inactividad en la aplicación, pero si
tiene que realizar un mantenimiento que dure una hora o más, el tiempo de
inactividad podría valer la pena. Esta operación se denomina cambio elegante
porque convierte el sitio principal en su sitio en espera y su sitio en espera
en el principal. Además, puede volver fácilmente al sitio principal original
sin tener que volver a crearlo desde cero.<o:p></o:p></p>
<p class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo2; text-align: justify; text-indent: -18.0pt;"><!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;">·<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;">
</span></span><!--[endif]-->La <b>conmutación
por error</b> (failover) ocurre cuando el sitio principal se ha visto
comprometido de alguna manera. Quizás fue una pérdida total del sitio, o quizás
descubrió daños físicos en un archivo de datos. No siempre, pero por lo general
después de una conmutación por error, debe volver a crear completamente el
sitio principal o recuperarlo de una copia de seguridad y reinstalarlo. Por lo
general, realiza una conmutación por error solo cuando ha determinado que
reparar el sitio principal llevará el tiempo suficiente para que prefiera no
tener una interrupción de la aplicación durante todo el tiempo.<o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;">Para realizar un cambio, siga
estos pasos:<o:p></o:p></p>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">1.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]--> En el primario actual, inicie sesión en SQL *
Plus y escriba lo siguiente:</h3><p class="MsoListParagraph" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><alter
database commit to switchover to physical standby;><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align: justify;"> Deberías ver esto:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><</span> Base de datos alterada<span style="color: #333333; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> ><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align: justify;">.<o:p></o:p></p>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">2.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Apague
la base de datos primaria:</h3><p class="MsoListParagraph" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p> </o:p><span style="background-color: whitesmoke; color: #333333; font-family: Calibri, sans-serif; font-size: 11pt; text-align: left;"><shutdown immediate></span></p>
<p class="child-para" style="background: white; box-sizing: border-box; line-height: 18.75pt; margin: 0cm 0cm 3.75pt; overflow: visible;"><span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Deberías ver esto:</span><span lang="EN-US" style="color: #707070; font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-hansi-theme-font: minor-latin;">:<o:p></o:p></span></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;"><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 4px; border: none; box-sizing: border-box; margin-bottom: 7.5pt; outline: none; overflow-wrap: break-word; overflow: auto; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Database closed.<o:p></o:p></span></pre><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Database dismounted.<o:p></o:p></span></pre><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">ORACLE instance shut down.<o:p></o:p></span></pre></div>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">3.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Inicie
la base de datos primaria en modo nomount:</h3><p class="MsoListParagraph" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; margin-left: -18.0pt; margin-right: 0cm; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 0cm;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <startup nomount><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align: justify;">Debería ver algo como esto:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">ORACLE instance started.<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Total System Global Area 789172224 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Fixed Size
2148552 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Variable Size
578815800 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database Buffers
201326592 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Redo Buffers
6881280 bytes<o:p></o:p></span></p>
</div>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">4.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Monte
la base de datos en espera:</h3><p class="MsoListParagraph" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><alter database mount standby database;><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align: justify;">Deberías ver esto:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database
altered.<o:p></o:p></span></p>
</div>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">5.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Iniciar
la recuperación:</h3><p class="MsoListParagraph" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><recover managed standby database disconnect;><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align: justify;">Ves esto:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Media
recovery complete.<o:p></o:p></span></p>
</div>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">6.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Inicie
sesión en SQL * Plus en el modo de espera actual y escriba lo siguiente:</h3><p class="MsoListParagraph" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><alter database commit to switchover to physical
primary;><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align: justify;">Deberías ver esto:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database
altered.<o:p></o:p></span></p>
</div>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">7.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Apague
la base de datos en espera:</h3><p class="MsoListParagraph" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;"><o:p> </o:p><span style="background-color: whitesmoke; color: #333333; font-family: Consolas; font-size: 10pt; text-align: left;"><shutdown
immediate></span></p>
<p class="MsoNormal" style="text-align: justify;">Deberías ver esto:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database closed.<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database dismounted.<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">ORACLE instance shut down.<o:p></o:p></span></p>
</div>
<h3 style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;">8.<span style="font-size: xx-small;"> </span>Asegúrese
de que todos los parámetros de inicialización apropiados estén configurados
para que esta base de datos se comporte correctamente como primaria.</h3><p class="MsoListParagraphCxSpFirst" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><o:p></o:p></p>
<p class="MsoListParagraphCxSpLast" style="mso-list: l2 level1 lfo3; text-align: justify; text-indent: -18.0pt;"><!--[if !supportLists]-->9.<span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;"> </span><!--[endif]-->Empiece
normalmente:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><startup><o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-align: justify;">Debería ver algo como esto:<o:p></o:p></p>
<div style="background: whitesmoke; border: solid #CCCCCC 1.0pt; mso-border-alt: solid #CCCCCC .75pt; mso-element: para-border-div; padding: 7.0pt 7.0pt 7.0pt 7.0pt;">
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">ORACLE instance started.<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Total System Global Area 789172224 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Fixed Size 2148552 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Variable Size
578815800 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database Buffers
201326592 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span lang="EN-US" style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-ansi-language: EN-US; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Redo Buffers
6881280 bytes<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database
mounted.<o:p></o:p></span></p>
<p class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: normal; margin-bottom: 7.5pt; padding: 0cm; word-break: break-all;"><span style="color: #333333; font-family: Consolas; font-size: 10.0pt; mso-bidi-font-family: "Courier New"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Database
opened.<o:p></o:p></span></p>
</div>
<span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: ES; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><div class="separator" style="clear: both;"><span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: ES; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><br /></span></div></span><h3 style="text-align: left;"><span style="font-family: "Calibri",sans-serif; font-size: 11.0pt; line-height: 107%; mso-ansi-language: ES; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Asegúrese de que los usuarios y las aplicaciones
puedan conectarse y utilizar la nueva instancia principal.</span></h3></div><p class="MsoNormal" style="text-align: center;"><br /><br /></p></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-89101870763987346852021-02-17T23:23:00.005+01:002021-02-17T23:36:04.782+01:00¿Hay vida más allá de Oracle? Diez ejemplos de reglas de cumplimiento de AML (Anti-money laundry)<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzymiNLBso12sPcbNVbBdUPRMqwaZatA6MlZnUMTZHwV9n81Ax6eymCDWUC0EbzZ4xyTd0zqo3Np3k4uqHGGpKiKKijn9lAQ8roQgLGGWHfAPj6qPdAmgZCf97qq7YeMUKkTNFz5sJGgc/s900/aml.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="600" data-original-width="900" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzymiNLBso12sPcbNVbBdUPRMqwaZatA6MlZnUMTZHwV9n81Ax6eymCDWUC0EbzZ4xyTd0zqo3Np3k4uqHGGpKiKKijn9lAQ8roQgLGGWHfAPj6qPdAmgZCf97qq7YeMUKkTNFz5sJGgc/s320/aml.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><p class="MsoNormal" style="text-align: justify;">Esos son los primeros pasos para mitigar riesgos de "Lavado de Dinero" en una institución financiera, esto es una introducción a una práctica habitual de despliegue de una herramienta de detección de fraude y lavado de dinero, tipo <b>NetReveal</b> o <b><a href="https://www.niceactimize.com/anti-money-laundering/" rel="nofollow" target="_blank">Nice Actimize</a>.</b></p><p class="MsoNormal" style="text-align: justify;">Los esquemas de "Lavado de Dinero" (LD) son difíciles de detectar. El objetivo de los equipos de cumplimiento en "fintechs", bancos, plataformas y procesadores de pagos es encontrar estos
patrones anormales en el mar de datos de transacciones que se generan todos los
días. Esto crea un acto de equilibrio crítico en el que las reglas deben
detectar todas las malas actividades sin ser tan amplias que generen <b>falsos
positivos abrumadores</b>.<o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;">Al establecer un programa de
cumplimiento, uno de los pasos más importantes es establecer el conjunto
<i>inicial de regla</i>s. Con el tiempo, este conjunto de reglas crecerá a medida que
se detecten nuevos esquemas y se creen las reglas correspondientes. Pero ese
primer conjunto de reglas es fundamental para lanzar rápidamente un programa de
cumplimiento y preparar a su equipo para el éxito futuro.<o:p></o:p></p>
<p class="MsoNormal" style="text-align: justify;">La creación de reglas puede ser
un verdadero desafío, ya que cada situación empresarial tiene diferentes
factores de riesgo y umbrales adecuados. Sin embargo, existen algunas
estructuras de reglas básicas que todo equipo de cumplimiento debería
considerar implementar para cubrir los esquemas más comunes.<o:p></o:p></p><p class="MsoNormal" style="text-align: justify;"><br /></p><p class="MsoNormal" style="text-align: justify;"></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX1h0TJrJovb5qmToQ1rSmywdaI9uJ_mOWtwprjD0n7NQD34al5gqq8sZ26QKfWUjE_vjyQDM6VRsfKbLizQipGtnho4wa-3bAMFSf-T_5JtuweSMlbaelrsyEfzOblbVP323IeTK4rPc/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="439" data-original-width="679" height="414" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX1h0TJrJovb5qmToQ1rSmywdaI9uJ_mOWtwprjD0n7NQD34al5gqq8sZ26QKfWUjE_vjyQDM6VRsfKbLizQipGtnho4wa-3bAMFSf-T_5JtuweSMlbaelrsyEfzOblbVP323IeTK4rPc/w640-h414/image.png" width="640" /></a></div><p><i>Ejemplo un escenario "Comercial" de detección que identifique si se han realizado transacciones de crédito en efectivo en más de 5 sucursales durante la semana actual y si el valor acumulado de estas transacciones es superior a 100000</i></p><br /></div><span style="text-align: justify;">A continuación, se muestran 10 reglas universales contra el lavado de dinero (AML) que los departamentos de cumplimiento deben considerar ejecutar en todas sus transacciones. Estas reglas están pensadas como un punto de entrada para cualquiera que busque establecer un programa de cumplimiento que incluya fintechs, plataformas de pago, bancos desafiantes y mercados.</span><br /><p></p><h3 style="text-align: justify;">1. Estructuración en el tiempo</h3></div><p></p><p class="MsoNormal" style="text-align: justify;">Esta regla detecta una proporción excesiva de transacciones apenas por debajo de un umbral interno o de informes. En el siguiente ejemplo, el umbral es de $ 10,000 y estamos buscando un patrón en el que las transacciones para la parte caigan en gran medida entre $ 9,000 y $ 10,000 durante un período de 60 días.</p><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="593">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><span lang="EN-US" style="color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;"><br style="box-sizing: border-box;" />
<span style="background: white;">(PARTY_PAY_OUT_NUMBER_OF_TRANSACTION_AMOUNTS_BETWEEN_9000_AND_10000_LAST_60_DAYS
+ PARTY_PAY_IN_NUMBER_OF_TRANSACTION_AMOUNTS_BETWEEN_9000_AND_10000_LAST_60_DAYS)
/ (PARTY_PAY_OUT_NUMBER_OF_TRANSACTIONS_LAST_60_DAYS +
PARTY_PAY_IN_NUMBER_OF_TRANSACTIONS_LAST_60_DAYS) > .1</span></span><span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table><div class="separator" style="clear: both; text-align: left;"><h3 style="clear: both; text-align: left;"><br />2. Cambio de perfil antes de una transacción importante</h3><div class="separator" style="clear: both;">Esta regla identifica una situación en la que un cliente realiza un cambio de perfil en la información de identificación personal (PII) poco antes de realizar una transacción grande (en este ejemplo, una transacción superior a $ 750). Esto puede indicar una toma de control de la cuenta o una posible actividad de "estratificación" para ocultar el camino de los fondos.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><span lang="EN-US" style="color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;"><br style="-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;" />
<span style="background: white;"><span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;">PARTY_DAYS_SINCE_LAST_MODIFIED_PII < 2
&& AMOUNT_VALUE > 750</span></span></span><span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table><h3 style="clear: both; text-align: left;"><br />3. Volumen de transacciones anormalmente alto</h3><div class="separator" style="clear: both;">Esta regla identifica a las partes con volúmenes de transacciones de pago anormalmente altos. Una regla como esta es apropiada para una red de pago de igual a igual con la capacidad de retirar fondos a una cuenta externa. En este ejemplo simple, el umbral está codificado en 300 transacciones durante 30 días; ambas variables se establecerían para su modelo de negocio.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none;"><tbody><tr><td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566"><p class="MsoNormal" style="line-height: normal; margin-bottom: 0.0001pt;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt;">Sample Expression:</span><span lang="EN-US" style="color: #323132; font-size: 10pt;"><br style="box-sizing: border-box;" /><span face="Calibri, sans-serif" lang="EN-US" style="background: white; font-size: 10pt; line-height: 107%;">PARTY_PAY_OUT_NUMBER_OF_TRANSACTIONS_LAST_30_DAYS
> 300</span></span></p></td></tr></tbody></table><h3 style="text-align: justify;"><br />4. Aumento anómalo del volumen total de transacciones</h3><p class="MsoNormal" style="text-align: justify;"><span lang="EN-US"></span></p><p class="MsoNormal" style="text-align: justify;">Esta regla identifica un aumento significativo en el valor de las transacciones salientes de una parte en comparación con su promedio reciente. Busca partes con actividad reciente en las que el valor de transacción de la parte sea sustancialmente más alto que el promedio móvil de 7 días. La regla filtra las partes que han existido durante un corto período de tiempo, las partes con un saldo bajo y un valor de transacción saliente bajo durante la ventana de tiempo relevante.</p></div><div class="separator" style="clear: both;">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><br style="box-sizing: border-box;" />
(PARTY_PAY_OUT_NUMBER_OF_ALL_TRANSACTIONS_LAST_7_DAYS) /
(PARTY_PAY_OUT_NUMBER_OF_ALL_TRANSACTIONS_LAST_14_DAYS –
PARTY_PAY_OUT_NUMBER_OF_ALL_TRANSACTIONS_LAST_7_DAYS) > 2 &&
PARTY_INSIGHT_BALANCE_VALUE > 5000 && ((new Date() –
PARTY_SOURCE_CREATED)/(60*60*24*1000)) > 60 &&
PARTY_NUMBER_OF_ALL_TRANSACTIONS_LAST_14_DAYS > 10<span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table></div><div class="separator" style="clear: both;"><h3 style="text-align: justify;"><span lang="EN-US"> </span>5. Pago propio por dirección IP</h3><p class="MsoNormal" style="text-align: justify;">Esta regla identifica transferencias entre partes con la misma dirección IP.</p><p class="MsoNormal" style="text-align: justify;">(Esta regla no era de la partida cuando empecé con esto por 2012) </p>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><br style="box-sizing: border-box;" />
PARTY_GEO_CODE_IP_ADDRESS ==
REFERENCE_PARTY_GEO_CODE_IP_ADDRESS<span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table>
<h3 style="text-align: justify;"><span lang="EN-US"> </span><span style="text-align: left;">6. Actividad excesiva de flujo continuo</span></h3></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">Esta regla identifica las partes en las que el valor total de los créditos es similar al valor total de los débitos en un período de tiempo corto. En este ejemplo, la regla está codificada para cubrir 7 días. Una regla como esta es apropiada para un servicio que generalmente ofrece la recolección de fondos donde no esperaría ver una actividad de gasto comparable (por ejemplo, un mercado de bienes y servicios).</div><div class="separator" style="clear: both;"><span style="text-align: justify;"> </span></div><div class="separator" style="clear: both;">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><br style="box-sizing: border-box;" />
PARTY_PAY_IN_VALUE_OF_TOTAL_AMOUNT_TRANSACTIONS_LAST_7_DAYS
> .9 * PARTY_PAY_OUT_VALUE_OF_TOTAL_AMOUNT_TRANSACTIONS_LAST_7_DAYS
&& PARTY_PAY_IN_VALUE_OF_TOTAL_AMOUNT_TRANSACTIONS_LAST_7_DAYS <
1.1 * PARTY_PAY_OUT_VALUE_OF_TOTAL_AMOUNT_TRANSACTIONS_LAST_7_DAYS &&
PARTY_PAY_IN_VALUE_OF_TOTAL_AMOUNT_TRANSACTIONS_LAST_7_DAYS > 30000<span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table>
<h3 style="text-align: justify;"><span lang="EN-US"> </span><span style="text-align: left;">7. Comportamiento de gasto sospechoso de los usuarios</span></h3></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">Esta regla identifica transacciones que se desvían mucho del comportamiento de gasto estándar de la parte. Esto puede indicar una toma de control de la cuenta o una transacción influenciada externamente. Incluye un límite inferior de $ 500, que es posible que desee modificar para evitar la creación de falsos positivos excesivos.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;">
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><br style="-webkit-text-stroke-width: 0px; box-sizing: border-box; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;" />
<span style="-webkit-text-stroke-width: 0px; float: none; font-variant-caps: normal; font-variant-ligatures: normal; orphans: 2; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; widows: 2; word-spacing: 0px;">((TOTAL_PRICE_VALUE –
BUYER_AVG_VALUE_OF_TOTAL_PRICE_USD_TRANSACTIONS_LAST_60_DAYS) /
BUYER_STDDEV_VALUE_OF_TOTAL_PRICE_USD_TRANSACTIONS_LAST_60_DAYS) > 1.5
&& TOTAL_PRICE_VALUE > 500</span><span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table>
<h3 style="text-align: justify;"><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p> </o:p></span>8. Baja diversidad de compradores</h3><p class="MsoNormal" style="text-align: justify;">Esta regla es la más adecuada para una plataforma en la que generalmente ve a muchos compradores (remitentes) interactuando con un solo vendedor (destinatario). Identifica a los comerciantes que solo reciben pagos de una pequeña cantidad de compradores (en este ejemplo, menos de 10). Esta regla solo se activa para las cuentas más antiguas que el umbral establecido para validar la diversidad baja a lo largo del tiempo y permitir que los comerciantes aumenten su interacción.</p><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><br style="box-sizing: border-box;" />
SELLER_ACCOUNT_AGE_DAYS > 90 &&
SELLER_NUMBER_OF_UNIQUE_BUYERS <= 10<span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table><p class="MsoNormal" style="text-align: justify;">
</p><h3 style="text-align: justify;"><span lang="EN-US"> </span>9. Mensaje de vendedor a comprador bajo</h3><p class="MsoNormal" style="text-align: justify;">Esta regla, como la número 8 anterior, se adapta bien a una plataforma que permite una relación comprador / vendedor. Es más útil para plataformas que rastrean la frecuencia de comunicación entre compradores y vendedores en el servicio. Identifica a los comerciantes con altos ingresos pero muy pocos mensajes enviados, lo que podría indicar colusión o lavado de dinero en lugar de una actividad comercial convencional. Esta regla se activa en función de un umbral de porcentaje ajustable de mensajes enviados por USD ganado.</p><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><br style="box-sizing: border-box;" />
(SELLER_NUMBER_OF_MESSAGES_SENT / SELLER_TOTAL_EARNINGS_VALUE)
< .013 && SELLER_NUMBER_OF_MESSAGES_SENT > 10<span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table><p class="MsoNormal" style="text-align: justify;">
</p><h3 style="text-align: justify;">10. Alto recuento de transacciones de nuevos usuarios</h3><p class="MsoNormal" style="text-align: justify;">Esta regla, como la n. ° 8 y la n. ° 9 anteriores, se adapta bien a una plataforma que permite una relación comprador / vendedor. Identifica a los comerciantes con un alto porcentaje de su actividad proveniente de nuevas cuentas, una posible señal de alerta por lavado de dinero o fraude convencional.</p><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span lang="EN-US" style="background: white; color: #323132; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Arial;">Sample Expression:</span><br style="box-sizing: border-box;" />
(SERVICE_NUMBER_OF_BUYERS_USER_CREATED_LAST_30_DAYS /
SERVICE_NUMBER_OF_BUYERS) > .5<span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US;"><o:p></o:p></span></p>
</td>
</tr>
</tbody></table><p class="MsoNormal" style="text-align: justify;">
</p><h4 style="text-align: justify;"><span lang="EN-US"> </span>¿Quieres implementar rápidamente estas reglas y lanzar tu programa de cumplimiento?</h4><p class="MsoNormal" style="text-align: justify;">Hace pocos años como consultor técnico de una firma internacional ayudaba a fintechs, bancos, corredores de bolsa, entidades que usan <i>blockchain</i> y otros grupos financieros regulados que necesitan cumplir con los requisitos regulatorios contra el lavado de dinero (<b>AML</b>), conozca a su cliente (<b>KYC</b>) y reporte de actividades sospechosas (<b>SAR</b>). .</p><p class="MsoNormal" style="text-align: justify;"><br /></p><p class="MsoNormal" style="text-align: justify;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvP6tY9UlvZUph02BUC4BlGNL6aszky337S4_5UF8iujrEpf_5WGtjcvBGi2lpWoP1_GNcqTMvx4AGV2-W2mYgKdtpRbfhyphenhyphenqSYKYOfg-k0k07KlWszrSQecaaAgeYiHagL8qhtTCobVeE/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="423" data-original-width="475" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvP6tY9UlvZUph02BUC4BlGNL6aszky337S4_5UF8iujrEpf_5WGtjcvBGi2lpWoP1_GNcqTMvx4AGV2-W2mYgKdtpRbfhyphenhyphenqSYKYOfg-k0k07KlWszrSQecaaAgeYiHagL8qhtTCobVeE/w400-h356/image.png" width="400" /></a></div><br /><br /><p></p></div></div></div></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com1tag:blogger.com,1999:blog-2318177925841783185.post-15929075502931693922021-02-15T19:20:00.001+01:002021-02-15T19:28:17.902+01:00¿Hay vida más allá de Oracle?, Hoy, Voldemort a.k.a Amazon Dynamo<h3 style="text-align: center;"> <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL1tgfkqQCPz0_27EJ2vhlkF6zyvZMM2mk0FH-tkm-VQkl3UJ2FofgyfGz5YBFnx26OH1uFRV7yvTqxZDqm3BZ97pWLVdybsvsaqRLvjuMmYZSctTD3vn0aG74twB1EDWQMJmRDpzQjnI/s90/voldemort_logo.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="83" data-original-width="90" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhL1tgfkqQCPz0_27EJ2vhlkF6zyvZMM2mk0FH-tkm-VQkl3UJ2FofgyfGz5YBFnx26OH1uFRV7yvTqxZDqm3BZ97pWLVdybsvsaqRLvjuMmYZSctTD3vn0aG74twB1EDWQMJmRDpzQjnI/w200-h184/voldemort_logo.png" width="200" /></a></div><br /></h3><h3 style="text-align: left;">Voldemort es un sistema de almacenamiento de valor clave distribuido</h3><p></p><ul style="text-align: left;"><li>Los datos se replican automáticamente en varios servidores.</li><li>Los datos se particionan automáticamente para que cada servidor contenga solo un subconjunto de los datos totales</li><li>Proporciona una consistencia ajustable (quórum estricto o consistencia eventual)</li><li>La falla del servidor se maneja de manera transparente</li><li>Motores de almacenamiento conectables: BDB-JE, MySQL, solo lectura</li><li>Serialización conectable - Búferes de protocolo, Thrift, Avro y serialización de Java</li><li>Los elementos de datos se versionan para maximizar la integridad de los datos en escenarios de falla sin comprometer la disponibilidad del sistema</li><li>Cada nodo es independiente de otros nodos sin un punto central de falla o coordinación.</li><li>Buen rendimiento de un solo nodo: puede esperar de 10 a 20.000 operaciones por segundo, según las máquinas, la red, el sistema de disco y el factor de replicación de datos</li><li>Soporte para estrategias de colocación de datos conectables para respaldar cosas como la distribución entre centros de datos que están geográficamente alejados.</li></ul>Es utilizado en LinkedIn por numerosos servicios críticos que impulsan una gran parte del sitio.<p></p><h4 style="text-align: left;">Comparación con bases de datos relacionales</h4><div>Voldemort no es una base de datos relacional, no intenta satisfacer relaciones arbitrarias mientras satisface las propiedades ACID. Tampoco es una base de datos de objetos que intenta mapear de forma transparente gráficos de referencia de objetos. Tampoco introduce una nueva abstracción como la orientación al documento. Es básicamente una tabla hash grande, distribuida, persistente y tolerante a fallas. Para aplicaciones que pueden utilizar un mapeador O / R como registro activo o hibernación, esto proporcionará escalabilidad horizontal y una disponibilidad mucho mayor, pero con una gran pérdida de conveniencia. Para aplicaciones grandes bajo presión de escalabilidad del tipo de Internet, un sistema probablemente puede consistir en una serie de servicios o API funcionalmente particionados, que pueden administrar recursos de almacenamiento en múltiples centros de datos utilizando sistemas de almacenamiento que a su vez pueden estar divididos horizontalmente. Para las aplicaciones en este espacio, las uniones arbitrarias en la base de datos ya son imposibles ya que todos los datos no están disponibles en una sola base de datos. Un patrón típico es introducir una capa de almacenamiento en caché que de todos modos requerirá semántica de tabla hash. Para estas aplicaciones, Voldemort ofrece una serie de ventajas:</div><div><ul style="text-align: left;"><li>Voldemort combina el almacenamiento en caché de la memoria con el sistema de almacenamiento para que no se requiera un nivel de almacenamiento en caché separado (en cambio, el sistema de almacenamiento en sí es simplemente rápido)</li><li>A diferencia de la replicación de MySQL, tanto las lecturas como las escrituras escalan horizontalmente</li><li>El reparto de datos es transparente y permite la expansión del clúster sin reequilibrar todos los datos.</li><li>La replicación y ubicación de datos se decide mediante una API simple para poder adaptarse a una amplia gama de estrategias específicas de la aplicación</li><li>La capa de almacenamiento es completamente simulada, por lo que el desarrollo y las pruebas unitarias se pueden realizar en un sistema de almacenamiento en memoria desechable sin necesidad de un clúster real (o incluso un sistema de almacenamiento real) para realizar pruebas simples.</li></ul><div>Este software</div><div><br /></div><div><h3 style="text-align: left;">Configuración</h3><div>Hay tres archivos de configuración que controlan el funcionamiento del servidor:</div><div><br /></div><div><ul style="text-align: left;"><li><b>cluster.xml</b>: contiene la información sobre todos los nodos (es decir, servidores) en el clúster, en qué nombre de host se encuentran, los puertos que usan, etc. Es exactamente lo mismo para todos los nodos de voldemort. No contiene parámetros de ajuste ni directorios de datos para esos nodos, ya que esa información no es pública para el clúster, sino que es específica de esa configuración de nodos en particular.</li><li><b>stores.xml</b>: contiene la información sobre todas las tiendas (es decir, tablas) en el clúster. Esto incluye información sobre el número necesario de lecturas correctas para mantener la coherencia, el número necesario de escrituras, así como cómo las claves y los valores se serializan en bytes. Es igual en todos los nodos del clúster.</li><li><b>server.properties</b>: contiene los parámetros de ajuste que controlan un nodo en particular. Esto incluye la identificación del nodo local para que sepa qué entrada en cluster.xml corresponde a sí mismo, también el tamaño de la agrupación de subprocesos, así como cualquier configuración necesaria para el motor de persistencia local como BDB o mysql. Este archivo es diferente en cada nodo. Finalmente, hay una variable de entorno, VOLDEMORT_HOME, que controla el directorio en el que residen los datos y la configuración. Puede ver un ejemplo de cómo se presenta la configuración en el subdirectorio config / del proyecto. Esto incluye configuraciones de muestra que puede modificar con sus propios detalles.</li></ul><h3 style="text-align: left;">Configuración de clúster</h3><div>A continuación, se muestra un cluster.xml de ejemplo para un clúster de 2 nodos con 8 particiones de datos. También tenemos campos de 'zona' opcionales que le permiten mapear nodos a ciertos clústeres lógicos (centro de datos, rack, etc.) llamados zonas:</div></div></div><div><br /></div><div><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody><tr>
<td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><cluster><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <!--
The name is just to help users identify this cluster from the gui --><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<name>mycluster</name><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<zone><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<zone-id>0</zone-id><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<proximity-list>1</proximity-list><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<zone><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<zone><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<zone-id>1</zone-id><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <proximity-list>0</proximity-list><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<zone><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<server><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <o:p></o:p></span></i><span style="background-color: transparent; font-size: 13.3333px;"><span style="color: #222222;"><i><! - La identificación del nodo es una identificación secuencial única que comienza con 0 que identifica a cada servidor en el clúster -></i></span></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<id>0</id><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<host>vldmt1.prod.linkedin.com</host><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<http-port>8081</http-port><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<socket-port>6666</socket-port><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<admin-port>6667</admin-port><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <o:p></o:p></span></i><span style="background-color: transparent; font-size: 13.3333px;"><span style="color: #222222;"><i><! - Una lista de particiones de datos asignadas a este servidor -></i></span></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<partitions>0,1,2,3</partitions><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<zone-id>0</zone-id><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
</server><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<server><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<id>1</id><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<host>vldmt2.prod.linkedin.com</host><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<http-port>8081</http-port><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<socket-port>6666</socket-port><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<admin-port>6667</admin-port><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
<partitions>4,5,6,7</partitions><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span lang="EN-US" style="color: #222222; font-size: 10pt; mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span></i><i><span style="color: #222222; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><zone-id>1</zone-id><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span style="color: #222222; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </server><o:p></o:p></span></i></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 0cm; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;"><i><span style="color: #222222; font-size: 10pt; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </cluster><o:p></o:p></span></i></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><o:p> </o:p></p>
</td>
</tr>
</tbody></table></div><div><br /></div><div>Una cosa que es importante entender es que las particiones no son particiones estáticas de servidores, sino que son un mecanismo para particionar el espacio de claves de tal manera que cada clave se asigna estáticamente a una partición de datos en particular. Esto significa que un clúster en particular puede admitir muchas tiendas, cada una con diferentes factores de replicación; el factor de replicación no está codificado en el diseño del clúster. Esto es importante, ya que algunos datos son más importantes que otros, y la compensación correcta entre rendimiento y consistencia para una tienda puede ser diferente de otra.</div><div><br /></div><div>Otro punto importante para recordar es que no se puede cambiar el número de particiones de datos. Apoyamos una redistribución en línea (reequilibrio) de particiones. En otras palabras, la inclusión de nuevos nodos da como resultado el traslado de la propiedad de las particiones, pero el número total de particiones siempre será el mismo, al igual que la asignación de clave a partición. Esto significa que es importante dar un buen número de particiones para empezar. El script aquí generará esta parte de la configuración por usted.</div><div><br /></div><h3 style="text-align: left;">Gestión de BDB</h3><div>El almacén de clave-valor subyacente también es importante para la configuración y la gestión de operaciones. Si se utiliza BDB, toda la configuración se realiza a través del archivo server.properties. Si se utiliza MySQL, se debe realizar la administración habitual de mysql.</div><div><br /></div><div><u><b>Oracle</b> tiene una reseña que brinda una buena descripción general del lado operativo de BDB.</u></div><div><u><br /></u></div><div><table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;"><tbody><tr><td style="border: 1pt solid windowtext; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 424.7pt;" valign="top" width="566">
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><b>Oracle NoSQL Database</b> es una base de
datos NoSQL tipo clave-valor (del estilo de Redis o Voldemort):<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Sus principales características son:<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><b>Arquitectura</b><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">· Está construida sobre Oracle
Berkeley DB Java Edition sobre la que añade una capa de servicios para usarse
en entornos distribuidos<o:p></o:p></span></p><p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhynIvZ5tldGoOALJm-uCSQ7Iiq3PyQrJtfqZKxHOhXDsTBSvJBNZcYh_h2AKBaFBOuI-iXYJJnil_o5XTjL8Ryijb0jlnWw-bAkTMAvHfkuz9cwqSp6XrhGTsg3KdLvQG58xKRJAX06Po/s468/arquitectura.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="357" data-original-width="468" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhynIvZ5tldGoOALJm-uCSQ7Iiq3PyQrJtfqZKxHOhXDsTBSvJBNZcYh_h2AKBaFBOuI-iXYJJnil_o5XTjL8Ryijb0jlnWw-bAkTMAvHfkuz9cwqSp6XrhGTsg3KdLvQG58xKRJAX06Po/w400-h305/arquitectura.png" width="400" /></a></div><br /><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><br /></span><p></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><b> Alta Disponibilidad y No-Single Point of
Failure</b><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"></p><ul><li><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Provee replicación de base de datos
1 Master-Multi-Replica</span></li><li><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Las datos transaccionales se
replican</span></li></ul><p></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <b>Balanceo de carga transparente:</b><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">· El Driver de Oracle NoSQL particiona
los datos en tiempo real y los distribuye sobre los nodos de almacenaminto<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">· Su topología rutea las operaciones
de escritura y lectura al nodo de almacenamiento más adecuado para optimizar
la distribución de carga y rendimiento<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><b>Formato JSON</b><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">· La version 2 añade sopote para
serialización con Avro, lo que permite definer un schema en JSON para los
datos almacenados<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><b>Topologías configurables</b><o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">· Los administradores pueden indicar
cuanta capacidad está disponible en un nodo de almacenamiento permitiendo a
los nodos con más capacidad almacenar varios nodos de replicación<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><b>Administación sencilla y
Monitorización</b>:<o:p></o:p></span></p>
<p class="MsoNormal" style="background: white; line-height: normal; margin-bottom: 18pt; mso-margin-top-alt: auto;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">· Oracle NoSQL suministra un servicio
de administración, tanto por consola web<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height: normal; margin-bottom: 0cm;"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span></p>
</td>
</tr>
</tbody></table>
<span face=""Calibri",sans-serif" style="color: #404040; font-size: 11pt; line-height: 107%; mso-ansi-language: ES; mso-ascii-theme-font: minor-latin; mso-bidi-language: AR-SA; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-theme-font: minor-latin;"><br clear="all" style="break-before: page; mso-special-character: line-break; page-break-before: always;" />
</span>
<p class="MsoNormal"><span style="color: #404040; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span></p></div><h3 style="text-align: left;">Algunas sugerencias adicionales</h3><h4 style="text-align: left;">Configuración de JVM</h4><div>En LinkedIn mantenemos dos conjuntos de clústeres, de solo lectura y de lectura y escritura. Los clústeres de lectura y escritura son clústeres que utilizan almacenes BDB y tienen características de JVM totalmente diferentes de los que utilizan almacenes de solo lectura. Esto es lo que usamos en LinkedIn para nuestras tiendas de lectura y escritura:</div><div><br /></div><div> # Tamaño mínimo, máximo y total de JVM</div><div> JVM_SIZE = "- servidor -Xms32g -Xmx32g"</div><div><br /></div><div> # Tamaños de nueva generación</div><div> JVM_SIZE_NEW = "- XX: NewSize = 2048m -XX: MaxNewSize = 2048m"</div><div><br /></div><div> # Tipo de recolector de basura a usar</div><div> JVM_GC_TYPE = "- XX: + UseConcMarkSweepGC -XX: + UseParNewGC"</div><div><br /></div><div> # Opciones de ajuste para el recolector de basura anterior</div><div> JVM_GC_OPTS = "- XX: CMSInitiatingOccupancyFraction = 70 -XX: SurvivorRatio = 2"</div><div><br /></div><div> # Configuración de registro de actividad de JVM GC</div><div> JVM_GC_LOG = "- XX: + PrintTenuringDistribution -XX: + PrintGCDetails -XX: + PrintGCDateStamps -Xloggc: $ LOG_DIR / gc.log"</div><div><br /></div><div>Tener en cuenta que debe usar la marca simultánea y el barrido gc o, de lo contrario, el GC se detiene para recolectar un montón tan grande que causará períodos que no responden (tampoco sucede al principio, se arrastra y luego finalmente entra en una espiral de gc pause death ).</div><div><br /></div><div>Esta es la configuración en una caja de RAM de 48 GB con un tamaño de caché BDB de 20 GB y 1 hilo más limpio, en SSD. Puede encontrar la configuración completa en config / prod_single_node_cluster. Para abrir un servidor con esta configuración, use bin / voldemort-prod-server.sh</div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-40684975242679255412021-02-11T11:11:00.003+01:002021-02-11T11:11:22.037+01:00Prácticas recomendadas de copia de seguridad y recuperación de bases de datos<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoQ5_NeGRjxX3_fb37IB3fUDRP5-D7NTMFEuV9Jo2345XAVbDlfJyoYUyicdDKeCRo5_ZDKzn0jzHlQ4hzEjh0lKlPEoPsitt1oHSD9E6nobSNyu5gVSD66fY2P37jI3OhwZPvXc-MsW8/s299/oracle+auditoria.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="168" data-original-width="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoQ5_NeGRjxX3_fb37IB3fUDRP5-D7NTMFEuV9Jo2345XAVbDlfJyoYUyicdDKeCRo5_ZDKzn0jzHlQ4hzEjh0lKlPEoPsitt1oHSD9E6nobSNyu5gVSD66fY2P37jI3OhwZPvXc-MsW8/s0/oracle+auditoria.png" /></a></div><p></p><div class="separator" style="clear: both;">La capacidad de restaurar bases de datos a partir de copias de seguridad válidas es una parte vital para garantizar la continuidad del negocio. La integridad de la copia de seguridad y las restauraciones son una pieza importante de los objetivos de control de TI del <a href="https://www.amazon.com.mx/Objetivos-control-para-Sarbanes-Oxley-edici%C3%B3n/dp/1933284765" rel="nofollow" target="_blank">IT Governance Institute para Sarbanes-Oxley, 2.ª edición</a>. En muchos casos, los auditores de TI simplemente confirman si las copias de seguridad se están realizando en disco o en cinta, sin considerar la integridad o viabilidad de los medios de copia de seguridad.</div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Este artículo cubre los temas relacionados con la pérdida de datos y los tipos de respaldo y recuperación de bases de datos disponibles. También se proporcionan las mejores prácticas que pueden ayudar a un auditor a evaluar la efectividad de la copia de seguridad y recuperación de la base de datos. Este artículo se centra en las tecnologías y capacidades del sistema de administración de bases de datos relacionales (RDBMS) de <b style="background-color: white;"><span style="color: red;">Oracle</span></b> y <span style="background-color: white;"><span style="color: #2b00fe;"><b>Microsoft (MS) SQL Server</b></span></span> porque, en conjunto, cubren aproximadamente el 40 por ciento de todas las instalaciones de bases de datos. </div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Una de las responsabilidades clave de un administrador de bases de datos (DBA) es prepararse para la posibilidad de fallas en los medios, hardware y software, así como recuperar bases de datos durante un desastre. En caso de que ocurra alguna de estas fallas, el objetivo principal es garantizar que la base de datos esté disponible para los usuarios dentro de un período de tiempo aceptable, al tiempo que se asegura que no haya pérdida de datos. Los administradores de bases de datos deben evaluar su preparación para responder eficazmente a tales situaciones respondiendo las siguientes preguntas:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>¿Qué tan seguro está el DBA de que los datos de los que depende el negocio de la empresa se hayan respaldado correctamente y que los datos se pueden recuperar de estos respaldos dentro de los límites de tiempo permitidos, según un acuerdo de nivel de servicio (SLA) o el objetivo de tiempo de recuperación, como se especifica en el plan de recuperación ante desastres de la organización?</li><li>¿Ha tomado el DBA medidas para redactar y probar los procedimientos para proteger y recuperar las bases de datos de numerosos tipos de fallas?</li></ul><div class="separator" style="clear: both;">La siguiente es una lista de verificación para los procedimientos de copia de seguridad y recuperación de la base de datos que se explican a lo largo de este artículo:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Desarrolle un plan de respaldo integral.</li><li>Realice una gestión de copias de seguridad eficaz.</li><li>Realice pruebas periódicas de restauración de bases de datos.</li><li>Tener SLA de respaldo y recuperación redactados y comunicados a todas las partes interesadas.</li><li>Haga que se redacte y documente la parte de la base de datos del plan de recuperación ante desastres (DRP).</li><li>Mantenga actualizados sus conocimientos y experiencia sobre las herramientas de copia de seguridad y recuperación de bases de datos y sistemas operativos.</li></ul><h3 style="clear: both; text-align: left;">Plan de respaldo integral</h3><div class="separator" style="clear: both;">Los DBA son responsables de elaborar un plan de respaldo integral para las bases de datos de las que son responsables. El plan de respaldo debe incluir todos los tipos de RDBMS dentro de la empresa y debe cubrir las siguientes áreas:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><ul style="text-align: left;"><li><b>Decide qué necesitas respaldar</b>. Es imperativo que el DBA esté al tanto de la base de datos y los componentes de aplicaciones y sistemas operativos relacionados que deben respaldarse, ya sea mediante una copia de seguridad en línea o una copia de seguridad en frío fuera de línea.</li></ul><span> </span><span> </span><span> </span>Los siguientes son detalles de lo que se debe respaldar: </div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;"><ul style="text-align: left;"><ul><li><b>Software del sistema operativo</b>: un evento como una falla de hardware requerirá una restauración completa del sistema, comenzando con el sistema operativo, por lo que es necesario realizar una copia de seguridad del sistema operativo del servidor de base de datos inicialmente y después de cualquier actualización del sistema o cambio de configuración.</li><li><b>Software RDBMS</b>: se debe realizar una copia de seguridad del software RDBMS inicialmente y después de cualquier parche / actualización.</li><li><b>Software de aplicación (</b><i>cuando corresponda</i><b>)</b>: esto se aplica especialmente a Oracle E-Business Suite, Oracle Application Server y Oracle Enterprise Manager (OEM). El administrador de bases de datos de la aplicación debe completar una copia de seguridad completa inicial de las aplicaciones en el disco utilizando un comando del sistema operativo apropiado y, luego, programar futuras copias de seguridad incrementales, por ejemplo, después de cualquier parche / actualización. Estas copias de seguridad también deben transferirse a cinta.</li><li><b>Contraseñas</b>: se deben conservar todas las contraseñas de superusuario que puedan ser necesarias durante la recuperación. Es una buena idea asegurarse de que se cambien las contraseñas predeterminadas que vinieron con la instalación inicial del RDBMS.</li><li>Todos los componentes de las <b><span style="color: red;">bases de datos de Oracle</span></b>:</li><ul><li><b>Archivo de parámetros de la base de datos</b>: un archivo de parámetros o un archivo de parámetros del servidor (SPFILE) define los parámetros de inicialización persistentes de una base de datos, incluida la información sobre los archivos de control de la base de datos.</li><li><b>Archivo (s) de control de la base de datos</b>: el archivo de control almacena el estado de la estructura física de la base de datos. Si deja de estar disponible, la base de datos no puede funcionar. Es imperativo que se realice una copia de seguridad de estos archivos mientras se realiza una copia de seguridad de otros componentes de la base de datos. En versiones posteriores de Oracle (9i en adelante), el DBA puede configurar la copia de seguridad automática del archivo de parámetros, así como el archivo de control, para garantizar que se realice una copia de seguridad de estos después de cada copia de seguridad y después de cualquier cambio estructural en la base de datos.</li><li><b>Archivos de datos de la base de datos</b>: estos deben respaldarse durante la copia de seguridad en frío, así como durante la copia de seguridad en línea, utilizando el Administrador de recuperación de Oracle (RMAN) o, en las versiones de Oracle Database en las que no se introdujo RMAN, colocando los espacios de tabla en modo de copia de seguridad. El DBA debe intentar ejecutar todas las bases de datos de producción en el modo de registro de archivo para que sea posible la recuperación hasta el punto de falla.</li><li><b>Rehacer los archivos de registro y los registros de rehacer archivado</b>s: mientras realiza una copia de seguridad en frío, el DBA necesita hacer una copia de seguridad de los registros de rehacer. Cuando la base de datos se ejecuta en modo de registro de archivo y realiza una copia de seguridad en línea, el DBA necesita archivar los registros de rehacer de forma manual o automática y luego hacer una copia de seguridad de todos los registros de rehacer del archivo.</li><li><b>Archivos de red de Oracle</b>: es importante realizar una copia de seguridad de todos los archivos de red de Oracle inicialmente y después de cualquier cambio.</li><li><b>Archivos de contraseña</b>: los archivos de contraseña, cuando se utilizan, deben respaldarse inicialmente y después de cualquier cambio. <b>Wallets</b>, por ejemplo.</li></ul><li>Bases de datos de <b><span style="color: #2b00fe;">MS SQL Server</span></b>:</li><ul><li>Realice una copia de seguridad de las bases de datos del sistema y de los usuarios.</li><li>Tenga un plan de mantenimiento separado para las bases de datos del sistema, es decir, maestro, modelo, msdb. Master solo admite copias de seguridad completas; La copia de seguridad de tempdb no es necesaria, ya que se reconstruye durante el inicio de SQL Server.</li><li>Realice una copia de seguridad de todas las bases de datos de los usuarios. Configure todas las bases de datos de usuarios para el modelo de recuperación completo y realice una copia de seguridad de los registros de transacciones y de la base de datos.</li></ul></ul><li><b>Determine el tipo de copia de seguridad apropiado para usar con sus datos.</b></li><ul><li><span style="color: red;">Bases de datos de Oracle</span></li><ul></ul></ul><ol><ol><li><b>Copias de seguridad lógicas:</b> este tipo de copia de seguridad se realiza mediante las utilidades de Oracle "exp." A partir de la versión 10g, también se puede utilizar Data Pump. Se puede realizar una copia de seguridad de toda la base de datos, esquemas individuales, tablas o espacios de tabla. La restauración se realiza mediante "imp" o <b>Data Pump</b>. Con tales copias de seguridad, la recuperación hasta el punto de falla no es posible.</li></ol></ol><ul><ul></ul></ul><ol><ol><li><b>Respaldos físicos fuera de línea o en frío:</b> la base de datos se debe cerrar y se debe realizar una copia de todos los archivos de datos esenciales y otros componentes de la base de datos.</li></ol></ol><ul><ul></ul></ul><ol><ol><li><b>Copias de seguridad físicas en línea o en caliente:</b> este método permite realizar copias de seguridad de la base de datos mientras la base de datos está en funcionamiento. Se deben tener en cuenta los siguientes puntos al realizar copias de seguridad en línea:</li></ol></ol><ul><ul><ul><li>Ponga los espacios de tabla en modo de copia de seguridad y haga una copia de seguridad de los archivos de datos asociados mediante un comando de copia del sistema operativo, o utilice <b>RMAN</b>, una herramienta sólida proporcionada por Oracle para la copia de seguridad y la recuperación con la versión 8.x en adelante. Oracle agrega nueva funcionalidad a esta herramienta con cada versión. RMAN puede usar el archivo de control de la base de datos para mantener su catálogo, o el DBA puede configurar el esquema para cada base de datos, en una base de datos separada para los catálogos de RMAN.</li><li>El DBA debe revisar y tener en cuenta la matriz de compatibilidad de RMAN para la base de datos que se está respaldando / restaurando, así como el ejecutable de RMAN y la base de datos / esquema del catálogo de RMAN.</li><li>Los administradores de bases de datos deben familiarizarse con las copias de seguridad completas, incrementales y diferenciales y configurarlas mediante scripts de RMAN. Los DBA deben revisar su edición RDBMS, por ejemplo, las copias de seguridad incrementales no son posibles en las ediciones estándar anteriores a Oracle 10g. Para restaurar / recuperar una base de datos hasta el punto de falla o un punto anterior en el tiempo, el DBA debe poner la base de datos en modo de registro de archivo y hacer una copia de seguridad de todos los registros de rehacer archivados.</li><li>Es importante no olvidar realizar una copia de seguridad del catálogo de RMAN al final de cada copia de seguridad. Los administradores de bases de datos pueden realizar una copia de seguridad de exportación del esquema de catálogo de RMAN.</li></ul></ul><li><span style="color: #2b00fe;">Base de datos Microsoft SQL Server</span>:</li><ul><li></li><li><b>Copias de seguridad lógicas:</b> en SQL Server, se pueden realizar copias de seguridad de objetos de esquema individuales en archivos planos en cualquiera de los formatos de archivo admitidos. Luego, los archivos planos se pueden restaurar utilizando herramientas como la utilidad bcp, el Asistente de importación y exportación o las herramientas de <i>SQL Server Integration Services.</i></li><li><b>Copias de seguridad físicas:</b> se recomienda que todas las bases de datos de los usuarios se configuren para el modelo de recuperación completa, y que tanto la base de datos como los registros de transacciones sean respaldados para restaurar / recuperar la base de datos hasta el punto de falla. Los administradores de bases de datos deben familiarizarse a fondo con los modelos de recuperación de bases de datos y las copias de seguridad completas, diferenciales y de registro de transacciones, y configurarlas en consecuencia. La estrategia de copia de seguridad de archivos o grupos de archivos se puede utilizar si las bases de datos de las que se realizará la copia de seguridad son bases de datos muy grandes (<b>VLDB</b>) que están particionadas entre varios archivos.</li></ul></ul></ul><ul style="text-align: left;"><li></li><li><b>Establezca una estrategia para manejar las copias de seguridad de VLDB:</b> en Oracle, el DBA puede reducir la ventana de copia de seguridad para las VLDB asignando varios canales y ajustando las copias de seguridad, puede ahorrar espacio en disco mediante el uso de copias de seguridad comprimidas y puede bloquear el seguimiento con técnicas de copia de seguridad incrementales con lo último Versiones El DBA debe revisar la versión y edición de la base de datos para confirmar la disponibilidad de esta opción. Si esto no funciona, el DBA puede considerar configurar copias de seguridad de espejo dividido. Para SQL Server, el DBA puede dividir la base de datos entre varios archivos y utilizar la estrategia de copia de seguridad de archivos o grupos de archivos. Además, el uso de varios dispositivos de respaldo en SQL Server permite que los respaldos se escriban en todos los dispositivos en paralelo.</li><li><b>Establezca una programación y una ventana de respaldo adecuadas</b>: es una buena práctica seleccionar una ventana de respaldo en un punto en el que la menor cantidad de actividad afecte a la base de datos para que la copia de respaldo no reduzca los recursos disponibles del servidor de base de datos y ralentice la actividad del usuario de la base de datos. El DBA puede ajustar la ventana de respaldo al paralelizar los respaldos utilizando múltiples canales; sin embargo, el DBA debe revisar la versión y edición de la base de datos para confirmar la disponibilidad de esta opción. En la gran mayoría de los casos, es mejor configurar un ciclo de respaldo semanal comenzando con respaldos completos el viernes por la noche o el sábado por la mañana y respaldos incrementales / diferenciales durante los días de semana. Las copias de seguridad del registro de transacciones / archivos se pueden programar para cada pocas horas, dependiendo de la volatilidad de la base de datos.</li><li><b>Decida dónde almacenar las copias de seguridad</b>: se pueden realizar copias de seguridad de las bases de datos de Oracle y MS SQL Server directamente en cinta o disco (localmente o en la red), y luego las copias de seguridad se pueden archivar en cinta. Es una buena práctica realizar copias de seguridad en disco, transferirlas a cinta y almacenar cintas fuera del sitio para la recuperación de desastres (<b>DR</b>). Las copias de seguridad en disco son más rápidas; Los administradores de bases de datos tienen más control y pueden monitorearlos mejor y, con este método, los administradores de bases de datos mantienen dos conjuntos de copias de seguridad, una en disco y la otra en cinta. Durante la restauración, si las copias de seguridad aún están en el disco, será una restauración más rápida, reduciendo el tiempo medio de recuperación (MTTR).</li><li><b>Desarrolle una política de retención de copias de seguridad</b>: la política de retención de copias de seguridad se relaciona con el programa de rotación del disco y la cinta y debe decidirse según el SLA establecido con la comunidad de usuarios empresariales. El propietario de los datos debe especificar el período de conservación de los datos. El período de retención puede variar de meses a años, según las leyes locales. En consecuencia, el DBA debería eliminar las copias de seguridad antiguas para crear espacio para las copias de seguridad actuales. La política de retención de datos debe elegirse con cuidado, asegurándose de que complementa la política de retención del subsistema de medios de respaldo y los requisitos para la estrategia de recuperación de respaldo. Si no utiliza un catálogo, el DBA debe asegurarse de que el parámetro de instancia de tiempo de mantenimiento de registros del archivo de control coincida con la política de retención.</li></ul><h3 style="clear: both;">Gestión eficaz de copias de seguridad</h3><div style="clear: both; text-align: left;">Después de hacer un plan de respaldo sólido y completar el trabajo inicial, el DBA debe administrar adecuadamente los respaldos, teniendo en cuenta los siguientes puntos:<br /><ul style="text-align: left;"><li><b>Automatización de copias de seguridad</b>: para Oracle, configure las copias de seguridad a través de OEM o utilice una herramienta de programación del sistema operativo, y envíe la salida a un archivo de registro que pueda revisarse en busca de errores. En SQL Server, use planes de mantenimiento para programar copias de seguridad.</li><li><b>Supervisión de copias de seguridad</b>: configure la supervisión con las herramientas adecuadas para que el administrador de bases de datos reciba un correo electrónico o una alerta a través de un buscapersonas o teléfono celular por cualquier copia de seguridad fallida, que debe volver a ejecutarse lo antes posible.</li><li><b>Registros y catálogos de respaldo</b>: revise los registros de respaldo y la información del catálogo de respaldo periódicamente para detectar cualquier problema. Utilice los informes de RMAN para mostrar el estado de la copia de seguridad. Para Oracle, realice una copia de seguridad de la base de datos del catálogo RMAN exportando todos los esquemas del catálogo periódicamente, así como realizando una copia de seguridad de exportación del esquema del catálogo RMAN al final de cada copia de seguridad. Para SQL Server, bases de datos del sistema de respaldo, especialmente master y msdb.</li><li><b>Mantenimiento del catálogo de la base de dato</b>s: con las bases de datos de Oracle, utilice "eliminar obsoletos" para eliminar las copias de seguridad que están fuera de la política de retención de la organización. Si no se eliminan las copias de seguridad obsoletas, el catálogo seguirá creciendo y el rendimiento se convertirá en un problema. La verificación cruzada (copia de seguridad de verificación cruzada) comprobará que el archivo de catálogo / control coincide con las copias de seguridad físicas.</li><li><b>Validación de copias de seguridad</b>: valide y verifique las copias de seguridad sin realizar restauraciones reales.</li><li><b>Configuración de dependencias</b>: cuando realice una copia de seguridad en disco, archive estas copias de seguridad en cinta tan pronto como se complete la copia de seguridad en disco.</li></ul>Configure un proceso para que las copias de seguridad del disco se transfieran a cinta sin pérdida de tiempo.</div><div style="clear: both; text-align: left;"><h3 style="clear: both; text-align: left;">Prueba de restauración de respaldo</h3><div style="clear: both;">Imagine el siguiente escenario: una inundación ha azotado el área en la que reside la sede de una empresa y toda la infraestructura de TI se ha dañado, pero no se ha destruido. Antes del evento, los administradores de bases de datos realizaron copias de seguridad en los medios de copia de seguridad, siguiendo todos los procesos indicados anteriormente en este artículo, y los almacenaron fuera del sitio. En la auditoría de TI más reciente de la empresa, el auditor calificó el proceso de respaldo como "efectivo".</div><div style="clear: both;"><br /></div><div style="clear: both;">Se recuperan y cargan los medios de respaldo del almacenamiento externo. Aparece un mensaje en la pantalla que indica que los medios de respaldo son "<i>ilegible</i>s" debido a problemas de integridad. ¿Lo que podría haber ocurrido? Pueden haber pasado muchas cosas. Sin embargo, está claro que no se dio un paso crítico. La restauración desde los medios de respaldo nunca se probó realmente. El control se marcó como efectivo porque se había implementado un proceso de respaldo y se estaba realizando. Además, nunca se recibieron errores cuando la empresa realizó una copia de seguridad en los medios de copia de seguridad.</div><div style="clear: both;"><br /></div><div style="clear: both;">Las copias de seguridad no sirven de nada si el equipo de TI no puede restaurar los datos en el sistema en el momento en que sea necesario. Un DBA debe formular una estrategia detallada para esta tarea:</div><div style="clear: both;"><br /></div><div style="clear: both;"><div style="clear: both;"><ol style="text-align: left;"><li><b>Prueba de restauración de bases de datos</b>: debe existir un requisito para probar las restauraciones de la base de datos desde el disco y desde las copias de seguridad en cinta.</li><li><b>Validación de restauraciones siempre que sea posibl</b>e: el DBA puede validar y verificar las copias de seguridad sin realizar restauraciones reales. La validación de las copias de seguridad mediante el comando "restaurar y validar la base de datos" hará todo, excepto restaurar la base de datos. Este es el mejor método para determinar si la copia de seguridad es buena y utilizable antes de encontrarse en una situación en la que se vuelva crítica.</li><li><b>Actualización de bases de datos que no son de producción a partir de copias de seguridad de producción</b>: es una buena práctica crear periódicamente bases de datos que no son de producción a partir de copias de seguridad de producción utilizando los comandos de la utilidad de copia de seguridad / restauración adecuados como práctica de restauración.</li><li><b>Realización de pruebas de restauración anuales / bianuales desde cinta como parte de la auditoría:</b> el DBA tendrá que explicar el proceso a través de una narrativa, conservar registros y tomar capturas de pantalla para mostrar este tipo de pruebas de restauración.</li><li><b>Restauraciones reales</b>: durante las restauraciones reales, el DBA debe realizar una copia de seguridad de la base de datos antes de realizar la restauración. Según el tipo de pérdida y las copias de seguridad disponibles, el DBA debe decidir si opta por una recuperación completa (en un momento determinado) o incompleta. La recuperación incompleta puede basarse en el tiempo, en la cancelación o en los cambios.</li><li><b>Estrategia para recuperarse de la corrupción de la base de datos</b>: para las bases de datos Oracle, el DBA puede activar la verificación de bloques usando los parámetros apropiados para detectar la presencia de bloques corruptos en la base de datos. Esto tiene una ligera sobrecarga de rendimiento, pero permitirá la detección temprana de bloques corruptos causados por problemas del sistema de entrada / salida (E / S), sistema de almacenamiento o disco subyacente. De forma predeterminada, RMAN también busca bloques corruptos durante la copia de seguridad. En versiones posteriores de Oracle, RMAN se puede utilizar para reparar bloques dañados en la base de datos.</li></ol></div></div></div><h3 style="clear: both; text-align: left;">SLA de respaldo y recuperación</h3><div class="separator" style="clear: both;">El equipo de <b>DBA</b> debe redactar un <b>SLA de respaldo y recuperación</b>, que cubra los detalles de los procedimientos de respaldo e incluya un cronograma para la recuperación, y que la administración lo apruebe. El SLA no ayuda en el proceso de recuperación en sí, pero establece las expectativas de la comunidad de usuarios (y de la administración) para el proceso de recuperación, lo que puede proporcionar al equipo más tiempo para completar el proceso de restauración.</div><div class="separator" style="clear: both;"><br /></div><h3 style="clear: both; text-align: left;">Plan de recuperación en un desastre</h3><div class="separator" style="clear: both;">El<b> DBA</b> debe asegurarse de que las bases de datos se incluyan como un elemento clave en el <b>DRP</b> general de la empresa. Todas las partes interesadas deben comprender los elementos del plan de recuperación y en qué orden el equipo de TI restaurará las bases de datos. La empresa debe proporcionar su opinión en esta etapa para que las aplicaciones más críticas para la empresa estén disponibles lo antes posible.</div><div class="separator" style="clear: both;"><br /></div><h3 style="clear: both; text-align: left;">Herramientas de respaldo y recuperación de bases de datos y sistemas operativos</h3><div class="separator" style="clear: both;">Parece obvio, pero los administradores de bases de datos juegan el papel final y más importante en el proceso, ya que deben mantener actualizados sus conocimientos sobre las herramientas de copia de seguridad y recuperación para RDBMS. Durante el evento de restauración real, los administradores de bases de datos no tendrán tiempo para descubrir ningún avance en las herramientas de respaldo y recuperación.</div><div class="separator" style="clear: both;"><br /></div><h3 style="clear: both; text-align: left;">Conclusión</h3><div class="separator" style="clear: both;">La responsabilidad principal del equipo de administración de la base de datos es revisar todos los tipos de RDBMS en la empresa y desarrollar un plan de respaldo integral para llevar a cabo una administración de respaldo efectiva al monitorear de manera proactiva los respaldos, recibir alertas de respaldos fallidos y volver a ejecutarlos sin problemas, sin pérdida de tiempo. Es una buena práctica realizar una copia de seguridad de los datos en un disco físico y luego archivarlos en una cinta para fines de recuperación de desastres.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Una vez que se ha establecido un enfoque, es imperativo probar la restauración de datos periódicamente como parte de la estrategia de copia de seguridad y restauración, y revisar todas las opciones antes de ejecutar la restauración / recuperación real. Es importante confirmar que el equipo de DBA está al día con las últimas herramientas de respaldo y recuperación y asegurarse de que el equipo tenga un proceso claramente documentado con responsabilidades claras. Si los administradores de bases de datos mantienen copias de seguridad adecuadas, las supervisan de forma proactiva y pueden garantizar la recuperación de los datos hasta el punto requerido por la empresa, han realizado una gran parte del trabajo para el que fueron contratados.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><u>Los auditores de TI pueden ayudar a los equipos de administración de datos a fortalecer sus controles y procesos de recuperación de datos validando las operaciones del DBA, incluida la prueba de la recuperación de datos. Este esfuerzo continuo, proactivo y cooperativo entre la auditoría interna y el equipo de DBA puede proporcionar seguridad a la gerencia de que, en caso de un desastre, los datos de la empresa se pueden recuperar.</u></div></div></div></div></div></div></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-55127022482041135782021-02-10T22:22:00.005+01:002021-02-11T10:17:35.513+01:00Auditoría de la base de datos Oracle<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijlYzSxmkoOfNBfRA7ZQ4BlNRsnyU83R29icnxXDgelPBQFxtPRsH7plIffEzRZagYYCULE63nQFyb0zubri2FAiho7ZdTMNXMmJ_2-k35qosIMh2wBBRjlGQH4SclTrZ2gi0PDZc5pOM/s299/oracle+auditoria.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="168" data-original-width="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijlYzSxmkoOfNBfRA7ZQ4BlNRsnyU83R29icnxXDgelPBQFxtPRsH7plIffEzRZagYYCULE63nQFyb0zubri2FAiho7ZdTMNXMmJ_2-k35qosIMh2wBBRjlGQH4SclTrZ2gi0PDZc5pOM/s0/oracle+auditoria.png" /></a></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">La auditoría de la base de datos es la actividad de monitorear y registrar las acciones configuradas de la base de datos de los usuarios de la base de datos y los usuarios que no lo son, para garantizar la seguridad de las bases de datos.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Un administrador puede realizar auditorías en acciones individuales, como el tipo de declaración de lenguaje de consulta estructurado (SQL) ejecutada, o en combinaciones de datos que pueden incluir el nombre de usuario, la aplicación o la marca de tiempo, por ejemplo. Los auditores deben auditar tanto las actividades exitosas como las fallidas, e incluir o excluir a usuarios específicos de la auditoría:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><i>La auditoría adecuada de una base de datos garantizará la protección de la base de datos, lo que significa que la instalación de la base de datos y sus funciones, la cuenta predeterminada, los parches, los servicios, la política de contraseñas, la política de bloqueo de cuentas y la política de auditoría han demostrado que la auditoría es un proceso continuo.</i></div><div class="separator" style="clear: both;"><i><br /></i></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">Los principales tipos de actividades de riesgo incluyen:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li><b>Error</b>: no mantener u operar la base de datos como se requiere conduce a la divulgación accidental de información, y los cambios no autorizados dan lugar a divulgaciones, inserciones, actualizaciones o eliminaciones accidentales y no autorizadas.</li><li><b>Uso indebido</b>: no mantener los derechos de acceso a la base de datos conduce al abuso del acceso privilegiado y la filtración de información.</li><li><b>Acción maliciosa:</b> si no se mantiene una configuración lógica y segura de la base de datos, se produce el robo de datos o un ataque de denegación de servicio (DoS).</li></ul><h3 style="text-align: left;">Vulnerabilidades comunes encontradas en ataques a bases de datos</h3><div><div>Muchos ataques comienzan con la ingeniería social:</div><div><br /></div><div><ul style="text-align: left;"><li>El <b>phishing</b> es un método de fraude por correo electrónico en el que el perpetrador envía correos electrónicos de apariencia legítima en un intento de recopilar información personal y financiera de los destinatarios. Por lo general, los mensajes parecen provenir de sitios web conocidos y confiables. Los sitios web que frecuentemente son falsificados por phishers incluyen PayPal, eBay, MSN, Yahoo y Best Buy, por ejemplo.</li></ul></div><div><ul style="text-align: left;"><li>La <b>inyección SQL</b> es una técnica que se utiliza para aprovechar las vulnerabilidades de entrada no validadas para pasar comandos SQL a través de una aplicación web para su ejecución por una base de datos back-end. Los atacantes aprovechan el hecho de que los programadores a menudo encadenan comandos SQL con parámetros proporcionados por el usuario y, por lo tanto, pueden incrustar comandos SQL dentro de estos parámetros. El resultado es que el atacante puede ejecutar consultas SQL arbitrarias y / o comandos en el servidor de base de datos back-end a través de la aplicación web.</li></ul></div><div><ul style="text-align: left;"><li>La <b>exfiltración de datos</b> es la copia, transferencia o recuperación no autorizada de datos de una computadora o servidor. La exfiltración de datos es una actividad maliciosa realizada a través de diversas técnicas, generalmente por ciberdelincuentes a través de Internet u otra red. La exfiltración de datos también se conoce como extrusión de datos, exportación de datos o robo de datos.</li><li>El<b> servidor de ensayo</b> es un servidor que permite ensamblar, implementar y probar un software o un sitio web en una instancia de servidor, similar al servidor de producción. Normalmente, el software o un sitio web se implementa en el servidor de ensayo desde el servidor de desarrollo cuando se completa el desarrollo. Un servidor intermedio ayuda a identificar el comportamiento, la experiencia y el rendimiento del software o del sitio web, ya que será visible en el servidor de producción. Esto ayuda a los desarrolladores de software o al personal de control de calidad (QA) a identificar y resolver cualquier problema, error, problemas de rendimiento o usabilidad u otros problemas antes de que el software o el sitio web se implemente en el servidor de producción. El servidor intermedio puede ser un servidor de base de datos intermedio, un servidor de sitio web intermedio o un servidor de aplicaciones intermedias, por ejemplo.</li></ul><div>El análisis de la configuración de la base de datos es fundamental para determinar las vulnerabilidades y garantizar la auditoría estándar. La auditoría de la base de datos incluye:</div><div><br /></div><div><ol style="text-align: left;"><li>Encontrar privilegios y datos confidenciales</li><li>Impedir el acceso a los datos</li><li>Validar que los mecanismos de detección y alerta estén en su lugar</li><li>Hay varios mecanismos disponibles que deben estar en su lugar cuando se configuran las bases de datos, que incluyen:</li></ol></div></div></div><div><ul style="text-align: left;"><li>La <b>redacción de datos</b> proporciona una redacción selectiva y sobre la marcha de datos confidenciales en los resultados de las consultas SQL, antes de la visualización de la aplicación, para que los usuarios no autorizados no puedan ver los datos confidenciales. Permite la redacción coherente de las columnas de la base de datos en los módulos de la aplicación que acceden a la misma información de la base de datos. La redacción de datos minimiza los cambios en las aplicaciones porque no altera los datos reales en los búferes, cachés o almacenamiento de la base de datos internos, y conserva el tipo de datos y el formato originales cuando los datos transformados se devuelven a la aplicación. La redacción de datos no tiene ningún impacto en las actividades operativas de la base de datos, como copia de seguridad y restauración, actualización y parche, y en clústeres de alta disponibilidad.</li><li>El <b>enmascaramiento de datos</b> confunde los datos confidenciales reemplazándolos con otros datos, generalmente caracteres que cumplirán los requisitos de un sistema diseñado para probar o seguir funcionando con los resultados enmascarados. El enmascaramiento garantiza que partes vitales de la información de identificación personal (PII), como los primeros cinco dígitos de un número de seguro social, se oculten o se desidentifiquen.</li><li>El <b>cifrado de datos </b>implica convertir y transformar datos en texto cifrado codificado, a menudo ilegible, utilizando algoritmos y cálculos matemáticos no legibles. Restaurar el mensaje requiere un algoritmo de descifrado correspondiente y la clave de cifrado original.</li></ul><h3 style="text-align: left;">Pasos de auditoría de la base de datos</h3><div>Se deben seguir los siguientes pasos para la auditoría de la base de datos.<br /></div></div><div><div><b><br /></b></div><div><b>Paso 1: determinar si las cuentas predeterminadas se han modificado o desactivado</b></div><div>Las cuentas de Oracle privilegiadas predeterminadas siguen siendo el problema de mayor riesgo que se encuentra comúnmente. Es un problema fácil de solucionar y prevenir. Después de la instalación, Oracle tiene varias cuentas predeterminadas, cada una con un valor predeterminado predeterminado. Después de la instalación de la base de datos, el asistente de configuración de la base de datos de Oracle (DBCA) bloquea automáticamente y expira la mayoría de las cuentas de usuario predeterminadas de la base de datos. Además, DBCA cambia la cuenta SYSTEM al valor especificado durante la rutina de instalación.</div><div><br /></div><div>Si una base de datos de Oracle se instala manualmente, el DBCA nunca se ejecuta y esas peligrosas cuentas con privilegios predeterminados nunca se bloquean ni caducan. Por defecto, su contraseña es la misma que su nombre de usuario. Estas serán las primeras credenciales que un hacker intentará utilizar para conectarse a la base de datos. Como práctica recomendada, cada una de estas cuentas debe configurarse con una contraseña única segura y, si no se requiere una cuenta, debe bloquearse y caducar.</div></div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdZQk9dBMW-KLuuTSGDAC1nMgQi2TSrsCMww5eNQalm0OUhJQLjJhHc5-FVZc5err-cg4zwIWZ9mZRKJAADp_ogpOrjrDN-kR0BEyWj6xNqzTrs-RqqmhLXeGzyRbAXeQT0VhUI_EtKC0/s693/audit+parameter.gif" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="296" data-original-width="693" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdZQk9dBMW-KLuuTSGDAC1nMgQi2TSrsCMww5eNQalm0OUhJQLjJhHc5-FVZc5err-cg4zwIWZ9mZRKJAADp_ogpOrjrDN-kR0BEyWj6xNqzTrs-RqqmhLXeGzyRbAXeQT0VhUI_EtKC0/w400-h171/audit+parameter.gif" width="400" /></a></div><br /><div><br /></div><div><br /></div><div><div><b>Paso 2: auditar la solidez de Oracle Database SID</b></div><div>El ID del sistema de Oracle (SID) es un valor único que se requiere para que todos los clientes se conecten a la base de datos de Oracle. Debido a que debe ser única, no puede haber más de una base de datos con el mismo SID en el mismo servidor Oracle.</div><div><br /></div><div>Si una conexión de cliente utiliza un SID incorrecto para conectarse a una base de datos de Oracle, recibirá el mensaje "<i>ORA-12505: TNS: el oyente no conoce actualmente el SID proporcionado en el descriptor de conexión</i>". Sin embargo, los SID pueden ser de fuerza bruta. Existen numerosas herramientas para forzar el SID de Oracle, incluidos los módulos <b>Metasploit</b>, las pruebas de aceptación operativa (OAT) y SIDGuess.</div><div><br /></div><div>La clave para frustrar los ataques de fuerza bruta de SID es seleccionar un SID que sea fuerte. Al crear un SID de Oracle, la selección debe:</div></div><div><br /></div><div><div><ul style="text-align: left;"><li>No ser una palabra de diccionario</li><li>Tener al menos 10 caracteres de longitud</li><li>Incluya al menos un carácter especial</li></ul></div></div></div></div></div><div>La incorporación de estos elementos asegura que el SID sea fuerte, es decir, difícil para un atacante utilizar la fuerza bruta.</div><div><br /></div><div>¿Por qué es importante un SID fuerte cuando el SID se almacena como un valor de texto sin cifrar dentro del archivo de configuración del cliente de Oracle, T<i>NSNAME.ora</i>, en cada sistema que está configurado para conectarse a la base de datos? Es importante porque siempre que un atacante pueda comprometer al menos un sistema que está configurado para conectarse a la base de datos de Oracle, obtener el SID del archivo <i>TNSNAMES.ORA</i> es trivial. Sin embargo, es importante considerar los casos en los que el atacante es externo a la organización y ha comprometido un solo host que no tiene configurada una conexión de cliente de Oracle. Un SID sólido no impedirá por sí mismo que los piratas informáticos obtengan una conexión con la base de datos Oracle de una organización, pero es una buena práctica como parte de un enfoque de seguridad de defensa en profundidad.</div><p></p><div><br /></div><div><div><b>Paso 3: auditar las actualizaciones de parches críticos de Oracle</b></div><div>Esta es una de esas recomendaciones de mejores prácticas de seguridad con las que la mayoría de las organizaciones luchan comúnmente. Dependiendo del esquema de la base de datos, las actualizaciones de parches críticos (<b>CPU</b>) de Oracle pueden tener un impacto significativo en la base de datos de Oracle, lo suficientemente significativo como para que la organización tenga que realizar pruebas de regresión exhaustivas para garantizar que la aplicación de las últimas CPU de Oracle no afecte la funcionalidad de la base de datos.</div><div><br /></div><div>Oracle lanza CPU trimestralmente el martes más cercano al día 17 del mes. Oracle tiene una página de boletín especial que describe todas las actualizaciones y advertencias de parches críticos de Oracle más recientes.2 Afortunadamente, las CPU son de naturaleza acumulativa. Uno puede simplemente instalar la última CPU de Oracle para obtener todos los parches de seguridad desde el lanzamiento inicial del producto.</div><div><br /></div><div>La clave para un proceso de parches de CPU eficaz es crear un proceso de prueba de regresión reglamentado que corresponda a los cuatro lanzamientos programados de Oracle cada año. Incluso en organizaciones con los procesos de prueba de regresión más estrictos, las CPU generalmente se pueden diseñar de tal manera que se puedan aplicar no más de tres meses después de la última versión de la CPU. Además, todos los administradores de bases de datos deben registrarse en el servicio de asesoramiento de alertas de seguridad por correo electrónico de Oracle3 para garantizar la notificación oportuna de los parches y alertas de seguridad de Oracle.</div><div><br /></div><div>También existe un mecanismo que Oracle emplea si se descubre una vulnerabilidad crítica que justifica la publicación inmediata del parche. Oracle se refiere a los parches lanzados inmediatamente bajo este programa como "alertas de seguridad fuera de horario". Desde que comenzó el programa de CPU en 2005, solo ha habido unas pocas veces en las que Oracle lanzó parches bajo este proceso de emergencia. Las organizaciones deben desarrollar un método para aplicar estos parches lanzados de emergencia, pero dado su bajo volumen histórico, la atención debe centrarse en la aplicación rutinaria de parches de CPU cada trimestre.4</div></div><div><br /></div><div><div><b>Paso 4: Auditar el rol PÚBLICO para la identificación de privilegios innecesarios</b></div><div>En Oracle, existen rutinas extendidas que permiten a los usuarios con privilegios mínimos ejecutar funciones que de otro modo no podrían ejecutar. Estas rutinas extendidas se denominan paquetes y son aproximadamente equivalentes a los procedimientos almacenados extendidos en Microsoft SQL Server. Un rol especial, llamado PUBLIC, actúa como un rol predeterminado asignado a cada usuario en la base de datos de Oracle. Cualquier usuario de la base de datos puede ejecutar los privilegios otorgados a PUBLIC. Esto se aprovecha comúnmente para la escalada de privilegios de la base de datos.</div><div><br /></div><div>Estos paquetes y subtipos deben revocarse de PUBLIC y hacerse ejecutables para una aplicación solo cuando sea absolutamente necesario.</div></div><div><br /></div><div><div><b>Paso 5: Verifique que la auditoría de la base de datos esté habilitada</b></div><div>Para identificar las actividades maliciosas o autorizadas en una base de datos, es importante verificar que las opciones de auditoría de la base de datos estén habilitadas. Para asegurarse de que la auditoría de la base de datos esté habilitada, es necesario realizar las siguientes actividades durante la auditoría de la base de datos:</div><div><br /></div><div><ul style="text-align: left;"><li><b>Auditoría de operaciones SYS</b>: de forma predeterminada, las bases de datos de Oracle no auditan los comandos SQL ejecutados por el <i>SYS</i> privilegiado y los usuarios que se conectan con privilegios <i>SYSDBA</i> o <i>SYSOPER</i>. Si se piratea una base de datos, estos privilegios serán el primer objetivo del pirata informático. Afortunadamente, auditar los comandos SQL de estos usuarios privilegiados es muy simple: </li></ul><i>sqlplus> alter system set audit_sys_operations = true scope = spfile.</i></div><div><ul style="text-align: left;"><li><b>Habilitar la auditoría de la base de datos</b>: de nuevo, de forma predeterminada, la auditoría de Oracle de los comandos SQL no está habilitada. La auditoría debe estar activada para todos los comandos SQL. La auditoría de la base de datos se activa con el parámetro audit_trail: sqlplus> alter system set audit_trail = DB, EXTENDED scope = spfile. (Nota: El comando habilita la auditoría desde la base de datos, pero no la información de la bóveda de la base de datos, en la tabla SYS. AUD $.) En realidad, hay cuatro tipos de auditoría de bases de datos: OS, DB, EXTENDED y XML.</li><li><b>Habilite la auditoría en objetos importantes de la base de datos:</b> una vez que se ha habilitado la auditoría, se puede activar para los objetos en los que una pista de auditoría es importante.</li></ul><div><b>Paso 6: Auditoría para garantizar que los activadores de la base de datos para la auditoría de esquemas y los eventos de inicio / cierre de sesión estén configurados</b></div><div>Para auditar eficazmente los cambios de esquema y los eventos de inicio y cierre de sesión, Oracle proporciona activadores de lenguaje de definición de datos (DDL) para auditar todos los cambios de esquema y puede informar el cambio exacto, cuándo se realizó y qué usuario.</div><div><br /></div><div><ul style="text-align: left;"><li><b>Activador de inicio de sesión:</b> al usar un activador de inicio de sesión, se pueden enviar eventos de inicio y cierre de sesión en tiempo real a otro sistema. Piense en ello como un demonio syslog para los eventos de su base de datos. El siguiente ejemplo enviaría todos los eventos de inicio y cierre de sesión a un servidor web en tiempo real.</li></ul></div><div><i>SQL> crear o reemplazar el disparador sec_logon después de iniciar sesión en la base de datos.</i></div><div><br /></div><div><ul style="text-align: left;"><li><b>Activador DDL: </b>mediante los activadores DDL, un administrador de bases de datos de Oracle puede realizar un seguimiento automático de todos los cambios en la base de datos, incluidos los cambios en las tablas, los índices y las restricciones. Los datos de este activador son especialmente útiles para el control de cambios para Oracle DBA. El siguiente ejemplo envía eventos para <i>GRANT, ALTER, CREATE, DROP</i>.</li><li><b>Disparador de error:</b> los disparadores de error son mensajes de error de Oracle. Pueden ser útiles para detectar ataques de inyección SQL y otros métodos de ataque.</li></ul><div><b>Paso 7: Auditoría para garantizar que se implemente una solución DAM</b></div><div>Si una organización puede permitirse el gasto adicional de un producto de software adicional, una solución de monitoreo de base de datos puede ser muy útil. Resuelve el problema de no poder monitorear la actividad del DBA a nivel organizacional. También proporciona información útil sobre consultas SQL peligrosas y modificaciones de roles que podrían indicar que un atacante ha comprometido una base de datos. La clave para todas las soluciones de monitoreo de actividad de bases de datos (<b>DAM</b>) es que operan dentro de la memoria del servidor Oracle y operan independientemente de las funciones nativas de auditoría y registro de la base de datos. Para cualquiera que esté familiarizado con los sistemas de detección de intrusiones en la red (<b>IDS</b>), los DAM tienen una función análoga: operan dentro de la capa de la base de datos en el servidor en lugar de en cualquiera de las capas de la red.</div><div><br /></div><div><b>Paso 8: Auditoría para garantizar que la administración de contraseñas para todos los inicios de sesión de Oracle esté habilitada</b></div><div>Oracle proporciona una gestión de contraseñas bastante sólida para los inicios de sesión de Oracle. Desafortunadamente, ninguno de estos se aplica en el perfil de cuenta de Oracle predeterminado.</div><div><br /></div><div>En Oracle, a los inicios de sesión se les asigna una política de cuenta a través de un perfil de Oracle. Cada inicio de sesión se puede aplicar a un solo perfil de Oracle. Si no se especifica ningún perfil de Oracle cuando se crea el inicio de sesión, se le asigna el perfil de Oracle predeterminado.</div></div></div></div><div><br /></div><div><div><b>Paso 9: Verifique para asegurarse de que se realizan evaluaciones regulares de seguridad de la base de datos</b></div><div>Cada configuración segura que se ha discutido podría detectarse fácilmente con una herramienta de vulnerabilidad de base de datos automatizada. Las herramientas automatizadas de vulnerabilidad de bases de datos proporcionan una manera excelente de validar rápidamente las configuraciones seguras de Oracle de una organización. Obviamente, este tipo de herramientas solo son útiles si uno tiene privilegios. Están pensados para que los administradores de bases de datos, auditores y profesionales de la seguridad realicen evaluaciones periódicas. Estas herramientas son propensas a generar falsos positivos y, desafortunadamente, falsos negativos, pero sus beneficios superan con creces el riesgo.</div><div><br /></div><div><b>Paso 10: Determine que el tráfico de la base de datos está cifrado</b></div><div>Esta recomendación rara vez se implementa, excepto en las organizaciones más seguras. Oracle admite el cifrado a nivel de red mediante <b>Secure Sockets Layer (SSL)</b>, utilizando certificados firmados <b>X.509v3</b> y cifrado nativo sin certificados.</div><div><br /></div><div>La conclusión con el cifrado a nivel de red no es solo que los datos confidenciales en tránsito están protegidos cuando se emplea el cifrado, sino también que el SID está protegido. Sin cifrado, el SID se puede enumerar fácilmente mediante ataques <b>man-in-the-middle</b>.</div><div><b><br /></b></div><div><b>Paso 11: Audite las amenazas y contramedidas a la seguridad adecuadamente</b></div><div>Una organización debe crear una política de seguridad escrita para enumerar las amenazas de seguridad contra las que está tratando de protegerse y las medidas específicas que debe tomar la organización. Las amenazas a la seguridad se pueden abordar con diferentes tipos de medidas:</div><div><br /></div><div><ul style="text-align: left;"><li><b>Procedimientos</b>, como exigir a los empleados del centro de datos que muestren credenciales de seguridad</li><li><b>Físico</b>, como asegurar computadoras en instalaciones de acceso restringido</li><li><b>Técnico</b>, como la implementación de requisitos de autenticación sólidos para sistemas comerciales críticos</li><li><b>Relacionado con el personal</b>, como la realización de verificaciones de antecedentes o la investigación de antecedentes de personal clave</li></ul><h3 style="text-align: left;">Conclusión</h3><div>Los datos son un recurso muy decisivo para cualquier negocio debido al blindaje; La auditoría periódica de la base de datos nunca debe dejarse al azar ni a soluciones de mosaico. Durante el período de auditoría, las partes interesadas deben identificar que un sistema está configurado según el estándar que garantiza la mitigación del riesgo de datos.</div><div><br /></div><div>Se debe implementar una solución de auditoría completa e integral que pueda lograr fácilmente cada uno de los siguientes:</div><div><br /></div><div><ul style="text-align: left;"><li>Auditoría de acceso y autenticación</li><li>Auditoría de usuarios y administradores</li><li>Auditoría de actividades sospechosas</li><li>Auditoría de vulnerabilidades y amenazas</li><li>Auditoría de cambios</li></ul></div><div>Sin una solución de auditoría que lo abarque todo, las organizaciones ponen en riesgo datos valiosos. Los datos corruptos, inexactos o comprometidos equivalen a pérdida de ingresos, tiempo perdido y relaciones comprometidas con clientes y empleados.</div><div><br /></div><div><u>La auditoría es un proceso continuo y continuo sin importar qué sistema o proveedor esté en uso. Incluso los aspectos básicos deben revisarse periódicamente para evitar una falsa sensación de seguridad. La base de datos es un componente sensible en los negocios; por lo tanto, es importante asegurarse de que la base de datos esté configurada correctamente para garantizar la seguridad de los datos comerciales.</u></div></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-17929678324711703342021-01-20T23:48:00.002+01:002021-01-20T23:51:16.142+01:00Oracle Database 12c R2 Nueva función: Cifrado de tablespaces en línea y automática<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqEZ11gQxBbzZMdi4rtyB6gtCHegaJcji1zXl5sowOyf4TQHN3noAV_IUL9bPmnLvIZgjeo2a-GAtM1W2ddgmnMGMc6H779X6Iu6wQI6ovJVL35bpchJ2t_OPq_2zynD4082dREz4pSTs/s1600/oracle-database-12c.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="253" data-original-width="814" height="99" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqEZ11gQxBbzZMdi4rtyB6gtCHegaJcji1zXl5sowOyf4TQHN3noAV_IUL9bPmnLvIZgjeo2a-GAtM1W2ddgmnMGMc6H779X6Iu6wQI6ovJVL35bpchJ2t_OPq_2zynD4082dREz4pSTs/s320/oracle-database-12c.jpg" width="320" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<i>Transparent Data Encryption</i>, en adelante <b>TDE</b>, le permite cifrar datos confidenciales, como números de tarjetas de crédito o porcentaje de invalidez, dentro de la base de datos Oracle 12C.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5lmWa7jFjtsQgqjVsukm-jiTu0_FRMaMOBJ7hWGb6mf8Tf3i_3fkRUNGOQRtMwt4VSfIr-hC5tLRQlUyZcPHunN-4lZNoxhaR1leXyZWP6zDgdrNeTtjcfIIjkES9qqBtBcRYtV6YDdY/s1600/transparent+data+encryption.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="457" data-original-width="482" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5lmWa7jFjtsQgqjVsukm-jiTu0_FRMaMOBJ7hWGb6mf8Tf3i_3fkRUNGOQRtMwt4VSfIr-hC5tLRQlUyZcPHunN-4lZNoxhaR1leXyZWP6zDgdrNeTtjcfIIjkES9qqBtBcRYtV6YDdY/s320/transparent+data+encryption.png" width="320" /></a></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: right;">
<br /></div>
<div style="text-align: left;">
<br /></div>
Oracle Database utiliza autenticación, autorización y mecanismos de auditoria para proteger los datos en la base de datos, pero no en los archivos de datos del sistema operativo donde se almacenan los datos. Para proteger estos archivos de datos, Oracle Database proporciona Transparent Data Encryption (TDE). TDE cifra los datos confidenciales almacenados en archivos de datos. Para evitar el descifrado no autorizado, TDE almacena las claves de cifrado en un módulo de seguridad externo a la base de datos, denominado almacén de claves.</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div>El cifrado transparente de datos (TDE) permite cifrar datos confidenciales tales como números de tarjetas de crédito almacenados en tablas y espacios de tabla. Los datos cifrados se descifran de forma transparente para una aplicación o un usuario de base de datos que tenga acceso a los datos. TDE ayuda a proteger los datos almacenados en medios en caso de sustracción de los medios de almacenamiento o los archivos de datos. Oracle usa mecanismos de autenticación, autorización y auditoría para proteger los datos de la base de datos, pero no los archivos de datos del sistema operativo donde se almacenan datos. Para proteger estos archivos de datos, Oracle proporciona TDE. TDE cifra los datos confidenciales almacenados en los archivos de datos. Para evitar descifrados no autorizados, TDE almacena las claves de cifrado en un módulo de seguridad externo a la base de datos.</div><div><br /></div><div>Estas son algunas de las ventajas del uso de TDE:</div><div><br /></div><div><ul style="text-align: left;"><li>Como administrador de seguridad tendrá la tranquilidad de que los datos confidenciales estén protegidos en caso de sustracción de los medios de almacenamiento o de los archivos de datos.</li><li>La implementación de TDE ayuda a abordar los aspectos de cumplimiento reglamentario relacionados con la seguridad.</li><li>No es necesario crear desencadenadores ni vistas para descifrar los datos para una aplicación o usuario autorizados. Los datos de las tablas se descifran de forma transparente para la aplicación y el usuario de la base de datos.</li><li>No es necesario que las aplicaciones y usuarios de base de datos sepan que los datos a los que acceden están almacenados en modo cifrado. Los datos se descifran de forma transparente para las aplicaciones y usuarios de base de datos.</li><li>No hace falta modificar las aplicaciones para controlar los datos cifrados. La base de datos administra el cifrado y descifrado de datos.</li><li>Las operaciones de administración de claves están automatizadas. El usuario o la aplicación no necesitan administrar las claves de cifrado.</li></ul></div>
<h3 style="text-align: left;">Oracle 12c</h3><div>Para obtener más información sobre la configuración del cifrado de espacios de tablas de TDE, consulte la documentación de Oracle.</div><div><br /></div><div>Configuración manual del TDE</div><div>El siguiente procedimiento muestra cómo configurar manualmente TDE.</div><div><br /></div><div><ul style="text-align: left;"><li>Cree el directorio keystore.</li></ul></div><div><span> </span><span> </span>mkdir $ORACLE_HOME/admin/$ORACLE_SID/wallet</div><div><br /></div><div><ul style="text-align: left;"><li>Modifique el archivo SQLNET.ORA si desea administrar la cartera de cifrado.</li></ul></div><div><span> </span><span> </span>La ubicación predeterminada de la cartera de cifrado es <span> </span><span> </span><span> </span>$ORACLE_BASE/admin/<nombre_db_global>/wallet. Si desea permitir que Oracle administre una cartera en la ubicación predeterminada, no necesita establecer el parámetro ENCRYPTION_WALLET_LOCATION en el archivo sqlnet.ora.</div><div><br /></div><h4 style="text-align: left;"><span style="font-weight: normal;">Para </span>Windows</h4><div><br /></div><div>ENCRYPTION_WALLET_LOCATION=</div><div> (SOURCE=</div><div> (METHOD=FILE) (METHOD_DATA=</div><div> (DIRECTORY=C:/oracle/admin/%ORACLE_SID%/wallet/)))</div><h4 style="text-align: left;"><span style="font-weight: normal;">Para </span>Linux</h4><div><br /></div><div>ENCRYPTION_WALLET_LOCATION=</div><div> (SOURCE=</div><div> (METHOD=FILE) (METHOD_DATA=</div><div> (DIRECTORY=/app/oracle/admin/$ORACLE_SID/wallet/)))</div><div><br /></div><div><ul style="text-align: left;"><li>Compruebe el parámetro de inicialización COMPATIBLE para el número correcto de versión. Debería ser 12.x.</li></ul></div><div>Nota:</div><div>Utilice SQL*Plus. No utilice Oracle SQL Developer.</div><div><br /></div><div>ORA> sqlplus /nolog SQL> connect /as sysdba Connected. SQL> select instance_name,status,database_status from v$instance;</div><div>INSTANCE_NAME STATUS DATABASE_STATUS</div><div>---------------- ------------ -----------------</div><div>mcs1 OPEN ACTIVE</div><div>SQL> show parameter compatible NAME TYPE VALUE</div><div>------------------------------------ ----------- ------------------------------</div><div>compatible string 12.1.0.0.0</div><div><ul style="text-align: left;"><li>Cree el keystore.</li></ul></div><div>ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin";</div><div><br /></div><div><br /></div><div><ul style="text-align: left;"><li>Abra el keystore basado en contraseña.</li></ul></div><div>ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "mcs1$admin" CONTAINER=ALL;</div><div><br /></div><div><ul style="text-align: left;"><li>Comprueba el estado </li></ul></div><div>SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;</div><div><br /></div><div><ul style="text-align: left;"><li>Haga una copia de seguridad de un software keystore basado en contraseña.</li></ul></div><div>ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'keystore_bkp' IDENTIFIED BY "mcs1$admin";</div><div>SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;</div><div><ul style="text-align: left;"><li>Cree la clave principal de cifrado.</li></ul></div><div>Cree una clave principal para la CBD y todas las PDB.</div><div><br /></div><div>ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_all_bkp' CONTAINER=ALL;</div><div>SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;</div><div>Exporte la clave principal.</div><div><br /></div><div>ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin";</div><div><ul style="text-align: left;"><li>Si lo desea, cree la contraseña principal para el contenedor actual. Puede omitir este paso si ha completado el paso anterior.</li></ul></div><div>Base de datos de contenedor (CDB):</div><div><br /></div><div>ALTER SESSION SET CONTAINER = CDB$ROOT;</div><div>SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual;</div><div>ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_cdb_backup' CONTAINER=CURRENT;</div><div>SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;</div><div>--export master key</div><div>ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin";</div><div>Base de datos conectable (PDB): bathypdb</div><div><br /></div><div>ALTER SESSION SET CONTAINER = bathypdb;</div><div>SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual;</div><div>ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_bathypdb_backup' CONTAINER=CURRENT;</div><div>SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;</div><div>--export master key</div><div>ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_bathypdb_exp.bkp' IDENTIFIED BY "mcs1$admin";</div><div><br /></div><div><ul style="text-align: left;"><li>Comprobar estado</li></ul></div><div><div>Select * from v$encryption_wallet;</div><div>select * from v$encryption_keys;</div><div>select wrl_parameter,status,wallet_type from v$encryption_wallet;</div><div>select key_id,keystore_type, creator,creator_instance_name, creator_pdbname from v$encryption_keys;</div></div><div><br /></div><div><ul style="text-align: left;"><li>Establezca el keystore local de inicio de sesión automático.</li></ul></div><div>ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin";</div><div>SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;</div><div>--the cwallet.sso file appears in the keystore location. The ewallet.p12 file is the password-based wallet. --Note:</div><div>--Do not remove the PKCS#12 wallet (ewallet.p12 file) after you create the auto login keystore (.sso file). </div><div>--You must have the PKCS#12 wallet to regenerate or rekey the TDE master encryption key in the future. </div><div>--By default, this file is located in the $ORACLE_HOME/admin/ORACLE_SID/wallet directory.</div><div><br /></div><div><ul style="text-align: left;"><li>Abra el keystore de inicio de sesión automático.</li></ul></div><div>ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN CONTAINER=ALL;</div><div>-- check the status</div><div>SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;</div><div>Sugerencia:</div><div>Para cerrarlo, puede usar la siguiente instrucción.</div><div><br /></div><div>ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY "mcs1$admin" CONTAINER=ALL;</div><div><br /></div><div><ul style="text-align: left;"><li>Se recomienda que verifique el estado de la configuración TDE utilizando las instrucciones SQL siguientes.</li></ul></div><div><div>Select * from v$encryption_wallet;</div><div>select * from v$encryption_keys;</div><div>select wrl_parameter,status,wallet_type from v$encryption_wallet;</div><div>select key_id,keystore_type from v$encryption_keys;</div><div>select key_id from v$encryption_keys;</div><div>select keystore_type from v$encryption_keys;</div><div>select wrl_parameter from v$encryption_wallet;</div><div>select status from v$encryption_wallet;</div><div>select * from v$encrypted_tablespaces;</div><div>select tablespace_name, encrypted from dba_tablespaces;</div><div>select * from dba_encrypted_columns;</div></div></div>
</div>
Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-71423952832027089732021-01-20T22:11:00.004+01:002021-01-20T22:18:51.334+01:00¿Hay vida más allá de Oracle? TIBERO, la base de datos<p style="text-align: left;"><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="background-color: white; color: #333333; font-size: 12px;"><br /></span></p><p style="text-align: center;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgohSk3R1HskqQ1CotudapT-Gb5NKZBKq0SUNAgUozoaMEG_0bO4_ElhYvMUEPv65I7tDerYyp_R39znXBfkGdKSh7nAxOrA8mBGupXG288twaGDQeJEwBtfzO1BNfOZyIKId5W68y-8bc/s178/tibero-logo-border.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="79" data-original-width="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgohSk3R1HskqQ1CotudapT-Gb5NKZBKq0SUNAgUozoaMEG_0bO4_ElhYvMUEPv65I7tDerYyp_R39znXBfkGdKSh7nAxOrA8mBGupXG288twaGDQeJEwBtfzO1BNfOZyIKId5W68y-8bc/s0/tibero-logo-border.png" /></a></div><p style="text-align: left;"></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="background-color: white; font-size: 12px;">Tibero es sistema de gestión de bases de datos relacional (RDBMS) desarrollado por TmaxSoft (Corea del Sur).</span></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="background-color: white;"><span style="font-size: 12px;">Si quieres tener información de primera mano, echa un ojo a su </span><a href="https://www.tmaxsoft.com/products/tibero/" style="font-size: 12px;">web</a><span style="font-size: 12px;">.</span></span></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="background-color: white; font-size: 12px;">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.</span></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="font-size: 12px;">Tibero ofrece muchos beneficios que incluyen:</span></span></p><ul style="text-align: left;"><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Altamente compatible con Oracle, en algunos casos hasta un 97% de compatibilidad</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Alta disponibilidad (agrupación activa-activa)</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Modelo de licencia simple similar al precio de suscripción de SaaS</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Procesamiento de transacciones de alto rendimiento</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Se escala con hardware básico en lugar de costosos servidores de bases de datos propietarios</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Capacidad de base de datos en espera activa o pasiva</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Arquitectura de hiperproceso</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Cifrado de base de datos de alta seguridad</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Recuperación en paralelo de varios nodos</span></li><li><span face=""Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif" style="color: #333333; font-size: 12px;">Servidor compartido confiable</span></li><li><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="font-size: 12px;">Tibero Enterprise Edition es todo incluido, sin productos adicionales para comprar</span></span></li></ul><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="background-color: white; font-size: 12px;"></span></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="font-size: 12px;">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</span></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="background-color: white; font-size: 12px;">TmaxSoft, ofrece la posibilidad de bajar la base de datos en modo prueba de <a href="https://www.tmaxsoft.com/tibero-vm-download/" rel="nofollow" target="_blank">30 días</a>.</span></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><span style="background-color: white; font-size: 12px;">Dentro de las posibilidades que ofrece <b><a href="https://vimeo.com/443135331" rel="nofollow" target="_blank">Tibero</a>, </b>podemos disfrutar de un buen ejemplo de despliegue. Hay un buen manual de como montar un cluster Tibero en AWS, en esta página: <a href="http://www.dbajunior.com/tibero/tibero-active-cluster-en-aws/" rel="nofollow" target="_blank">DBA Junior</a></span></span></p><p style="text-align: center;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ56z5zIB1RLKZ-3F9Sa_pl5OX5_BIzQ2DPobo5z9GrljrbPXlXxzgiD9cv0LxUnbshdwgU2xUJU4aNC53BtccDfFNr_XcP4c3brJGDrHZk-3OEzccS_tA29556OPc_t1j0JS2nurXN4A/s768/Tibero_arch.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="663" data-original-width="768" height="552" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZ56z5zIB1RLKZ-3F9Sa_pl5OX5_BIzQ2DPobo5z9GrljrbPXlXxzgiD9cv0LxUnbshdwgU2xUJU4aNC53BtccDfFNr_XcP4c3brJGDrHZk-3OEzccS_tA29556OPc_t1j0JS2nurXN4A/w640-h552/Tibero_arch.png" width="640" /></a></div><br /><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><br /></span><p></p><div style="text-align: left;"><h3 style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;">Oracle: ¿Obtienes lo que pagas?</span></span></h3><span style="font-family: inherit;"><span style="color: #333333;">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.</span></span></div><div style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;"><br /></span><span style="color: #333333;">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.</span></span></div><div style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;"><br /></span><span style="color: #333333;">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.</span><span style="color: #333333;"><br /></span><span style="color: #333333;"><br /></span></span></div><h3 style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;">Código abierto: ¿Las mejores cosas de la vida son realmente gratuitas?</span></span></h3><div style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;"><i>MySQL</i> 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.</span><span style="color: #333333;"><br /></span><span style="color: #333333;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;">Otro RDBMS de código abierto popular es <i>PostgreSQL</i>, 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.</span><span style="color: #333333;"><br /></span><span style="color: #333333;"><br /></span></span></div><div style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;">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.</span></span></div><div style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;"><br /></span></span><h3 style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;">TmaxSoft Tibero: ¿El secreto RDBMS mejor guardado?</span></span></h3><span style="font-family: inherit;"><ul style="text-align: left;"><li><span style="font-family: inherit;"><span style="color: #333333;">Si la adopción de bases de datos fuera parte del concurso <i>Let's Make a Deal</i>, Oracle estaría detrás de la puerta # 1. </span></span></li><li><span style="font-family: inherit;"><span style="color: #333333;">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. </span></span></li></ul></span></div><div style="text-align: left;"><ul style="text-align: left;"><li><span style="font-family: inherit;"><span style="color: #333333;">En el juego RDBMS, al igual que en </span></span><i style="color: #333333;">Let's Make a Deal</i><span style="font-family: inherit;"><span style="color: #333333;">, hay una puerta n. ° 3; sin embargo, TmaxSoft Tibero, que está detrás de él, es más un secreto que un misterio.</span></span></li></ul></div><div style="text-align: left;"><span style="font-family: inherit;"><span style="color: #333333;"><br /></span><span style="color: #333333;">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.</span></span></div><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><br /></span></p><p style="text-align: left;"><span face="Lucida Grande, Lucida Sans Unicode, Arial, Verdana, sans-serif" style="color: #333333;"><br /></span></p><div style="text-align: left;"><br /></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com1tag:blogger.com,1999:blog-2318177925841783185.post-77765034723363325042021-01-20T20:48:00.001+01:002021-01-20T20:48:27.139+01:00Monitoreo de índices de bases de datos<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh89h9rtw_5M0aCrfk9D1Co6nH1HbFS5jDq4TOyfpsB4DsQMgVhpubPkF84koMv8bCTEFbJxXFWIj_ikuvmE9VJ70jQzRGWWPbyT0PaNWCbBYWPtztwVJwYx2Ypvz-AQy1h8l3Iug7l1vU/s300/oracle-database-logo-negro.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="148" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh89h9rtw_5M0aCrfk9D1Co6nH1HbFS5jDq4TOyfpsB4DsQMgVhpubPkF84koMv8bCTEFbJxXFWIj_ikuvmE9VJ70jQzRGWWPbyT0PaNWCbBYWPtztwVJwYx2Ypvz-AQy1h8l3Iug7l1vU/s0/oracle-database-logo-negro.png" /></a></div><br /><p></p><p><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><span class="JLqJ4b ChMk0b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="0" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$16" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb">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.</span></span><span class="JLqJ4b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="1" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$17" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb"> </span></span></span></p><p><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><span class="JLqJ4b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="1" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$17" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb"></span></span><span class="JLqJ4b ChMk0b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="2" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$18" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb">Dos cosas a tener en cuenta:</span></span><span class="JLqJ4b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="3" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$19" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb"> </span></span></span></p><p></p><ul style="text-align: left;"><li><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><span class="JLqJ4b ChMk0b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="4" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$20" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb">No siempre marca un índice como usado, <u>incluso si se usa</u>.</span></span> <span class="JLqJ4b ChMk0b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="5" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$21" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb">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.</span></span><span class="JLqJ4b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="6" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$22" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb"> </span></span></span></li><li><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><span class="JLqJ4b ChMk0b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="7" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$23" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb">La vista utilizada para observar el uso de índices es específica del esquema.</span></span> <span class="JLqJ4b ChMk0b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="8" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$24" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb">Es posible que esté monitoreando índices, pero los índices no aparecerán en <b>v $ object_usage</b> a menos que inicie sesión como propietario del esquema.</span></span> <span class="JLqJ4b ChMk0b" data-language-for-alternatives="es" data-language-to-translate-into="en" data-phrase-index="9" jsaction="agoMJf:PFBcW;usxOmf:aWLT7;jhKsnd:P7O7bd,F8DmGf;Q4AGo:Gm7gYd,qAKMYb;uFUCPb:pvnm0e,pfE8Hb,PFBcW;f56efd:dJXsye;EnoYf:KNzws,ZJsZZ,JgVSJc;zdMJQc:cCQNKb,ZJsZZ,zchEXc;Ytrrj:JJDvdc;tNR8yc:GeFvjb;oFN6Ye:hij5Wb" jscontroller="Zl5N8" jsdata="uqLsIf;_;$25" jsmodel="SsMkhd" jsname="txFAF"><span jsaction="click:qtZ4nf,GFf3ac,tMZCfe; contextmenu:Nqw7Te,QP7LD; mouseout:Nqw7Te; mouseover:qtZ4nf,c2aHje" jsname="W297wb">Es mejor ir directamente a la consulta subyacente para ver todos los índices supervisados (consulta a continuación).</span></span></span></li></ul><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es">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):</span><p></p><p><span style="font-family: courier;">SELECT 'ALTER INDEX '||ic.index_name||' MONITORING USAGE;'</span></p><p><span style="font-family: courier;"> FROM all_ind_columns ic, all_indexes i</span></p><p><span style="font-family: courier;"> WHERE i.uniqueness = 'NONUNIQUE' --don't monitor unique indexes</span></p><p><span style="font-family: courier;"> AND i.table_owner = 'SCHEMA_OWNER_HERE'</span></p><p><span style="font-family: courier;"> AND ic.index_owner = i.owner</span></p><p><span style="font-family: courier;"> AND ic.index_name = i.index_name</span></p><p><span style="font-family: courier;"> AND ic.position = 1</span></p><p><span style="font-family: courier;"> AND NOT EXISTS (SELECT 'x' --Don't monitor indexes on FK's</span></p><p><span style="font-family: courier;"> FROM all_cons_columns cc, all_constraints c</span></p><p><span style="font-family: courier;"> WHERE ic.table_name = cc.table_name</span></p><p><span style="font-family: courier;"> AND ic.column_name = cc.column_name</span></p><p><span style="font-family: courier;"> AND c.constraint_name = cc.constraint_name</span></p><p><span style="font-family: courier;"><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"></span></span></p><p><span style="font-family: courier;"> AND c.constraint_type IN ('R'));</span></p><div style="text-align: left;"><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es">Aquí está la consulta para ver los objetos monitoreados si no ha iniciado sesión como propietario del esquema:</span></div><div style="text-align: left;"><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><span style="font-family: courier;"><div><br /></div><div>select d.username, io.name, t.name,</div><div> decode(bitand(i.flags, 65536), 0, 'NO', 'YES'),</div><div> decode(bitand(ou.flags, 1), 0, 'NO', 'YES'),</div><div> ou.start_monitoring,</div><div> ou.end_monitoring </div><div>from sys.obj$ io, sys.obj$ t, sys.ind$ i, sys.object_usage ou,</div><div> dba_users d</div><div>where io.owner# = d.user_id</div><div> AND d.username = 'SCHEMA_OWNER_HERE'</div><div> and i.obj# = ou.obj#</div><div> and io.obj# = ou.obj#</div><div> and t.obj# = i.bo#;</div></span></span></div><div style="text-align: left;"><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><br /></span></div><div style="text-align: left;"><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es">Y aquí hay un ejemplo de monitoreo de índices en acción, incluido el uso de índice único que no se marca:</span></div><div style="text-align: left;"><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><div style="font-family: courier;">CREATE TABLE test_monitoring AS SELECT level id, dbms_random.value(1,1000) value FROM dual CONNECT BY LEVEL <= 5000;</div><div style="font-family: courier;"><br /></div><div style="font-family: courier;">Table created.</div><div style="font-family: courier;"><br /></div><div style="font-family: courier;">CREATE UNIQUE INDEX test_monitoring_idx ON test_monitoring(id);</div><div style="font-family: courier;"><br /></div><div style="font-family: courier;">Index created.</div><div style="font-family: courier;"><br /></div><div style="font-family: courier;">ALTER INDEX test_monitoring_idx MONITORING USAGE;</div><div style="font-family: courier;"><br /></div><div style="font-family: courier;">Index altered.</div><div style="font-family: courier;"><br /></div><div><div><span style="font-family: inherit;">--Using index for PK enforcement - does not flag the index as used:</span></div><div><span style="font-family: courier;">INSERT INTO test_monitoring VALUES (100,0);</span></div><div><span style="font-family: courier;">INSERT INTO test_monitoring VALUES (100,0)</span></div><div><span style="font-family: courier;">*</span></div><div><span style="font-family: courier;">ERROR at line 1:</span></div><div><span style="font-family: courier;">ORA-00001: unique constraint (BAYPAS.TEST_MONITORING_IDX) violated </span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">SELECT index_name, used FROM v$object_usage WHERE index_name = UPPER('test_monitoring_idx');</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">INDEX_NAME USE </span></div><div><span style="font-family: courier;">------------------------------ --- </span></div><div><span style="font-family: courier;">TEST_MONITORING_IDX NO </span><span style="font-family: inherit;"> </span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;">--But we run a select that will use the index</span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: inherit;"><br /></span></div><div><span style="font-family: courier;">SELECT * FROM test_monitoring WHERE id = 100;</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;"> ID VALUE </span></div><div><span style="font-family: courier;">---------- ---------- </span></div><div><span style="font-family: courier;"> 100 255.5571 </span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">--And now the index shows up as used:</span></div><div><span style="font-family: courier;">SELECT index_name, used FROM v$object_usage WHERE index_name = 'TEST_MONITORING_IDX';</span></div><div><span style="font-family: courier;"><br /></span></div><div><span style="font-family: courier;">INDEX_NAME USE </span></div><div><span style="font-family: courier;">------------------------------ --- </span></div><div><span style="font-family: courier;">TEST_MONITORING_IDX YES</span></div></div></span></div><div style="text-align: left;"><span class="VIiyi" jsaction="mouseup:BR6jm" jsname="jqKxS" lang="es"><br /></span></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-71024028400338219372021-01-20T14:31:00.004+01:002021-01-20T14:45:08.202+01:00Oracle RAC Highly Available IP (HAIP)<div dir="ltr" style="text-align: left;" trbidi="on"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBQSYGnRPa9a__Rbu_XBDPnxer_ddX2Dchwtm9VncqpMpZnifaAvWtBHxkvZu47rfbtQDronPPWUekEJWvStEhPIjXATL6KgRdziP5E9I5zX4ytTwrt0ajZHnf0EjL-JTMzEYf75ZHTY/s240/oraclewww.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="135" data-original-width="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqBQSYGnRPa9a__Rbu_XBDPnxer_ddX2Dchwtm9VncqpMpZnifaAvWtBHxkvZu47rfbtQDronPPWUekEJWvStEhPIjXATL6KgRdziP5E9I5zX4ytTwrt0ajZHnf0EjL-JTMzEYf75ZHTY/s0/oraclewww.jpg" /></a></div><br /><div style="text-align: center;"><br /></div>
<br />
<span face="Arial, Helvetica, sans-serif">Oracle 11gR2 introdujo el <b>RAC Highly Available IP (HAIP)</b> 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. </span><br />
<span face="Arial, Helvetica, sans-serif"><br /></span>
<span face="Arial, Helvetica, sans-serif">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.</span><br />
<span face="Arial, Helvetica, sans-serif"><br /></span>
<span face="Arial, Helvetica, sans-serif">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.</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh44m6__0X9WxEOK1ZY_GS4sk0WT60Kdggf9h8ngcvB4UP98LGPlOqlgCcM0-ZCw7AvKMbv3pW3SjNBJ5mGz6mvtmPxA6rxICK7CeRBT4rN46E03C-EaR9KhjtJQfWPHwcq8tnCU4wOoQo/s1520/rachaip.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="727" data-original-width="1520" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh44m6__0X9WxEOK1ZY_GS4sk0WT60Kdggf9h8ngcvB4UP98LGPlOqlgCcM0-ZCw7AvKMbv3pW3SjNBJ5mGz6mvtmPxA6rxICK7CeRBT4rN46E03C-EaR9KhjtJQfWPHwcq8tnCU4wOoQo/w640-h306/rachaip.png" width="640" /></a></div><br /><div dir="ltr" style="text-align: left;" trbidi="on"><br />
<span face="Arial, Helvetica, sans-serif"><br /></span>
<span face="Arial, Helvetica, sans-serif">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.</span><br />
<span face="Arial, Helvetica, sans-serif"><br /></span>
<span face="Arial, Helvetica, sans-serif">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.</span><br />
<br />
<span face="Arial, Helvetica, sans-serif">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. </span><br />
<span face="Arial, Helvetica, sans-serif"><br /></span>
<span face="Arial, Helvetica, sans-serif">A continuación, se muestra el nombre del recurso <a href="http://www.dba-oracle.com/t_rac_tuning_haip.htm">ora.cluster_interconnect.haip</a> está en línea.</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><br /></div><div dir="ltr" style="text-align: left;" trbidi="on"><h3 style="text-align: left;">Primea instalación</h3></div><div dir="ltr" style="text-align: left;" trbidi="on"><span face="Arial, Helvetica, sans-serif"><div dir="ltr" trbidi="on">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.</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">Lo que me llamó la atención es esta extraña dirección IP en la interfaz virtual de mi red privada:</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">inet 169.254.42.186/19 brd 169.254.42.255 alcance global eth2: 1</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">Esto sucede cuando HAIP está activo y configurado.</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">Así que comprobaré</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on"><span style="font-family: courier;">crsctl stat res -t -init</span></div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on"><span style="font-family: courier;">ora.cluster_interconnect.haip</span></div><div dir="ltr" trbidi="on"><span style="font-family: courier;">1 ONLINE ONLINE srvpcaoraent1 ESTABLE</span></div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">Ok, tenía HAIP, pero ¿Qué es HAIP?</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">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.</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">¡Excelente!</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">Leí y encontré cómo ver la dirección IP utilizada globalmente</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">seleccione inst_id, name, ip_address de gv $ cluster_interconnects;</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">INST_ID NAME IP_ADDRESS</div><div dir="ltr" trbidi="on">———- ————— ———————————————-</div><div dir="ltr" trbidi="on">1 eth2: 1 169.254.31.186</div><div dir="ltr" trbidi="on">2 eth2: 1 169.254.27.70</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">Y también</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">oifcfg getif</div><div dir="ltr" trbidi="on">eth0 10.1.0.0 público global</div><div dir="ltr" trbidi="on">eth2 192.168.181.0 global cluster_interconnect, asm</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">oifcfg le permite agregar y eliminar interfaces fácilmente</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">$ oifcfg setif -global <interface> / <subnet>: cluster_interconnect></div><div dir="ltr" trbidi="on">$ oifcfg delif -global <nombre_si></div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">Según la documentación 18c</div><div dir="ltr" trbidi="on"> </div><div dir="ltr" trbidi="on">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 </div></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span face="Arial, Helvetica, sans-serif"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span face="Arial, Helvetica, sans-serif"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span face="Arial, Helvetica, sans-serif"><br /></span></div><div dir="ltr" style="text-align: left;" trbidi="on"><span face="Arial, Helvetica, sans-serif"><br /></span></div>
Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com1tag:blogger.com,1999:blog-2318177925841783185.post-8804261514694797762021-01-19T21:31:00.004+01:002021-01-20T11:44:10.101+01:00¿Cómo seguir utilizando Flash en 2021? Para poder ejecutar Oracle Database Control<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZMMNPl4VuYTkcwZx2w_orCuOyuK0LebZKFiGzVTw14HjThcGDG3chSX9PYWMSjEx2bW8k6fsJNDK7s6YlXVAyxJPRojadzFL5-WA3ptzl01rpYbpEQEKSm1t2KAdZi9jHNI90RX16ZjI/s318/images.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="159" data-original-width="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZMMNPl4VuYTkcwZx2w_orCuOyuK0LebZKFiGzVTw14HjThcGDG3chSX9PYWMSjEx2bW8k6fsJNDK7s6YlXVAyxJPRojadzFL5-WA3ptzl01rpYbpEQEKSm1t2KAdZi9jHNI90RX16ZjI/s0/images.png" /></a></div><p></p><h4 style="clear: both; text-align: left;">¿Cómo seguir utilizando Flash en 2021?</h4><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">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. </div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Descargar un navegador que no deshabilite el funcionamiento de Flash</li><li>Actualización de Adobe Flash Player</li><li>Configurar Adobe Flash Player para que permita el acceso al servicio afectado</li></ul></div><div class="separator" style="clear: both;">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 <b><a href="http://www.palemoon.org/" rel="nofollow" target="_blank">Pale Moon</a></b>, 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.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Ahora crearemos un archivo con el bloc de notas y el siguiente contenido:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;"><i>EnableAllowList=1</i></div><div class="separator" style="clear: both;"><i>AllowListRootMovieOnly=1</i></div><div class="separator" style="clear: both;"><i>AllowListUrlPattern=<b>https://LAPTOP-3RJGV85G:1158/em</b></i></div><div class="separator" style="clear: both;"><i>SilentAutoUpdateEnable=0</i></div><div class="separator" style="clear: both;"><i>AutoUpdateDisable=1</i></div><div class="separator" style="clear: both;"><i>EOLUninstallDisable=1</i></div><div class="separator" style="clear: both;"><i><br /></i></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">Ese fichero lo guardaremos como <u>mms.cfg</u> y lo copiaremos en:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">32 bits</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>C:/Windows/system32/Macromed/Flash</li></ul></div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">64 bits</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>C:/Windows/SysWOW64/Macromed/Flash</li><li>C:/Windows/system32/Macromed/Flash</li></ul></div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig_2YGNBy4BticuOJIp5p5tsryNLgOzl8dIpPZ-qR-ZEK69K2B13R_PbDYGiKMY3LxCBb57ggDzeYp_gXVW0ZNV_ecfWm0qFIEbpG2mXQkyxsqOQV-zhXUfEh-jDRUm1NdsdVWSHyNmn0/s1925/enterprisemanager.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1019" data-original-width="1925" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig_2YGNBy4BticuOJIp5p5tsryNLgOzl8dIpPZ-qR-ZEK69K2B13R_PbDYGiKMY3LxCBb57ggDzeYp_gXVW0ZNV_ecfWm0qFIEbpG2mXQkyxsqOQV-zhXUfEh-jDRUm1NdsdVWSHyNmn0/w640-h338/enterprisemanager.png" width="640" /></a></div><br /><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">Se recomienda hacer una copia de seguridad del fichero<u> mms.cfg</u> original, antes de nada. En caso de necesitar acceder a otras aplicaciones flash es necesario añadir al archivo <u>mms.cfg</u> una línea por cada aplicación:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;">AllowListUrlPattern=http[s]://[DOMINIO_APLICACION/</div></div></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-46374189981123523102021-01-19T05:06:00.006+01:002021-01-20T14:32:06.065+01:00Desinstalación manual y limpia de Oracle 11g Enterprise Edition para Windows<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVjNmoZQbNuwb7qrGce7rf6Tri2146TcON5bDyCslrhRqwUWLHywVWmRh0Tmcagdrf-VHzkif48VoYfZwfqoXPBUu4qjLVorNBf-MWj3-RdkqTnZFJXkSqLSqpBX226-uX-ZatPQgGi6g/s240/oraclewww.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="135" data-original-width="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVjNmoZQbNuwb7qrGce7rf6Tri2146TcON5bDyCslrhRqwUWLHywVWmRh0Tmcagdrf-VHzkif48VoYfZwfqoXPBUu4qjLVorNBf-MWj3-RdkqTnZFJXkSqLSqpBX226-uX-ZatPQgGi6g/s0/oraclewww.jpg" /></a></div><br /><p></p><p><br /></p><p style="text-align: left;"><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">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:
</span></p><ul style="text-align: left;"><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Desinstale todos los componentes de Oracle mediante Oracle Universal Installer (OUI).</span></li><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Elimine la clave HKEY_LOCAL_MACHINE / SOFTWARE / ORACLE que contiene entradas de registro para todos los productos de Oracle utilizando regedit.</span></li><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">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.</span></li><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Reinicie la estación de trabajo.</span></li><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Elimina el directorio ORACLE_BASE. (es decir, C: \ Oracle)</span></li><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Elimine el directorio C: \ Archivos de programa \ Oracle.</span></li><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Vacíe el directorio temporal.</span></li><li><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Vacía la papelera de reciclaje.</span></li></ul><span style="background-color: whitesmoke; font-family: Roboto, RobotoDraft, Helvetica, Arial, sans-serif; font-size: 18px; white-space: pre-wrap;">Con esto, la computadora está más o menos libre de cualquier componente de Oracle, lo que le permite reinstalar Oracle si es necesario.</span><p></p>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-88977926678930345922020-11-28T00:45:00.005+01:002020-11-28T14:53:52.390+01:00Copias de seguridad gestionadas por el usuario en Oracle<p> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1cLnnTZ4bpbJ__Up0C8LM9CNRMqRQz_VRz5t1wfZyZMwMME8C9C3rplP3YJCkeLa6YnjnWqU-h5tv53cze4mnZzE5qj4nsE44WbDto_isf0cxOJdNEG1TPrxThWJmIrNV0LSpo21YdGk/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="287" data-original-width="400" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1cLnnTZ4bpbJ__Up0C8LM9CNRMqRQz_VRz5t1wfZyZMwMME8C9C3rplP3YJCkeLa6YnjnWqU-h5tv53cze4mnZzE5qj4nsE44WbDto_isf0cxOJdNEG1TPrxThWJmIrNV0LSpo21YdGk/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">Empezaremos esta entrada en el blog, con la ortodoxia de una definición canónica de copia de seguridad (backup).</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>Definición</b>: 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.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both;">Hay dos tipos de respaldo</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Copia de seguridad física</li><li>Copia de seguridad lógica</li></ul><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Osu95lYH2B_67KaGvVXR3DvlOyfohenrNo5WJvrTPw3TnG9twtIl2PiwW_rWjZ_q07Iry31Puvt3G0HPW9qHUEJ4at4cud79Bbxjv3mOcX-BCxp9R6b8Nsb1dN9XHF5CZtGzZ-oe4aQ/s618/backup.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="402" data-original-width="618" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2Osu95lYH2B_67KaGvVXR3DvlOyfohenrNo5WJvrTPw3TnG9twtIl2PiwW_rWjZ_q07Iry31Puvt3G0HPW9qHUEJ4at4cud79Bbxjv3mOcX-BCxp9R6b8Nsb1dN9XHF5CZtGzZ-oe4aQ/s16000/backup.png" /></a></div><br /><div class="separator" style="clear: both; text-align: left;"><h3 style="clear: both; text-align: left;"><b>Copia de seguridad física (Physical Backup)</b></h3><div class="separator" style="clear: both;">Copia de todos los archivos de datos físicos necesarios para realizar la restauración y recuperación de la base de datos,</div><div class="separator" style="clear: both;">Este tipo de copia de seguridad incluye una copia de los archivos siguientes</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Archivos de información</li><li>Controlar archivos</li><li>Archivos de parámetros</li><li>Archivos de registro archivados</li></ul></div><div class="separator" style="clear: both;">Las diferentes opciones para realizar copias de seguridad físicas son</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Técnicas gestionadas por el usuario</li><li>RMAN (Recovery Manager)</li></ul></div></div><h3 style="clear: both; text-align: left;"><b>Copia de seguridad lógica (Logical Backup)</b></h3><div class="separator" style="clear: both;">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.</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>exp / expdp</li><li>imp / impdp</li></ul></div><h3 style="clear: both; text-align: left;">Diferencia entre restauración y recuperación</h3><div class="separator" style="clear: both;"><b>Restaurar</b>: 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</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><b>Recuperar:</b> 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.</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><h3 style="clear: both; text-align: left;">Copias de seguridad gestionadas por el usuario</h3><h4 style="clear: both; text-align: left;"></h4><h3 style="text-align: left;">Backpup en Frio</h3><div class="separator" style="clear: both;">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:</div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>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</li><li>Copia de seguridad de todos los archivos de datos, archivos de control, archivos de parámetros mediante el comando de copia del sistema operativo</li><li>Iniciar la base de datos</li><li>Archive todos los registros de rehacer no archivados utilizando el siguiente comando y cópielos en la ubicación de la copia de seguridad.</li></ul><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter tablespace SIGE_TBS offline normal;</span></div><div class="separator" style="clear: both;"><span style="box-sizing: border-box; color: #333333; font-family: "Courier New"; font-size: 13.5pt; line-height: 19.26px;"><br /></span></div><h3 style="clear: both; text-align: left;">Copia de seguridad de datos sin conexión (Offline)</h3></div><div class="separator" style="clear: both;"><div class="separator" style="clear: both;">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.</div><div class="separator" style="clear: both;">suponga que el espacio de tabla es SIGE_TBS:</div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><ul style="text-align: left;"><li>Identifique todos los archivos de datos asociados con el espacio de tabla mediante la vista dba_data_files</li></ul></div><div class="separator" style="clear: both;"><br /></div><div class="separator" style="clear: both;"><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">select tablespace_name,file_name from dba-data_files from dba_data_files where tablespace_name='SIGE_TBS';</span></div></div><div style="text-align: left;"><br /><ul style="text-align: left;"><li>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)</li></ul></div><div style="text-align: left;"><div><br /></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter tablespace SIGE_TBS offline normal;</span></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;"><br /></span></div><div><ul style="text-align: left;"><li>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.</li></ul><ul style="text-align: left;"><li>Ponga el tablespace en línea.</li></ul></div><div><br /></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter tablespace SIGE_TBS online;</span></div><div><br /></div><div>Archive todos los registros de rehacer no archivados y copie el registro archivado en la ubicación de la copia de seguridad.</div><div><br /></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter system archive log current;</span></div><h4 style="text-align: left;"></h4><h3 style="text-align: left;">Backups en caliente</h3><div><div>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.</div><div>Al realizar una copia de seguridad en caliente, Oracle deja de registrar puntos de control en todos los archivos de datos asociados.</div><div>A continuación se muestran dos cosas que suceden internamente mientras la base de datos se pone en modo BEGIN BACKUP:</div><div><br /></div><div><ul style="text-align: left;"><li>Se establece una bandera de respaldo activo en el encabezado del archivo de datos</li><li>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.</li></ul></div><div>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.</div></div><div><br /></div><div><div><b>Copia de seguridad en caliente de toda la base de datos</b></div><div>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;'</div><div>Este es el tipo más común de copia de seguridad administrada por el usuario que utiliza DBA en todo el mundo.</div><div>A continuación se muestran los pasos:</div></div><div><div><ul style="text-align: left;"><li>Coloque la base de datos en modo de respaldo.</li></ul><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter database begin backup;</span><br /><ul style="text-align: left;"><li>Haga una copia de seguridad de todos los archivos de datos y archivos de parámetros utilizando el comando de copia del sistema operativo-</li></ul><ul style="text-align: left;"><li>Saque la base de datos del modo de respaldo.</li></ul><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter database end backup;</span><br /><ul style="text-align: left;"><li>Archivar todos los registros no archivados y copiarlos como respaldo.</li></ul><ul style="text-align: left;"><li>Crear copia del archivo de control como seguimiento.</li></ul><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter system archivelog current;</span><br /><ul style="text-align: left;"><li>modifique el archivo de control de copia de seguridad de la base de datos a '/control_file.trc;</li></ul></div></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;">alter system archive log current;</span></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;"><br /></span></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;"><br /></span></div><div><span style="background-color: #d9d9d9;"><span style="color: #333333;"><div style="font-family: inherit; font-size: 18px;"><b>Copia de seguridad en caliente de la base de datos de contenedores</b></div><div style="font-family: inherit; font-size: 18px;">Como se introdujo en <i><u>Oracle 12c</u></i>, 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.</div><div style="font-family: inherit; font-size: 18px;"><br /></div><div style="font-family: inherit; font-size: 18px;">Base de datos de contenedores completa:</div><div style="font-family: inherit; font-size: 18px;"><br /></div><div style="font-family: inherit; font-size: 18px;">A continuación se muestran los pasos mencionados:</div><div><div><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Inicie sesión en la base de datos utilizando un usuario que tenga privilegios de sysdba o sysbackup.</li></ul><div style="background-color: white; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: 16px; margin: 0px;"><div style="background: rgb(217, 217, 217); box-sizing: border-box; margin: 0in;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">sqlplus /nolog</span><span style="box-sizing: border-box; font-size: 13.5pt;"><o:p style="box-sizing: border-box;"></o:p></span></div><br style="box-sizing: border-box;" /><div style="background: rgb(217, 217, 217); box-sizing: border-box; margin: 0in;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">connect system@container1</span><o:p style="box-sizing: border-box;"></o:p></div><div><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;"><br /></span></div></div><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Coloque su base de datos en modo de respaldo.ç</li></ul><span style="color: black; font-family: "Courier New"; font-size: 18px;">alter database begin backup;</span><span style="font-size: 18px;"><br /></span><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Modificar la base de datos comenzar la copia de seguridad;</li></ul><span style="color: black; font-family: "Courier New"; font-size: 18px;">select file_name from dba_data_files;</span><span style="font-size: 18px;"><br /></span><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Identifique todas las bases de datos relacionadas con la base de datos del contenedor usando el siguiente comando.</li></ul><span style="color: black; font-family: "Courier New"; font-size: 18px;">select file_name from dba_data_files;</span><span style="font-size: 18px;"><br /></span><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Copie toda la base de datos usando el comando de copia del sistema operativo.</li></ul><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Saque la base de datos del modo de respaldo.</li></ul><span style="color: black; font-family: "Courier New"; font-size: 18px;">alter database end backup;</span><span style="font-size: 18px;"><br /></span><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Archivar todos los registros no archivados y copiarlos como respaldo.</li></ul><span style="color: black; font-family: "Courier New"; font-size: 18px;">alter system archivelog current;</span><span style="font-size: 18px;"><br /></span><ul style="font-family: inherit; font-size: 18px; text-align: left;"><li>Crear copia del archivo de control como seguimiento.</li></ul><span style="box-sizing: border-box; color: black; font-family: "Courier New"; font-size: 13.5pt; line-height: 19.26px;">alter database backup controlfile to '</span><location style="box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; font-size: 16px;">/control_file.trc;</location></div></div></span></span></div><div><span style="background-color: #d9d9d9; color: #333333; font-family: "Courier New"; font-size: 18px;"><br /></span></div><div><span style="background-color: #d9d9d9;"><div style="color: #333333; font-family: inherit; font-size: 18px;"><b>ROOT solo o PDB individual</b></div><div style="color: #333333; font-family: inherit; font-size: 18px;"><br /></div><div style="color: #333333; font-family: inherit; font-size: 18px;">A continuación se muestran los sencillos pasos para completar la copia de seguridad en caliente de root <span style="font-family: inherit;">contenedor o base de datos conectable individual.</span></div><div style="color: #333333; font-family: inherit; font-size: 18px;"><span style="font-family: inherit;"><br /></span></div><div style="color: #333333;"><ul style="text-align: left;"><li><span style="font-size: 18px;">Conectar a la raíz o base de datos conectable individuo con usuario tenga privilegios SYSDBA o sysbackup.</span></li></ul><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: 16px; margin: 0in;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">sqlplus /nolog</span><span style="box-sizing: border-box; font-size: 13.5pt;"><o:p style="box-sizing: border-box;"></o:p></span></div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: 16px; margin: 0in;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">connect system</span><span style="box-sizing: border-box; font-size: 13.5pt;"><o:p style="box-sizing: border-box;"></o:p></span></div><br style="background-color: white; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: 16px;" /><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: 16px; margin: 0in;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">alter session set container= tech_pdb;</span></div></div><div style="color: #333333; font-family: inherit; font-size: 18px;"><span style="font-family: inherit;"><br /></span></div><div><div style="color: #333333;"><ul style="text-align: left;"><li><span style="font-size: 18px;">Identifique todos los archivos de datos que forman parte de PDB usando la vista dba_data_files.</span></li></ul></div><div style="color: #333333;"><span style="font-size: 18px;"><br /></span></div><div style="color: #333333;"><span style="color: black; font-family: "Courier New"; font-size: 18px;">select file_name from dba_data_files;</span></div><div><span><div><ul style="color: #333333; font-family: inherit; font-size: 18px; text-align: left;"><li><span style="font-size: 18px;"><span style="font-family: inherit;">Coloque la base de datos conectable en modo de respaldo.</span></span></li></ul><span style="font-family: "Courier New"; font-size: 18px;">alter pluggable database tech_pdb begin backup;</span><span style="color: #333333;"><span style="font-size: 18px;"><br /></span></span><ul style="color: #333333; font-family: inherit; font-size: 18px; text-align: left;"><li>Copie todos los archivos de datos usando el comando de copia del SO.</li><li>Saque la PDB del modo de inicio de copia de seguridad.</li></ul><span style="font-family: "Courier New"; font-size: 18px;">alter pluggable database tech_pbd end backup;</span></div></span></div><div><ul style="text-align: left;"><li><span style="font-size: 18px;"><span style="font-family: inherit;">Archivar todos los registros no archivados y copiarlos como respaldo</span></span></li></ul><span style="font-family: "Courier New"; font-size: 18px;">alter system archivelog current;</span><span style="font-size: 18px;"><br /></span><ul style="text-align: left;"><li><span style="font-family: inherit; font-size: medium;">Crear una copia del archivo de control como seguimiento</span></li></ul></div><div><span style="font-family: inherit; font-size: medium;"><br /></span></div><div><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt; line-height: 19.26px;">alter database backup controlfile to '</span><location style="box-sizing: border-box; font-family: "courier new", courier, monospace; font-size: 16px;">/control_file.trc;</location></div><div style="color: #333333;"><span style="font-size: 18px;"><b><br /></b></span></div><div style="color: #333333;"><span style="font-size: 18px;"><b>Controlar la copia de seguridad de archivos</b></span></div><div style="color: #333333;"><span style="font-size: 18px;">Hay dos formas de recuperar el control</span></div><div style="color: #333333;"><ul style="text-align: left;"><li><span style="font-size: 18px;">Copia de seguridad binaria</span></li><li><span style="font-size: 18px;">Copia de seguridad de archivos de texto</span></li></ul></div><div style="color: #333333;"><span style="font-size: 18px;">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.</span></div><div style="color: #333333;"><span style="font-size: 18px;"><br /></span></div><div style="color: #333333;"><span style="font-size: 18px;"><b>Copia de seguridad binaria</b></span></div><div style="color: #333333;"><span style="font-size: 18px;">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.</span></div><div style="color: #333333;"><span style="font-size: 18px;">comando para tomar una copia de seguridad binaria.</span></div><div style="color: #333333;"><span style="font-size: 18px;"><br /></span></div><div style="color: #333333;"><span style="box-sizing: border-box; color: black; font-family: "Courier New"; font-size: 13.5pt; line-height: 19.26px;">alter database backup controlfile to '</span><location style="box-sizing: border-box; color: black; font-family: "courier new", courier, monospace; font-size: 16px;">';</location></div></div><div style="color: #333333; font-family: inherit; font-size: 18px;"><span style="font-family: inherit;"><b><br /></b></span></div><div style="color: #333333; font-family: inherit; font-size: 18px;"><span style="font-family: inherit;"><div><b>Copia de seguridad de archivos de texto</b></div><div>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.</div><div>A continuación se muestran algunas declaraciones utilizadas para crear una copia de seguridad basada en texto del archivo de control.</div><div><br /></div><div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: medium; margin: 0in 0in 0.0001pt;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">1. alter database backup controlfile to trace;</span><span style="box-sizing: border-box; font-size: 13.5pt;"><o:p style="box-sizing: border-box;"></o:p></span></div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: medium; margin: 0in 0in 0.0001pt;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">2. alter database backup controlfile to trace resetlogs;</span><span style="box-sizing: border-box; font-size: 13.5pt;"><o:p style="box-sizing: border-box;"></o:p></span></div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: medium; margin: 0in 0in 0.0001pt;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">3. alter database backup controlfile to trace noresetlogs;</span><span style="box-sizing: border-box; font-size: 13.5pt;"><o:p style="box-sizing: border-box;"></o:p></span></div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: medium; margin: 0in 0in 0.0001pt;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">4. alter database backup controlfile to trace as '<location style="box-sizing: border-box;"><location style="box-sizing: border-box;">';</location></location></span><span style="box-sizing: border-box; font-size: 13.5pt;"><o:p style="box-sizing: border-box;"></o:p></span></div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: medium; margin: 0in 0in 0.0001pt;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">5. alter database backup controlfile to trace as '</span><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 18px;"><location style="box-sizing: border-box;"></location></span><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">' reuse;</span></div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: medium; margin: 0in 0in 0.0001pt;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">6. alter database backup controlfile to trace as '</span><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 18px;"><location style="box-sizing: border-box;"></location></span><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">' resetlogs;</span></div><div style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; box-sizing: border-box; color: black; font-family: Rokkitt, sans-serif; font-size: medium; margin: 0in 0in 0.0001pt;"><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">7. alter database backup controlfile to trace as '</span><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 18px;"><location style="box-sizing: border-box;"></location></span><span style="box-sizing: border-box; font-family: "Courier New"; font-size: 13.5pt;">' noresetlogs;</span></div></div></span></div></span></div></div></div></div><p></p>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-67925341479066807102020-11-26T07:27:00.008+01:002020-11-27T20:57:47.499+01:00¿Hay vida más allá de Oracle? Psi-probe para Apache Tomcat<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBSNJzyjDyztPyy0YNLvrZ8i9hlzrzl3nOqoV-rJRY_H06vmxGDznMoq2v8Xwrih6U6rLwW6TgxysBxASZPqjpYgKO6UmiAXXu_gl1M4a_a3npkx8cAI5VHoEb4F1E0mKC3L4Ee6B2vGk/s199/psi-probe.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="199" data-original-width="199" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBSNJzyjDyztPyy0YNLvrZ8i9hlzrzl3nOqoV-rJRY_H06vmxGDznMoq2v8Xwrih6U6rLwW6TgxysBxASZPqjpYgKO6UmiAXXu_gl1M4a_a3npkx8cAI5VHoEb4F1E0mKC3L4Ee6B2vGk/w169-h169/psi-probe.jpg" width="169" /></a></div><br /><p></p><p><b>Psi-probe </b>es un monitor de Apache Tomcat que nació como un fork de <b><a href="http://www.lambdaprobe.org/" rel="nofollow" target="_blank">Lambda Probe</a>,</b> debido a la falta de soporte sobre el mismo y las dudas en cuanto a su futuro.</p><p>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:</p><p></p><ul style="text-align: left;"><li><b>peticiones</b>: dispone de un monitor de tráfico en tiempo real,</li><li><b>sesiones</b>: analizar atributos en sesión, estimar el peso de las mismas,</li><li><b>jsp</b>: navegar, ver el código fuente, recompilar!.</li><li><b>fuentes de datos</b>: analizar el uso del pool de conexiones, ejecutar queries.</li><li><b>logs</b>: ver el contenido, descargar, cambiar el nivel de trazabilidad en caliente.</li><li><b>hilos</b>: ver la pila de ejecución, «matarlos».</li><li><b>conectores</b>: ver el estado, usando gráficas.</li><li><b>cluster</b>: ver el estado, usando gráficas.</li><li><b>JVM</b>: ver el uso de memoria, lanzar el GC, reiniciar la JVM.</li><li><b>Sistema</b>: uso de CPU, memoria,…</li></ul><p></p><p>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.</p><p></p><ul style="text-align: left;"><li><i>Hardware: Portátil Compaq (2.4 GHz Intel Core i7, 4GB DDR3).</i></li><li><i>Sistema Operativo: Windows 10 64 bits</i></li><li><i>Apache Tomcat 9.0.13.</i></li><li><i>Apache Maven: 3.6.3.</i></li><li><i>psi-probe 3.5.2.</i></li></ul><p></p><h3 style="text-align: left;">Instalación en Apache Tomcat.</h3><p>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.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTvLlPulvES7-owk7cLzAgsoeVy5ScPZXT2SntBN7iN5VjiCBeUtQe4Chpn0o1KT0t4iA6Fu4vfNjfK1kk5bdI4P-FNtzEL7YRQ4c7k7qHdB1JvcldKituqizW-sAspI1qGImOPMPm41M/s677/tomcat9.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="597" data-original-width="677" height="565" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTvLlPulvES7-owk7cLzAgsoeVy5ScPZXT2SntBN7iN5VjiCBeUtQe4Chpn0o1KT0t4iA6Fu4vfNjfK1kk5bdI4P-FNtzEL7YRQ4c7k7qHdB1JvcldKituqizW-sAspI1qGImOPMPm41M/w640-h565/tomcat9.JPG" width="640" /></a></div><br /><p>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.</p><p>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.</p><h3 style="text-align: left;"> Monitorización.</h3><p>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.</p><p>La primera interfaz que se muestra es la de las aplicaciones instaladas en la que se puede comprobar que aparece el propio probe.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkmls0x5oCMA1nqADHO3D8W04p69_NPMB4_EAqClQK5wZJGBHNe1mM2hxeuYwVrU7kZV6ZNDErWDqFgcjQkSF-MP1px5UKA0Q3kCDmWT7ApTcrPdrZjRrlpMPNyfOV8BLKUaUGgaPtJwU/s1920/probe2.JPG" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="654" data-original-width="1920" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkmls0x5oCMA1nqADHO3D8W04p69_NPMB4_EAqClQK5wZJGBHNe1mM2hxeuYwVrU7kZV6ZNDErWDqFgcjQkSF-MP1px5UKA0Q3kCDmWT7ApTcrPdrZjRrlpMPNyfOV8BLKUaUGgaPtJwU/w675-h230/probe2.JPG" width="675" /></a></div>Pulsando sobre una aplicación podemos acceder a un breve detalle de toda la información que se recolecta sobre la misma:<div><br /><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHBi4SRdfplRngbtrd9yyTaPHI1VVGf1BhTjfxlrEEi8wJ7JHn1eBpxShEgupprn9txgyoHIqqDkL075GdzSOXQhZupJgDbZSVuQe9CRP9qKczwlLE_ImFt0LBRJuq_SO-koFdA1af-XU/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="701" data-original-width="1257" height="356" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHBi4SRdfplRngbtrd9yyTaPHI1VVGf1BhTjfxlrEEi8wJ7JHn1eBpxShEgupprn9txgyoHIqqDkL075GdzSOXQhZupJgDbZSVuQe9CRP9qKczwlLE_ImFt0LBRJuq_SO-koFdA1af-XU/w640-h356/image.png" width="640" /></a></div><br /><br /><div>En este caso he arrancado la demo de <b><a href="https://myfaces.apache.org/tobago/guide.html" rel="nofollow" target="_blank">MyFaces Tobago</a></b>. 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. <u>Próximamente haré una introducción a este "framework"</u></div><div><br /></div><div><div>Pulsando sobre la sección correspondiente podemos analizar información sobre las sesiones activas:</div><div>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.</div><div><br /></div><div>Existen más opciones en el menú izquierdo, entre ellas la de visualizar el contenido del descriptor de despliegue:</div><div><br /></div><div>los servlets configurados y los parámetros de inicialización y de contexto de los servlets.</div><div><br /></div><div>En la opción de logs podemos acceder a un listado de los ficheros que trazamos. </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG4NfptPNWA4MPv3Qv7nnOLaOhJVe8UKfoAIGxCbzPR8JzsJ5L-kV2GhkJiZo2091Zn4RhFrhdJl8aWeIYFzGn4uXiNIXyLVjYDeSpsceSwwjiSx1iZDgzE7Twubmf819RmeKWQ0hGl1A/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="225" data-original-width="1742" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG4NfptPNWA4MPv3Qv7nnOLaOhJVe8UKfoAIGxCbzPR8JzsJ5L-kV2GhkJiZo2091Zn4RhFrhdJl8aWeIYFzGn4uXiNIXyLVjYDeSpsceSwwjiSx1iZDgzE7Twubmf819RmeKWQ0hGl1A/w640-h82/image.png" width="640" /></a></div><br />y pulsando sobre uno de ellos, se puede visualizar el log, como si hiciéramos un "tail", sobre él mismo. del fichero:</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH0YXsPSkxhKf-6PQLoKI0LDPhR4tkaqXrFw2WlqCmg8tWZIS4GET8szrqCdtFptvBF8m4Ni9RH41cQxkP0Hu0eV0JwGR29Flg9LFsphOrc_tFKtyvELKTykT_WDBcrIt8XSBXMGDQbH8/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="928" data-original-width="1762" height="338" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiH0YXsPSkxhKf-6PQLoKI0LDPhR4tkaqXrFw2WlqCmg8tWZIS4GET8szrqCdtFptvBF8m4Ni9RH41cQxkP0Hu0eV0JwGR29Flg9LFsphOrc_tFKtyvELKTykT_WDBcrIt8XSBXMGDQbH8/w640-h338/image.png" width="640" /></a></div><br />Información sobre el sistema, sobre fuentes JDBC (en este ejemplo, no figuran)</div><div><br /></div><h3 style="text-align: left;">Descripción del sistema</h3><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLN14xS4lCEcCPOlhaHHMiYLsM6KIJgIHvHq_PnKVsaxXeHs_mWImdQ7yElfKhidptSst-UtWq02MGMiFl1PQwjseKa8oNiit4RhSWz-rYMDTXTSqQTHVywAyuAq2gCYIt5zeu6RDCr98/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="530" data-original-width="958" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLN14xS4lCEcCPOlhaHHMiYLsM6KIJgIHvHq_PnKVsaxXeHs_mWImdQ7yElfKhidptSst-UtWq02MGMiFl1PQwjseKa8oNiit4RhSWz-rYMDTXTSqQTHVywAyuAq2gCYIt5zeu6RDCr98/w640-h354/image.png" width="640" /></a></div><div style="text-align: left;"><h3 style="text-align: left;">Conectores</h3><div>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.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx0fuJX7WQ1JJQTd8uBSdzF9b-rG4qa9qwcCK8kVH8su88GfQiomsJIyk1hohvcnpmYsR-kfIlJ2dOpGN7s2cC7IAHQBFg_eALgyoxaD_wthVzZ7gTyJe718yi12gsVVzV_lB2jlovB-g/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="606" data-original-width="1280" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx0fuJX7WQ1JJQTd8uBSdzF9b-rG4qa9qwcCK8kVH8su88GfQiomsJIyk1hohvcnpmYsR-kfIlJ2dOpGN7s2cC7IAHQBFg_eALgyoxaD_wthVzZ7gTyJe718yi12gsVVzV_lB2jlovB-g/w640-h304/image.png" width="640" /></a></div><br /><br /></div></div><div style="text-align: left;"><br /></div><div style="text-align: left;">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.</div><div style="text-align: left;"><br /></div><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_4FyiEQE5v3sjozdvGeZiqXEonWbkzxDyXTvb_paNiVetUglzOeSsea7oh90anFb1sqF_rJhnTRckBry4T13DzgNXnjYutCT6xCkNjR6ZPZLPeSu25A0q1PAbmd0N_e6oPbJq9lvohG0/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="259" data-original-width="939" height="176" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_4FyiEQE5v3sjozdvGeZiqXEonWbkzxDyXTvb_paNiVetUglzOeSsea7oh90anFb1sqF_rJhnTRckBry4T13DzgNXnjYutCT6xCkNjR6ZPZLPeSu25A0q1PAbmd0N_e6oPbJq9lvohG0/w640-h176/image.png" width="640" /></a></div><br /><div style="text-align: left;">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.</div></div><br /></div><p><br /></p><p><br /></p><p><br /></p></div></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-41939612953138540932020-11-24T19:44:00.004+01:002020-11-24T19:44:23.756+01:00Oracle 10g: Diferencia entre usar srvctl y usar sqlplus para iniciar / detener una o más instancias de base de datos Oracle<p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUmqqpcx-TQHNz3YZCs6bCnTSO8lP1HnJ8kKyebizN8YSQPJomJt-dCQiORU5vtR8IqLV4rRyfa6jWIluLLqnnZDtmML8sHZzwS8IjiwAU8JHcdBt45jQzv7_RhZJcHSpLWvx8NgFRcHw/s150/oracle-11g-logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="150" data-original-width="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUmqqpcx-TQHNz3YZCs6bCnTSO8lP1HnJ8kKyebizN8YSQPJomJt-dCQiORU5vtR8IqLV4rRyfa6jWIluLLqnnZDtmML8sHZzwS8IjiwAU8JHcdBt45jQzv7_RhZJcHSpLWvx8NgFRcHw/s0/oracle-11g-logo.png" /></a></div><div style="text-align: left;"><br /></div><p></p><h3 style="text-align: left;">El desafío</h3><div><div>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 <b>srvctl </b>pareció resolver el problema de rendimiento. Nos surgió una pregunta pregunta es</div><div><br /></div><div><i> "¿Hay alguna diferencia entre usar <b>srvctl </b>y usar <b>sqlplus </b>para iniciar o detener uno o más nodos de base de datos"?</i></div><div><br /></div><h3 style="text-align: left;">La realidad</h3><div>Existen algunas diferencias entre el uso de las utilidades <b><i>SQLPLUS </i></b>y <b><i>SRVCTL</i></b>.</div><div><ul><li>La parte común es que <b>SRVCTL </b>utiliza <b>SQLPLUS </b>para iniciar / detener las instancias.</li></ul><ul><li>La herramienta <b>SRVCTL </b>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 <b>SRVCTL </b>genera para descubrir y monitorear nodos en su clúster.</li></ul><ul><li>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.</li></ul></div><div><ul style="text-align: left;"><li>Ambos deberían resultar en el inicio de la instancia, pero Oracle siempre recomienda el uso de <b>SRVCTL </b>debido al hecho de que <b>SRVCTL </b>hace más, es decir, <b>SRVCTL </b>realizará un análisis de dependencia e informará sobre problemas relacionados con el clúster si existen, de una mejor manera que <b>SQLPLUS</b>, que puede decir simplemente que la instancia no se está iniciando. El comando <b>SRVCTL </b>intentará iniciar recursos dependientes (como vip / ons / listeners) en caso de que no se estén ejecutando.</li></ul><ul style="text-align: left;"><li>La utilidad <b>SRVCTL </b>siempre realiza algún tipo de pre-inicio de las instancias, como actualizar la información de <b>OCR </b><i>(Oracle cluster registry)</i><b> </b>en lugar de esperar a que el script de verificación del recurso de instancia detecte el inicio de esta instancia y actualice el <b>OCR</b>.</li></ul><ul style="text-align: left;"><li>Con <b>SRVCTL</b>, la configuración del sistema operativo del usuario raíz se utiliza ya que se hereda de <i>crsd</i>.<i>bin </i>que iniciará las instancias como usuario de Oracle. Con <b>SQLPLUS</b>, se utiliza la configuración del sistema operativo del usuario de Oracle. Tener diferentes configuraciones de usuario para <i>root </i>u <i>oracle </i>hará que el rendimiento pueda ser diferente (sga fragmentado o no, otra configuración de proyecto "<i>solaris</i>", ...)</li></ul></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-41243039145017746312020-10-16T09:57:00.099+02:002020-10-16T10:24:02.513+02:00Nuevas características en Oracle database 19c<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ENZyu58iC9sifxks2_wHT3t4KZwVe8W0HM1ZYoBc3ilBhzx5H5qiUrcbGY2aKXdxNjy5Xx-hwVcglRThxZmGKBChyfwKswNrCW6Q11POGqUG8t93aIg3B1YjX3tQsI-MBTjxQ7Ds7LY/s400/Oracle+19c+Database+Logo.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="120" data-original-width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ENZyu58iC9sifxks2_wHT3t4KZwVe8W0HM1ZYoBc3ilBhzx5H5qiUrcbGY2aKXdxNjy5Xx-hwVcglRThxZmGKBChyfwKswNrCW6Q11POGqUG8t93aIg3B1YjX3tQsI-MBTjxQ7Ds7LY/s320/Oracle+19c+Database+Logo.png" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span face="Arial, Helvetica, sans-serif">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.</span></div><div dir="ltr" style="text-align: left;" trbidi="on"><ul style="text-align: left;"><li>Redireccionamiento DML de Active Data Guard.</li><li>Indexación automática.</li><li><span face="Arial, Helvetica, sans-serif">Tablas híbridas particionadas (Big Data).</span></li><li><span face="Arial, Helvetica, sans-serif">Compatibilidad con JSON.</span></li><li>Más estabilidad y disponibilidad.</li></ul></div><div dir="ltr" style="text-align: left;" trbidi="on"><span face="Arial, Helvetica, sans-serif"><div dir="ltr" trbidi="on"><h3><span face="Arial, Helvetica, sans-serif"><b>Redireccionamiento DML de Active Data Guard.</b></span></h3></div><div dir="ltr" trbidi="on"><span face="Arial, Helvetica, sans-serif"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-E91TM9zgxUY517HkWZ_RlhGg5SPlmmeItDe-IIDXuvHtP5yGQu7rgTbfghwhWWsAtgG0KWIPwmvPq3i6yJ-Tuf3lomtvMIT2ke3fT8Bx76rYCLyTQKUPw9n5b71JW2CV8MNSdn4lZww/s682/active-Data-Guard.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="335" data-original-width="682" height="314" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-E91TM9zgxUY517HkWZ_RlhGg5SPlmmeItDe-IIDXuvHtP5yGQu7rgTbfghwhWWsAtgG0KWIPwmvPq3i6yJ-Tuf3lomtvMIT2ke3fT8Bx76rYCLyTQKUPw9n5b71JW2CV8MNSdn4lZww/w640-h314/active-Data-Guard.JPG" width="640" /></a></div><br /><b><br /></b></span></div><div dir="ltr" trbidi="on"><span face="Arial, Helvetica, sans-serif">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 <b>Active Data Guard Redirect</b>, ahora puede usar su base de datos en espera para obtener aún más ventajas.</span></div></span>
<h3 style="text-align: left;"><span face="Arial, Helvetica, sans-serif"><b>Indexación automática.</b></span></h3></div><div dir="ltr" style="text-align: left;" trbidi="on">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.</div><div dir="ltr" style="text-align: left;" trbidi="on">
<span face="Arial, Helvetica, sans-serif"><br /></span>
<h3 style="text-align: left;"><b>Tablas híbridas particionadas.</b></h3></div><div dir="ltr" style="text-align: left;" trbidi="on"><p style="text-align: left;"><span face="Arial, Helvetica, sans-serif">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.</span></p>
<span face="Arial, Helvetica, sans-serif"><h3>Cuarentena de consulta.</h3><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEistA0jYOdXEvhZrCCQkcx1ex708twpiojy0i1XN8FM0NEy2I-0cSvnErj3p9Bs3TgPvJw9_oGWWXQW79uaU7qav0zSJt5zyUuXFSUmmObBN2T1T1C5TjQPfO92JtKTsjr6j1N4jqhASAQ/s418/cuarentena.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="120" data-original-width="418" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEistA0jYOdXEvhZrCCQkcx1ex708twpiojy0i1XN8FM0NEy2I-0cSvnErj3p9Bs3TgPvJw9_oGWWXQW79uaU7qav0zSJt5zyUuXFSUmmObBN2T1T1C5TjQPfO92JtKTsjr6j1N4jqhASAQ/w640-h184/cuarentena.png" width="640" /></a></div><br /><div style="text-align: center;"><br /></div><div dir="ltr" trbidi="on">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".</div></span><h3 style="text-align: left;"><span face="Arial, Helvetica, sans-serif">Base de datos "JSON friendly".</span></h3><div style="text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyZ5yeJW17rylvtYDcnleeykyyaroGuM9Z0lM1F4t3PLkdY6dKg2uEtGXT2V26fikRuFK_c38m_VoHwgT6BjpogBzpk7fME1OfFpiajez5NFU_I33jSko9gZX7plnxudvHLs9yA0pi_4g/s1024/json.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="576" data-original-width="1024" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyZ5yeJW17rylvtYDcnleeykyyaroGuM9Z0lM1F4t3PLkdY6dKg2uEtGXT2V26fikRuFK_c38m_VoHwgT6BjpogBzpk7fME1OfFpiajez5NFU_I33jSko9gZX7plnxudvHLs9yA0pi_4g/w400-h225/json.jpg" width="400" /></a></div><br /><span face="Arial, Helvetica, sans-serif"><br /></span></div></div><p style="text-align: left;"><span face="Arial, Helvetica, sans-serif">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.</span><span face="Arial, Helvetica, sans-serif"><br /></span><span face="Arial, Helvetica, sans-serif"><br /></span></p><p style="text-align: left;"><span face="Arial, Helvetica, sans-serif">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.</span></p><h3 style="text-align: left;">Más estabilidad y disponibilidad.</h3><div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" trbidi="on">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.</div><div dir="ltr" trbidi="on"><br /></div><div dir="ltr" trbidi="on">La estabilidad es uno de los principales objetivos de <b>Oracle Database 19c</b>; 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 <b>Oracle Database 11g</b> u <b>Oracle Database 12c</b>.</div></div><div dir="ltr" style="text-align: left;" trbidi="on"><br /></div><div dir="ltr" style="text-align: left;" trbidi="on">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.</div>
Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-56650333533613809772020-10-16T01:39:00.005+02:002020-10-16T02:20:38.721+02:00Migrar la base de datos a Oracle Autonomous Database Cloud <p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY-OEieAdUBlnsun2GqXsJhjillEgmQ4fceuHWwkroHZnnJb9EdjPlAv18SJhDDSctUkmHafXxAMcv3Rz3rzWIjM1UubqczpeUte4kOxJR3Vs0iBZXj1aaAIvYhB7m1h23aNhQCD7E5IA/s512/autonomous.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="512" data-original-width="512" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY-OEieAdUBlnsun2GqXsJhjillEgmQ4fceuHWwkroHZnnJb9EdjPlAv18SJhDDSctUkmHafXxAMcv3Rz3rzWIjM1UubqczpeUte4kOxJR3Vs0iBZXj1aaAIvYhB7m1h23aNhQCD7E5IA/w200-h200/autonomous.png" width="200" /></a></div><h1 style="text-align: left;">Data Pump, SQL Loader, DBMS_CLOUD, GoldenGate</h1><p style="text-align: left;">En esta entrada el blog vamos a dar una descripción general de alto nivel de las opciones disponibles para migrar la base de datos de On-Premise a Autonomous Database Cloud.<br />Primero, echaremos un ojo a las diferentes opciones disponibles para cargar los datos.</p><p></p><h2 style="text-align: left;">Opciones de carga de datos:</h2><div><div>Cuando migra la base de datos a la base de datos autónoma, hay dos opciones disponibles para cargar datos:</div><div><ul style="text-align: left;"><li>Desde <b>"on-premise"</b>: puede cargar directamente sus datos desde su servidor local a la base de datos autónoma.</li><li>Desde <b>Object Storage Cloud</b>: también puede cargar sus datos en Cloud Object Storage primero y luego migrar a la base de datos autónoma desde Object Storage Cloud. Este es un proceso rápido para la migración de bases de datos.</li></ul><h3 style="text-align: left;">Diferentes métodos para migrar a la nube de base de datos autónoma:</h3><div>Ahora, llegando a los diferentes métodos disponibles para migrar la base de datos de On-Premise a Autonomous Database Cloud, existen principalmente cuatro métodos de migración:</div><div><ul style="text-align: left;"><li>Usando el paquete DBMS_CLOUD</li><li>Uso de Data Pump</li><li>Uso de SQL Loader</li><li>Uso de Oracle GoldenGate</li></ul></div></div></div><div><h4 style="text-align: left;">Usando DBMS_CLOUD:</h4><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkxyWZLgPbrieiDrT2p2ruOx3gwR6E5GPD7CLMoJi7P2qIzjc0UrD61wuMUHUFzT1Sb7KG3__cse0hnOQv7Rosh_Sbxk4_eaHOf_9DYPIgqdKxWNL3TBz2DAC8L5g03B5InZjKz-ykMUw/s1904/7_DBMS_CLOUD_ADMIN_package.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1063" data-original-width="1904" height="358" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkxyWZLgPbrieiDrT2p2ruOx3gwR6E5GPD7CLMoJi7P2qIzjc0UrD61wuMUHUFzT1Sb7KG3__cse0hnOQv7Rosh_Sbxk4_eaHOf_9DYPIgqdKxWNL3TBz2DAC8L5g03B5InZjKz-ykMUw/w640-h358/7_DBMS_CLOUD_ADMIN_package.JPG" width="640" /></a></div><br /><div><br /></div><div>El paquete <b><a href="https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/dbms-cloud-package.html#GUID-CE359BEA-51EA-4DE2-88DB-F21A9FC10721" rel="nofollow" target="_blank">DBMS_CLOUD </a></b>admite la carga desde archivos en los siguientes servicios en la nube: Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Object Storage Classic, Azure Blob Storage y Amazon S3. Para cargar datos desde archivos en la nube, primero debe almacenar sus credenciales de almacenamiento de objetos en su Autonomous Data Warehouse y luego usar el procedimiento DBMS_CLOUD.COPY_DATA para cargar los datos.</div><div>A continuación se muestra el proceso de migración de alto nivel utilizando DBMS_CLOUD:</div><div><ul style="text-align: left;"><li>Copia todos los archivos de datos (datafiles) en Object Storage on Cloud.</li><li>Almacena sus credenciales de almacenamiento de objetos en su base de datos autónoma (ADB).</li><li>Copia el archivo de datos en una tabla existente usando:</li></ul><span> </span><span> </span><span> </span><b>DBMS_CLOUD.COPY_DATA</b><br /><ul style="text-align: left;"><li>Verifica el estado de la operación.</li></ul><h4 style="text-align: left;">Utilizando Data Pump:</h4><div><a href="https://docs.oracle.com/en/database/oracle/oracle-database/12.2/sutil/oracle-data-pump-overview.html#GUID-17FAE261-0972-4220-A2E4-44D479F519D4" rel="nofollow" target="_blank">Oracle Data Pump</a> proporciona un movimiento de datos masivo muy rápido entre las bases de datos de Oracle y el almacén de datos autónomo. Con este método, puede importar datos de archivos de Data Pump guardados en:</div><div><ul style="text-align: left;"><li>Oracle Cloud Infrastructure Object Storage</li><li>Microsoft Azure</li><li>AWS S3</li><li>Oracle Cloud Infrastructure Object Storage Classic. </li></ul></div><div>Puede guardar sus datos en su Cloud Object Store y usar Oracle Data Pump para cargar datos en Autonomous Data Warehouse. A continuación se muestra el proceso de migración de alto nivel utilizando Oracle Data Pump:</div><div><ul style="text-align: left;"><li>Exporta datos en el modo de esquema.</li><li>Copia los archivos de volcado en el objeto Storage on Cloud.</li><li>Almacena las credenciales de almacenamiento de objetos en ADB.</li><li>Importa utilizando el método impdp.</li><li>Consulta los archivos de "log" para ver si hay algún problema.</li></ul><h4 style="text-align: left;">Usando SQL Loader:</h4><p style="text-align: left;">Puede utilizar Oracle SQL Loader para cargar datos desde archivos locales en su máquina a Oracle Autonomous Data Warehouse. El uso de SQL Loader es adecuado para cargar pequeñas cantidades de datos, ya que el rendimiento de la carga depende del ancho de banda de la red entre su cliente y Autonomous Data Warehouse. A continuación se muestra el proceso de migración de alto nivel utilizando SQL Loader:</p><div><ul style="text-align: left;"><li>Configura el "Wallet"de conexión y las variables.</li><li>Reúne uno o más archivos de datos.</li><li>Crea un archivo de control (esto es opcional).</li><li>Crea una tabla en la base de datos de destino.</li><li>Carga utilizando SQL Loader.</li><li>Comprueba los archivos de registro, incorrectos y descartados.</li></ul><h4 style="text-align: left;">Usando Oracle GoldenGate:</h4><p style="text-align: left;">También puede utilizar GoldenGate para replicar datos en <i>Autonomous Data Warehouse</i> utilizando <i>Oracle GoldenGate On-Premises </i>y <i>Oracle GoldenGate Cloud Service.</i> </p><p style="text-align: left;">Asegúrese de utilizar las versiones <b>12.3.0.1.2</b> y posteriores de <i>Oracle GoldenGate On-Premises</i> como fuente, ya que solo estas versiones están certificadas con <i>Oracle Autonomous Data Warehouse Cloud</i>. </p><p style="text-align: left;">Otras fuentes pueden ser <i>Oracle Database Cloud Service</i> u <i>Oracle Exadata Cloud Service</i> en Oracle Cloud. Sin embargo, no puede configurar Oracle Autonomous Data Warehouse Cloud Database como una base de datos de origen para Oracle GoldenGate On-Premises <u>y solo las réplicas no integradas son compatibles con Oracle Autonomous Data Warehouse Cloud</u>. A continuación se muestra el proceso de migración de alto nivel utilizando Oracle GoldenGate:</p><div style="text-align: left;"><ul style="text-align: left;"><li>Configura la base de datos autónoma para la replicación creando el esquema requerido, las tablas de destino, el nuevo usuario de destino, etc.</li><li>Obtén las credenciales del cliente de Autonomous Database.</li><li>Configura <i>Oracle GoldenGate On-Premises</i> para la replicación transfiriendo el archivo zip de las credenciales del cliente, configurando <i>sqlnet.ora</i> y <i>tnsnames.ora</i>, etc.</li><li>Configura <i>Oracle GoldenGate Manager </i>y las réplicas no integradas para entregar a la base de datos autónoma.</li></ul></div><p style="text-align: left;">Se trata de la migración a una base de datos autónoma y los métodos disponibles para la misma en pocas palabras.</p></div></div></div></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0tag:blogger.com,1999:blog-2318177925841783185.post-79607596016172870462020-09-25T01:53:00.004+02:002020-11-24T21:29:10.801+01:00¿Hay vida más allá de Oracle? Apache Kafka<p style="text-align: center;"><br /></p><p style="text-align: center;"> </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiopzD04J0u2_xnNC8zR-7G0is3-pKuL9NiIbLKgnJbm9k71jZe8Q-XQPJnWqHuiOljUFYogggw0zaVeYyyqaiawzvprWxk3du9JVJofDofN5X1Ot7aIz9y9lr-bBNxpo43NgwmlvdxmrY/s700/kafka-training-in-brighton-apache-kafka-training-1576498761.jpeg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="350" data-original-width="700" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiopzD04J0u2_xnNC8zR-7G0is3-pKuL9NiIbLKgnJbm9k71jZe8Q-XQPJnWqHuiOljUFYogggw0zaVeYyyqaiawzvprWxk3du9JVJofDofN5X1Ot7aIz9y9lr-bBNxpo43NgwmlvdxmrY/w400-h200/kafka-training-in-brighton-apache-kafka-training-1576498761.jpeg" width="400" /></a></div><h2 style="text-align: left;">Why Kafka?</h2><p></p><div>La respuesta más conocida es que el autor de <a href="https://kafka.apache.org/" rel="nofollow" target="_blank">Apache Kafka</a> quiso ponerle el nombre del escritor porque está optimizado para la escritura, y su favorito resultó ser <a href="https://en.wikipedia.org/wiki/Franz_Kafka" rel="nofollow" target="_blank"><b>Franz Kafka</b>.</a></div><div><div><br /></div><div>Aquí viene la ironía:</div><div><br /></div><div>Eficiencia de la comunicación</div><div><ul style="text-align: left;"><li>Kafka tenía serios problemas con su padre abusivo. En lugar de simplemente llamarlo para una charla, escribió una carta de 50 páginas. ¿No es esta forma de comunicación innecesariamente pesada?</li><li>No le entregó la carta a su padre, sino que se la dio a su madre para que se la entregase a su padre. Su madre lo leyó y decidió no entregarlo. Ni siquiera se entregó, aquí viene la confiabilidad de la comunicación.</li></ul><h3 style="text-align: left;">¿Qué es Apache Kafka?</h3><div><br /></div><div><span style="font-family: inherit;"><b>Apache Kafka</b> es una plataforma de software de procesamiento de flujo de código abierto desarrollada por Apache Software Foundation, escrita en <b>Scala</b> y <b>Java</b>. El proyecto tiene como objetivo proporcionar una plataforma unificada, de alto rendimiento y baja latencia para manejar las fuentes de datos en tiempo real. Kafka puede conectarse a sistemas externos (para importar / exportar datos) a través de Kafka Connect y proporciona Kafka Streams, una biblioteca de procesamiento de flujos de Java, cuya finalidad es la <b>transmisión de eventos</b>. .</span></div><h3 style="text-align: left;">¿Para qué puedo usar la transmisión de eventos?</h3><div><br /></div><div>La transmisión de eventos se aplica a una amplia variedad de casos de uso en una gran cantidad de industrias y organizaciones. Entre sus muchos ejemplos se incluyen:</div><div><ul style="text-align: left;"><li>Para monitorizar transacciones bancarias y evitar el fraude bancario o el lavado de dinero (<b>AML</b>)</li><li>Procesar pagos y transacciones financieras en tiempo real, como en bolsas de valores, bancos y seguros.</li><li>Para rastrear y monitorear automóviles, camiones, flotas y envíos en tiempo real, como en la logística y la industria automotriz.</li><li>Para capturar y analizar continuamente datos de sensores de dispositivos de <b>IoT</b> u otros equipos, como en fábricas y parques eólicos.</li><li>Recopilar y reaccionar de inmediato a las interacciones y los pedidos de los clientes, como en el comercio minorista, la industria hotelera y de viajes y las aplicaciones móviles.</li><li>Monitorear a los pacientes en la atención hospitalaria y predecir cambios en la condición para garantizar un tratamiento oportuno en emergencias, seria fantástico haber hecho una aplicación sanitaria para monitorizar a los pacientes de <b>COVID</b>. </li><li>Servir de base para plataformas de datos, arquitecturas basadas en <b>eventos</b> y <b>microservicios</b>.</li></ul></div></div></div><div><h3 style="text-align: left;">¿Qué es la transmisión de eventos?</h3><div>La transmisión de eventos es el equivalente digital del sistema nervioso central del cuerpo humano. Es la base tecnológica para el mundo 'siempre activo' donde las empresas están cada vez más definidas y automatizadas por software, y donde el usuario del software es más software.</div><div><br /></div><div>Técnicamente hablando, la transmisión de eventos es la práctica de capturar datos en tiempo real de fuentes de eventos como bases de datos, sensores, dispositivos móviles, servicios en la nube y aplicaciones de software en forma de secuencias de eventos; almacenar estos flujos de eventos de forma duradera para su posterior recuperación; manipular, procesar y reaccionar a los flujos de eventos en tiempo real y retrospectivamente; y enrutar los flujos de eventos a diferentes tecnologías de destino según sea necesario. La transmisión de eventos asegura así un flujo continuo y una interpretación de datos para que la información correcta esté en el lugar correcto, en el momento correcto</div><div><br /></div><div><br /></div><div><h3 style="text-align: left;">Apache Kafka es una plataforma de transmisión de eventos.</h3><div><i>¿Qué significa semejante unión de palabrotas?</i></div><div>Kafka combina tres capacidades clave para que pueda implementar sus casos de uso para la transmisión de eventos de un extremo a otro con una única solución probada en batalla:</div><div><br /></div><div>Para publicar (escribir) y suscribirse a (leer) flujos de eventos, incluida la importación / exportación continua de sus datos desde otros sistemas.</div><div>Para almacenar transmisiones de eventos de forma duradera y confiable durante el tiempo que desee.</div><div>Procesar flujos de eventos a medida que ocurren o retrospectivamente.</div><div>Y toda esta funcionalidad se proporciona de manera distribuida, altamente escalable, elástica, tolerante a fallas y segura. Kafka se puede implementar en hardware bare-metal, máquinas virtuales y contenedores, tanto en las instalaciones como en la nube. Puede elegir entre la autogestión de sus entornos Kafka y el uso de servicios totalmente gestionados ofrecidos por una variedad de proveedores.</div></div><div><br /></div><div><h3 style="text-align: left;">¿Cómo funciona Kafka, hablando claro?</h3><div>Kafka es un sistema distribuido que consta de servidores y clientes que se comunican a través de un protocolo de red TCP de alto rendimiento. Se puede implementar en hardware bare-metal, máquinas virtuales y contenedores en entornos locales y en la nube.</div><div><br /></div><div><b>Servidores:</b> Kafka se ejecuta como un clúster de uno o más servidores que pueden abarcar varios centros de datos o regiones de la nube. Algunos de estos servidores forman la capa de almacenamiento, llamados brokers. Otros servidores ejecutan Kafka Connect para importar y exportar datos continuamente como flujos de eventos para integrar Kafka con sus sistemas existentes, como bases de datos relacionales y otros clústeres de Kafka. Para permitirle implementar casos de uso de misión crítica, un clúster de Kafka es altamente escalable y tolerante a fallas: si alguno de sus servidores falla, los otros servidores se harán cargo de su trabajo para garantizar operaciones continuas sin pérdida de datos.</div><div><br /></div><div><b>Clientes:</b> le permiten escribir aplicaciones distribuidas y microservicios que leen, escriben y procesan flujos de eventos en paralelo, a escala y de manera tolerante a fallas, incluso en el caso de problemas de red o fallas de la máquina. Kafka incluye algunos de estos clientes, que se complementan con docenas de clientes proporcionados por la comunidad de Kafka: los clientes están disponibles para Java y Scala, incluida la biblioteca Kafka Streams de nivel superior, para Go, Python, C / C ++ y muchas otras programaciones. idiomas y API REST.</div></div><div><br /></div><h3 style="text-align: left;">Pongámonos más académicos, si cabe</h3><div>Un evento registra el hecho de que "algo sucedió" en el mundo o en su negocio. También se le llama registro o mensaje en la documentación. Cuando lee o escribe datos en Kafka, lo hace en forma de eventos. Conceptualmente, un evento tiene una clave, un valor, una marca de tiempo y encabezados de metadatos opcionales.</div><div><br /></div><div>Ejemplo</div><div><br /></div><div><div>Clave de evento: "Mr traficante"</div><div>Valor del evento: "Hizo un pago de $ 200.000 a un testaferro conocido por Worldcheck"</div><div>Marca de tiempo del evento: "25 de junio de 2020 a las 2:06 p.m."</div></div><div><br /></div><div><div>Los <b>productores</b> son aquellas aplicaciones <b>cliente </b>que publican (escriben) eventos en Kafka, y los consumidores son aquellos que se suscriben (leen y procesan) estos eventos. En Kafka, los productores y los consumidores están completamente desacoplados y son agnósticos entre sí, lo que es un elemento de diseño clave para lograr la alta escalabilidad por la que Kafka es conocido. Por ejemplo, los productores nunca necesitan esperar a los consumidores. Kafka ofrece varias garantías, como la capacidad de procesar eventos exactamente una vez.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUJJgT-KAId_X1F6ginuQibVWzJMjD0Qj7DrU2pAslEEIeFCncuv7I98KfRUARFpEyWUI8MeRJ6B8V9frZJJ3RdanVrfP_uDO90mxM91_vY2t83VihmhgUiz5c9jt9h58ir_5Y8Wr4Yy0/s1456/streams-and-tables-p1_p4.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="754" data-original-width="1456" height="208" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUJJgT-KAId_X1F6ginuQibVWzJMjD0Qj7DrU2pAslEEIeFCncuv7I98KfRUARFpEyWUI8MeRJ6B8V9frZJJ3RdanVrfP_uDO90mxM91_vY2t83VihmhgUiz5c9jt9h58ir_5Y8Wr4Yy0/w400-h208/streams-and-tables-p1_p4.png" width="400" /></a></div><br /><div style="text-align: center;"><br /></div><div>Los eventos se organizan y almacenan de forma duradera en <b>temas </b>(Topic). Muy simplificado, un tema es similar a una carpeta en un sistema de archivos, y los eventos son los archivos en esa carpeta. Un ejemplo de nombre de tema podría ser "pagos". Los temas en Kafka siempre son de múltiples productores y múltiples suscriptores: un tema puede tener cero, uno o muchos productores que escriban eventos en él, así como cero, uno o muchos consumidores que se suscriban a estos eventos. Los eventos de un tema se pueden leer con la frecuencia necesaria; a diferencia de los sistemas de mensajería tradicionales, los eventos no se eliminan después del consumo. En su lugar, defina durante cuánto tiempo Kafka debe retener sus eventos a través de una configuración por tema, después de lo cual se descartarán los eventos antiguos. El rendimiento de Kafka es efectivamente constante con respecto al tamaño de los datos, por lo que almacenar datos durante mucho tiempo está perfectamente bien.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjum-BbH797bHj1PEDWTZCJ0F3LWPdPSB_DnUigxih3KeeSfB3XPXUKZ1FfBvdhk6t2ylZa59r-ZDlw2HnmbHnuY_p8GlWar19-lJ0h8pCevtrZ71VxXyUALU1kL965mhRthXQy9DccW2M/s1024/kafka-topics.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="484" data-original-width="1024" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjum-BbH797bHj1PEDWTZCJ0F3LWPdPSB_DnUigxih3KeeSfB3XPXUKZ1FfBvdhk6t2ylZa59r-ZDlw2HnmbHnuY_p8GlWar19-lJ0h8pCevtrZ71VxXyUALU1kL965mhRthXQy9DccW2M/w400-h189/kafka-topics.png" width="400" /></a></div><br /><div style="text-align: center;"><br /></div><div style="text-align: left;">Los temas están <b>divididos </b>(partitioned), lo que significa que un tema se distribuye en varios "depósitos" ubicados en diferentes corredores de Kafka. Esta ubicación distribuida de sus datos es muy importante para la escalabilidad porque permite que las aplicaciones cliente lean y escriban los datos desde / hacia muchos corredores al mismo tiempo. Cuando se publica un nuevo evento en un tema, en realidad se agrega a una de las particiones del tema. Los eventos con la misma clave de evento (por ejemplo, un ID de cliente o vehículo) se escriben en la misma partición, y Kafka garantiza que cualquier consumidor de una partición de tema determinada siempre leerá los eventos de esa partición exactamente en el mismo orden en que fueron escritos.</div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><div>Para que sus datos sean tolerantes a fallas (<b>fault tolerant</b>), incluidos ataque de expertos en seguridad maliciosos (<i>los hackers son otra cosa</i>), y de alta disponibilidad (<b>HA</b>), todos los temas se pueden replicar, incluso en regiones geográficas o centros de datos, de modo que siempre haya varios corredores que tengan una copia de los datos en caso de que las cosas salgan mal, usted quiere realizar el mantenimiento de los corredores, etc. Una configuración de producción común es un factor de replicación de 3, es decir, siempre habrá tres copias de sus datos. Esta replicación se realiza a nivel de particiones de tema.</div><div><br /></div><h3 style="text-align: left;">Si quieres seguir profundizando ...</h3><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBU7-wuX0NQtiprdH_serAJfmKKRk6wPoKzcHGy1uaNAcZXoYFg98076cxMwjVLFBiAnOXo86QEFzZKzs4u1nQufPV-wCixLIjNWG3HrAQ6xMJQOUcSa0bmY2HCojqT1B29W6GUXoCnXM/s1069/kafka-apis.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="899" data-original-width="1069" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBU7-wuX0NQtiprdH_serAJfmKKRk6wPoKzcHGy1uaNAcZXoYFg98076cxMwjVLFBiAnOXo86QEFzZKzs4u1nQufPV-wCixLIjNWG3HrAQ6xMJQOUcSa0bmY2HCojqT1B29W6GUXoCnXM/s320/kafka-apis.png" width="320" /></a></div><br /><div style="text-align: center;"><br /></div><div><div>Además de las herramientas de línea de comandos para tareas de gestión y administración, Kafka tiene cinco API principales para Java y Scala:</div><div><br /></div><div><ul style="text-align: left;"><li>La <a href="https://kafka.apache.org/documentation.html#adminapi" rel="nofollow" target="_blank">API de administración</a> para administrar e inspeccionar temas, agentes y otros objetos de Kafka.</li><li><a href="https://kafka.apache.org/documentation.html#producerapi" rel="nofollow" target="_blank">Producer API</a> para publicar (escribir) un flujo de eventos en uno o más temas de Kafka.</li><li>La <a href="https://kafka.apache.org/documentation.html#consumerapi" rel="nofollow" target="_blank">API del consumidor</a> para suscribirse a (leer) uno o más temas y procesar el flujo de eventos que se generan en ellos.</li><li>La <a href="https://kafka.apache.org/documentation/streams/" rel="nofollow" target="_blank">API de Kafka Streams</a> para implementar aplicaciones de procesamiento de flujos y microservicios. Proporciona funciones de nivel superior para procesar flujos de eventos, incluidas transformaciones, operaciones con estado como agregaciones y uniones, ventanas, procesamiento basado en el tiempo del evento y más. La entrada se lee de uno o más temas para generar resultados en uno o más temas, transformando efectivamente los flujos de entrada en flujos de salida.</li><li>La <a href="https://kafka.apache.org/documentation.html#connect" rel="nofollow" target="_blank">API de Kafka Connect</a> para crear y ejecutar conectores de importación / exportación de datos reutilizables que consumen (leen) o producen (escriben) flujos de eventos desde y hacia sistemas y aplicaciones externos para que puedan integrarse con Kafka. Por ejemplo, un conector a una base de datos relacional como PostgreSQL podría capturar todos los cambios en un conjunto de tablas. Sin embargo, en la práctica, normalmente no es necesario implementar sus propios conectores porque la comunidad de Kafka ya ofrece cientos de conectores listos para usar.</li></ul></div></div><h3 style="text-align: left;">¿Quieres ver una explicación de Apache Kafka, por un experto?</h3></div></div><div>Visualiza el siguiente video, el audio está en Inglés, pero puedes activar los subtítulos si lo deseas.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/FKgi3n-FyNU" width="320" youtube-src-id="FKgi3n-FyNU"></iframe></div><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div>Rafael Montesinoshttp://www.blogger.com/profile/10903529621566601313noreply@blogger.com0