26 videos 📅 2024-02-06 09:00:00 America/Bahia_Banderas
9:42
2024-02-06 10:11:16
6:47
2024-02-06 10:22:16
5:15
2024-02-06 10:31:49
3:57
2024-02-06 10:38:48
17:59
2024-02-06 10:43:27
1:06
2024-02-06 11:12:41
10:20
2024-02-06 11:15:29
2:42
2024-02-06 11:26:39
11:03
2024-02-06 12:01:53
1:16
2024-02-06 12:14:47
42:32
2024-02-06 12:19:55
10:32
2024-02-07 10:25:03
4:02
2024-02-07 10:39:09
1:54:16
2024-02-07 10:45:07
2:11:58
2024-02-07 20:24:23
11:55
2024-02-08 10:29:34
15:14
2024-02-08 10:43:38
3:39
2024-02-08 11:02:01
1:28:10
2024-02-08 11:14:14
1:31:21
2024-02-08 21:37:16
2:33:55
2024-02-09 09:35:00
15:39
2024-02-09 12:49:52
1:17:31
2024-02-12 09:26:50
36:07
2024-02-12 10:56:05
8:43
2024-02-13 12:48:13
3:05
2024-02-14 10:23:00

Visit the Oracle Database 19c: Administration course recordings page

United Arab Emirates - Oracle Database 19c Security

                WEBVTT

00:00:00.660 --> 00:00:10.540
Y ya nos conectamos incluso a dos formas, por medio de la línea de comando y por medio

00:00:10.540 --> 00:00:17.880
de nuestro ID, que es el SQL Server, otra vez, digo, Oracle Developer, estoy con que

00:00:17.880 --> 00:00:19.440
quiero enseñar SQL Server, ¿no?

00:00:22.300 --> 00:00:22.900
Listo.

00:00:23.720 --> 00:00:33.040
Entonces, si seguimos nosotros con la diapositiva, vamos a darnos cuenta incluso que con eso

00:00:33.040 --> 00:00:37.240
se alcanzan a ver la mayoría de los temas del día de hoy, ahorita lo vamos a seguir

00:00:37.820 --> 00:00:38.300
revisando.

00:00:39.080 --> 00:00:47.640
Si nos vamos a la presentación, pues vamos a empezar a ver lo que es, hasta ahí digamos

00:00:47.640 --> 00:00:51.820
la parte de la ambientación, termino, ¿va?

00:00:53.880 --> 00:00:58.360
Con eso ya instalamos lo que es una base de datos, este, Oracle.

00:00:59.920 --> 00:01:02.180
Nos metimos a una instancia, ¿vale?

00:01:03.120 --> 00:01:08.580
Entonces, voy a regresar un poquito al temario, a la diapositiva del día 1 y vamos a ver,

00:01:08.600 --> 00:01:14.100
por ejemplo, que el tema 2, ahorita voy a regresar al tema 1, que es la introducción,

00:01:14.980 --> 00:01:17.740
que de hecho es prácticamente lo que nos haría falta nada más de ver.

00:01:18.880 --> 00:01:24.720
Si nosotros vemos en lo que es el tema 2, ya vimos cómo nos conectamos a una instancia

00:01:24.720 --> 00:01:31.300
de base de datos, ya vimos cómo usamos algunas herramientas de Oracle para base

00:01:31.300 --> 00:01:36.040
de datos como SQL Plus, Oracle SQL Developer, ¿sí?

00:01:36.040 --> 00:01:43.820
Y ahorita vamos a entrar al tema de lo que son las DBCAs, aunque para esto

00:01:43.820 --> 00:01:48.320
sí es necesario ver el tema 1, solo quiero hacer como una remembranza de que es ahorita

00:01:48.320 --> 00:01:49.220
lo que vimos, ¿no?

00:01:49.920 --> 00:01:54.900
Vimos gran parte de lo que es esto y si te fijas también en la parte del tema 3,

00:01:55.300 --> 00:01:59.640
creando una base de datos de Oracle, ya vimos cómo se crea la base de datos,

00:01:59.640 --> 00:02:00.120
¿no?

00:02:00.120 --> 00:02:07.420
A través de comandos de SQL y mejor dicho e indirectamente también estábamos viendo

00:02:07.420 --> 00:02:09.280
lo que es un DBCA, ¿sí?

00:02:09.280 --> 00:02:15.980
Entonces ahorita vamos a entrar en detalle ya para cerrar el día y vamos a retomar

00:02:15.980 --> 00:02:22.840
esta parte que en automático nos va a hacer comprender ya los demás temas, ¿va?

00:02:23.260 --> 00:02:27.540
Pero bueno, es como para que estén conmigo de todo lo que ya estuvimos viendo,

00:02:27.860 --> 00:02:33.500
simplemente viendo lo que es la instancia, la instalación de la base, ¿vale?

00:02:34.320 --> 00:02:38.560
Entonces, si yo me regreso a mi diapositiva, voy a ver lo que es una introducción

00:02:38.560 --> 00:02:41.460
de lo que es la base de datos de Oracle.

00:02:42.180 --> 00:02:45.980
Entonces, en esta parte es la parte teórica, de hecho la dejé al final,

00:02:46.280 --> 00:02:50.160
pues porque es un poco para que no fuera tan tedioso, ¿va?

00:02:50.980 --> 00:02:58.400
Y en esta parte vamos a la dinámica es que todos participemos también para que

00:02:58.400 --> 00:03:00.740
no sea tan aburrido nada más escuchar mi voz.

00:03:01.540 --> 00:03:07.840
Entonces, ¿qué les parece si en este punto Arón nos apoyas con leer

00:03:07.840 --> 00:03:11.200
lo que viene en la parte en la diapositiva 18?

00:03:11.780 --> 00:03:12.260
Sí.

00:03:12.600 --> 00:03:13.060
Correcto.

00:03:13.320 --> 00:03:17.060
No sé si tengas la diapositiva a la mano o quieres verla aquí en mi pantalla.

00:03:18.900 --> 00:03:20.960
Y si la puedes poner un poquito más grande.

00:03:22.900 --> 00:03:23.380
Correcto.

00:03:24.640 --> 00:03:26.120
Y si la tengo a la mano, ¿eh?

00:03:26.180 --> 00:03:26.800
¿Quieres ya?

00:03:27.340 --> 00:03:27.900
Ah, listo.

00:03:28.120 --> 00:03:29.600
Sí, de todos modos le voy a poner.

00:03:30.520 --> 00:03:31.000
Adelante.

00:03:32.180 --> 00:03:35.740
El arquitectura de Oracle Database Server es fundamental para comprender

00:03:35.740 --> 00:03:41.760
cómo funciona Oracle Database, especialmente la versión 19c.

00:03:41.960 --> 00:03:46.540
Esta arquitectura conceptualmente dividida en dos partes principales,

00:03:46.960 --> 00:03:50.300
la instancia de la base de datos y la base de datos física.

00:03:52.340 --> 00:03:53.560
Instancia de la base de datos.

00:03:53.760 --> 00:03:57.340
Una instancia de base de datos Oracle consiste en estructuras de memoria

00:03:57.340 --> 00:04:00.780
y procesos de fondo que operan sobre una base de datos física.

00:04:01.660 --> 00:04:10.100
La instancia es efímera y existe solo cuando la base de datos está en ejecución.

00:04:10.940 --> 00:04:16.120
Los principales componentes de una instancia incluyen System Global Area,

00:04:16.900 --> 00:04:21.080
que es un área de memoria compartida que contiene datos e información de control

00:04:21.080 --> 00:04:23.500
para una instancia de Oracle Database.

00:04:23.620 --> 00:04:27.860
La System Global Area incluye varios elementos como el buffer cache,

00:04:27.860 --> 00:04:30.780
el Shared Pool y el Air Pool.

00:04:31.020 --> 00:04:32.000
Procesos de fondo.

00:04:32.360 --> 00:04:36.720
Oracle Database utiliza varios procesos de fondo como el Process Monitor,

00:04:37.420 --> 00:04:46.800
el System Monitor, el Database Writer y el Log Writer y muchos otros.

00:04:46.900 --> 00:04:51.400
Estos procesos gestionan la coordinación y el flujo de datos dentro de la base de datos

00:04:51.400 --> 00:04:59.780
y ayudan a la recuperación de fallos y aseguran la integridad de la base de datos.

00:05:01.160 --> 00:05:01.760
Correcto.

00:05:01.840 --> 00:05:02.500
Muy bien.

00:05:03.200 --> 00:05:09.700
Entonces, estos conceptos pueden resultar a lo mejor un poquito abrumantes al inicio,

00:05:10.320 --> 00:05:15.980
pero los vamos a ir revisando conforme a la parte práctica que ya realizamos.

00:05:16.540 --> 00:05:18.600
Muchas gracias, Aarón, por ayudarme.

00:05:20.000 --> 00:05:20.520
Gracias a ti.

00:05:21.920 --> 00:05:24.160
Dice base de datos física.

00:05:25.300 --> 00:05:31.360
La base de datos física se refiere a los archivos en disco que almacenan los datos

00:05:31.360 --> 00:05:37.580
en la base de datos e incluye archivos de datos.

00:05:38.800 --> 00:05:42.940
Estos archivos contienen los datos reales almacenados en la base de datos.

00:05:43.720 --> 00:05:47.700
Cada tabla, cada índice, etcétera, reside en estos archivos de datos.

00:05:48.460 --> 00:05:53.900
Ahorita vamos a ver un poco de ejemplos también de en dónde se encuentran estos archivos.

00:05:55.560 --> 00:06:02.420
Archivos Redo Log son utilizados para recuperar la base de datos en caso de algún fallo.

00:06:03.060 --> 00:06:08.540
Estos archivos registran todas las transacciones realizadas en la base de datos

00:06:08.540 --> 00:06:13.480
y luego tenemos el archivo de control que contiene metadatos sobre la base de datos

00:06:14.080 --> 00:06:17.640
como lo es la estructura de los archivos de datos y el Redo Log.

00:06:20.080 --> 00:06:25.760
Esto, estos archivos son lo que compone el componente que nos decía ahorita Aarón.

00:06:26.020 --> 00:06:29.140
La base de datos física sale.

00:06:30.320 --> 00:06:33.780
Vamos a entrar un poquito más en detalle de lo que es una instancia.

00:06:33.980 --> 00:06:39.620
Este ejemplo o para describir esto de la instancia lo vamos a tomar con el ejemplo

00:06:39.620 --> 00:06:44.340
que hemos estado trabajando de la base de datos de Human Resources.

00:06:46.740 --> 00:06:52.960
Entonces básicamente nos dice que una instancia de Oracle Database es esencialmente el conjunto

00:06:52.960 --> 00:06:58.920
de estructuras de memoria y procesos de Oracle que sirven para gestionar las operaciones de

00:06:58.920 --> 00:07:04.140
la base de datos. Esta instancia va a ser un intermediario entre el usuario,

00:07:04.920 --> 00:07:09.060
sus operaciones y la base de datos física que está almacenada en disco.

00:07:11.200 --> 00:07:18.640
Es en esencia es algo así como si fuera un middleware, es un intermediario entre

00:07:18.640 --> 00:07:23.960
nosotros como usuarios y el sistema de datos físico que se instancia en o que se instala

00:07:23.960 --> 00:07:28.460
en la base de datos. En memoria vaya, en disco.

00:07:28.700 --> 00:07:33.680
Entonces un ejemplo simple, supongamos que quieres consultar los empleados del

00:07:33.680 --> 00:07:41.640
departamento de IT en el esquema de la base de datos de Human Resources.

00:07:43.040 --> 00:07:48.240
Al ejecutar una consulta, la instancia de Oracle que corre en Docker,

00:07:48.380 --> 00:07:51.840
en lo que instalamos, va a facilitar este proceso.

00:07:53.900 --> 00:07:57.880
Entonces para este ejemplo nosotros nos metemos a nuestra instancia como lo hemos

00:07:57.880 --> 00:08:04.120
estado haciendo. Como lo vimos ahorita me conecto al esquema con mi usuario que

00:08:04.120 --> 00:08:09.760
ya entendimos todos como funciona y yo puedo ejecutar esta primer consulta.

00:08:10.720 --> 00:08:17.920
Esta consulta realmente es un subquery y lo que está haciendo es mostrando el primer

00:08:17.920 --> 00:08:22.820
nombre y el apellido de esta tabla empleados en donde el departamento,

00:08:22.820 --> 00:08:30.260
chalala. Entonces este ejemplo como nota nos dice que asume que estamos conectándonos a la base

00:08:30.260 --> 00:08:35.940
de datos utilizando SQL plus, que es la herramienta que pues ya vimos ahorita.

00:08:36.260 --> 00:08:47.280
Y nos está mostrando como la instancia, es decir, esta conexión a la instancia nos va

00:08:47.280 --> 00:08:53.560
a facilitar o funciona como un intermediario entre nuestro usuario,

00:08:53.600 --> 00:09:02.260
que es HR y la base de datos. Yo con ella puedo ya interactuar a través de lo que es la

00:09:02.260 --> 00:09:10.100
instancia. Ahora, ¿por qué se dice que la instancia es efímera? Bueno, aquí nos da

00:09:10.100 --> 00:09:16.160
una explicación breve. Nos dice que es efímera porque existe solo mientras la base

00:09:16.160 --> 00:09:22.220
de datos está activa o en ejecución. Digamos que esa instancia es ese software que se instaló y

00:09:22.220 --> 00:09:30.820
que se configuró. Como saben, el software es intangible. En este caso podemos ver la instancia

00:09:30.820 --> 00:09:40.540
como un servicio de base de datos que solamente va a estar disponible cuando nosotros queremos

00:09:40.540 --> 00:09:47.720
interactuar con la base de datos o nos conectamos a ella. Realmente, aunque hablamos de software,

00:09:47.920 --> 00:09:55.360
sí podemos decir que la base de datos es un archivo físico, es un archivo tangible. Se instala

00:09:55.360 --> 00:10:06.780
en el disco de la máquina y pues literal son archivos que contienen información, contienen

00:10:06.780 --> 00:10:14.980
texto, metadata. Y esos archivos tan existen que los podemos encontrar y tienen un peso,

00:10:15.980 --> 00:10:22.100
tienen una memoria, gigabytes, terabytes en algunos casos, las bases de datos pesan.

00:10:23.480 --> 00:10:31.420
Sin embargo, lo que no es tangible, lo que no podemos ver es esa instancia. O sea,

00:10:31.660 --> 00:10:37.380
eso al final de cuentas ese es el concepto. Y ese concepto no solo es de Oracle. Cualquier

00:10:37.380 --> 00:10:46.040
gestor de base de datos define a la instancia con una naturaleza efímera. No podemos verla,

00:10:46.180 --> 00:10:51.180
no podemos ver cuánto mide. O sea, lo que estaríamos viendo es la medición de la base

00:10:51.180 --> 00:11:00.680
de datos, de los archivos, de los registros, pero no la instancia. Eso se refiere. ¿Cómo

00:11:00.680 --> 00:11:06.800
podemos comprobar ese estatus de la base de datos? Bueno, estamos viendo un nuevo comando,

00:11:08.060 --> 00:11:13.480
que de hecho creo que también está por aquí. Si no está aquí, entonces no está aquí,

00:11:13.520 --> 00:11:20.420
entonces ya lo podremos ejecutar. Este comando yo lo puedo copiar y ejecutar en la máquina

00:11:20.420 --> 00:11:28.120
virtual. Ahora, creo que no funciona la parte del clipboard, del portapapeles. Yo me enfrenté

00:11:28.120 --> 00:11:35.180
con esto. Esto al parecer nada más me está dando problemas con instancias de Ubuntu. ¿Qué hice

00:11:35.180 --> 00:11:39.760
yo para poder pasarme los comandos de la diapositiva a la máquina interna?

00:11:43.260 --> 00:11:50.280
Básicamente me apoyé de un sitio web que se llama CodeShare. No sé si ustedes ya lo

00:11:50.540 --> 00:11:59.040
han trabajado, pero básicamente CodeShare lo que hace es permitirme compartir código.

00:12:00.940 --> 00:12:05.060
Entonces, para ver cómo funciona, lo único que hago es copiarme el comando desde aquí,

00:12:05.300 --> 00:12:11.160
desde la interfaz web de mi máquina cliente y yo me voy a acordar de este código que es

00:12:13.580 --> 00:12:19.040
lazm8 y lo voy a abrir acá adentro en un navegador web.

00:12:24.360 --> 00:12:31.440
Entonces, aquí adentro yo puedo entrar igual a la página de CodeShare. Le voy a dar aquí.

00:12:36.460 --> 00:12:42.840
Eso ustedes también lo pueden ir haciendo y si yo le doy aquí donde dice compartir código ahora

00:12:42.840 --> 00:13:01.260
en ese botón rojo, me lleva a la interfaz. Yo nada más cambio este código y pongo el que

00:13:01.260 --> 00:13:10.320
voy a poder entrar y compartir código entre mi máquina host y mi máquina el web. Aquí yo

00:13:10.320 --> 00:13:16.100
ya puedo copiar este comando y ejecutarlo directamente en mi línea de comando.

00:13:20.060 --> 00:13:25.880
Eso básicamente porque lamentablemente me di cuenta que cuando copio desde aquí,

00:13:26.380 --> 00:13:30.600
no está funcionando el clipboard. Pero eso tiene que ver, no sé, creo que con la

00:13:30.600 --> 00:13:36.800
versión de Ubuntu no me había pasado. Pero bueno, ya no tenemos limitante usando CodeShare.

00:13:38.740 --> 00:13:45.200
Entonces, ¿qué sucede? Que para que yo pueda ejecutar esos comandos pues tengo que estar en

00:13:46.720 --> 00:13:52.680
una instancia de la base activa. Entonces para eso pues yo me voy a conectar todavía por

00:13:52.680 --> 00:14:00.960
medio de la línea de comandos. Es decir, voy a ejecutar este comando y si yo lo pego aquí

00:14:00.960 --> 00:14:08.120
en mi terminal, voy a poder acceder con mi password. Ah, bueno, primero tengo que meterme

00:14:09.540 --> 00:14:15.560
al contenedor. Entonces, pues aquí lo tengo, por ejemplo, con lo que puedo ejecutar aquí

00:14:15.560 --> 00:14:23.420
en la mano. Le doy click derecho, pegar. Yo estoy aquí adentro ya en el contenedor.

00:14:23.860 --> 00:14:33.000
Entonces adentro, ahora sí ya me puedo conectar con el usuario HR. Ejecuto otra vez el comando.

00:14:33.280 --> 00:14:41.720
No es más que lo que hemos estado trabajando. Le doy pegar. Y aquí adentro ya puedo ejecutar

00:14:41.720 --> 00:14:55.220
este comando que copie. Le doy copiar. Que fíjate que este comando, estoy viendo que es de Docker,

00:14:55.400 --> 00:15:00.980
ese no se ejecuta aquí adentro. O sea, lo puedo abrir en otra terminal en donde he estado trabajando.

00:15:05.100 --> 00:15:11.380
En este caso aquí, en mi ruta raíz, aquí puedo pegar el comando y ejecutar. Y si

00:15:11.380 --> 00:15:16.420
fijas, eso lo que está haciendo es conectarse a la instancia. Es como el comando que metí aquí

00:15:16.420 --> 00:15:23.900
arriba. Antes de conectarme aquí, el que me dejó conectarme a la instancia. Es como este comando.

00:15:24.080 --> 00:15:34.280
Este comando me deja acceder a la instancia, al contenedor, al sistema operativo. Y este

00:15:34.280 --> 00:15:40.800
comando igual desde fuera, desde el host, por así decirlo, estoy viendo cuál es el

00:15:40.800 --> 00:15:45.960
estatus de esa instancia. De ese middleware, por así decirlo, que me deja interactuar con la base

00:15:45.960 --> 00:15:54.160
de datos. En este caso, me está diciendo que está activo. No tiene problemas. De lo contrario,

00:15:54.740 --> 00:16:02.460
ya me lo diría. Entonces, aquí de hecho nos lo dicen, si la instancia está arriba,

00:16:02.720 --> 00:16:10.080
solamente se va a alistar un proceso y un SID. Ese SID es el identificado. El ID en

00:16:10.080 --> 00:16:16.920
este caso es el 36. Ese SID es del sistema operativo y sirve para identificarlo. Es el

00:16:16.920 --> 00:16:24.640
identificador del proceso. Entonces está corriendo. Listo. Entonces, eso básicamente es una instancia.

00:16:24.740 --> 00:16:29.240
No sé si tienen alguna duda o preguntas de lo que es la instancia de Oracle. La pueden

00:16:29.720 --> 00:16:37.180
identificar aquí con lo que hemos estado trabajando. Creo que todo hasta ahí va claro,

00:16:38.160 --> 00:16:48.940
cualquier cosa de todos modos me interrumpen. Listo. Entonces, hace ratito nos ayudó Orlando.

00:16:50.040 --> 00:16:56.360
No es cierto, creo que fueron. ¿Quién nos ayudó a ver? ¿Cómo ves si nos echas la mano, Harold,

00:16:56.360 --> 00:17:09.860
a leer lo siguiente? Sí. Perdóname la diapositiva. Sí, la 22, por favor. No sé si la tengas a la

00:17:09.860 --> 00:17:26.340
mano o de aquí quieres leerlo. Aquí de la pantalla, por favor. Adelante, déjame. Sería

00:17:26.340 --> 00:17:33.980
con una resource. La SGA es una estructura de memoria compartida utilizada por la instancia

00:17:33.980 --> 00:17:40.160
de Oracle para almacenar datos y control de información que facilita la gestión y el

00:17:40.160 --> 00:17:47.720
acceso a la base de datos. Ejemplo simple. Considera que varios usuarios realizan la misma

00:17:47.720 --> 00:17:52.420
ruta para obtener los detalles de los empleados del departamento IT. La primera

00:17:52.420 --> 00:17:57.700
vez que se realiza la consulta, Oracle tiene que leer los datos desde el disco. Sin embargo,

00:17:58.100 --> 00:18:04.880
gracias al Vuper Cache dentro de la SGA, estos datos se almacenan temporalmente en memoria.

00:18:05.040 --> 00:18:11.300
Cuando otro usuario realiza la misma consulta, Oracle puede recuperar rápidamente los datos

00:18:11.300 --> 00:18:17.000
desde el Vuper Cache en lugar de acceder nuevamente al disco, mejorando el rendimiento

00:18:17.000 --> 00:18:23.460
de la consulta. Ahí tenemos un ejemplo de consulta beneficiada por el Vuper Cache.

00:18:35.020 --> 00:18:41.900
Este ejemplo no incluye un código específico para interactuar con la SGA, ya que el manejo

00:18:41.900 --> 00:18:49.700
de la SGA es interno y automático por parte de Oracle. Sin embargo, ilustra cómo la presencia

00:18:49.700 --> 00:18:58.500
de la SGA mejora la eficiencia de las operaciones repetitivas. Correcto. Entonces, básicamente,

00:18:58.740 --> 00:19:10.460
ese concepto del SGA es un concepto, digamos, que no hay forma de interactuar con ello, vaya.

00:19:11.160 --> 00:19:17.500
Digamos que lo maneja internamente Oracle. Es una de las de los procesos de cómo su

00:19:17.500 --> 00:19:24.280
arquitectura está diseñada, está organizada, para que a través de este Vuper Cache por

00:19:24.280 --> 00:19:31.060
default siempre está pensando en cómo optimizar los recursos de sí mismo, de la instancia,

00:19:31.060 --> 00:19:40.980
de la base de datos. Entonces, uno de estos conceptos o de estos herramientas, por así decirlo,

00:19:41.160 --> 00:19:50.600
internas que tiene Oracle, es este Vuper Cache o este SGA. Básicamente, lo que hace es que

00:19:50.600 --> 00:19:56.120
internamente maneja por nosotros, trata de darle una optimización a las consultas que son

00:19:56.120 --> 00:20:03.280
solo lectura. En este caso, por eso se ilustra un select, porque internamente nosotros no lo

00:20:03.280 --> 00:20:10.900
vamos a ver, pero Oracle estaría haciendo un proceso para que esto lo lea, ya no lo vuelve

00:20:10.900 --> 00:20:20.160
a ejecutar si ya lo encuentra en un buffer. ¿Por qué? Porque, bueno, obviamente eso va a

00:20:20.160 --> 00:20:27.020
tratar de hacerlo de forma óptima, para que no esté consumiendo recursos a cada rato con un

00:20:27.020 --> 00:20:33.980
select que ya se ve ejecutado, hace uso de este mecanismo. ¿Va? Por eso nos dice que este

00:20:33.980 --> 00:20:41.800
manejo es interno y es automático desde Oracle. ¿Va? Entonces, nosotros cuando estemos

00:20:41.800 --> 00:20:47.080
ejecutando este tipo de comandos de solo lectura, selects, podemos estar tranquilos

00:20:47.080 --> 00:20:56.200
que por un lado Oracle está haciendo procesos de optimización. Ojo, no quiere decir que lo haga

00:20:56.200 --> 00:21:04.480
todo Oracle. Más adelante vamos a ir viendo que nosotros pues también le vamos a ayudar a la

00:21:04.480 --> 00:21:11.480
instancia a comportarse de forma más óptima. Cuando hablábamos de los procesos de fondo que

00:21:11.480 --> 00:21:17.740
Oracle tiene, hablábamos, por ahí nos decían, nos ayudaron a leer que están estos, ¿no? El

00:21:17.740 --> 00:21:24.040
Process Monitor, el System Monitor, el Database Writer, el Log Writer. Y, bueno, básicamente

00:21:24.040 --> 00:21:33.640
aquí dice qué está haciendo cada proceso. Oracle se apoya en múltiples procesos de

00:21:33.640 --> 00:21:40.540
fondo para mantener la operación, la integridad y el performance de la base de datos. Cada uno

00:21:40.540 --> 00:21:45.540
de estos procesos va a tener una responsabilidad muy en específico. Por ejemplo, el Process Monitor,

00:21:46.500 --> 00:21:51.720
aquí nos dice lo que hace, ¿no? Que es básicamente supervisar y recuperar procesos

00:21:51.720 --> 00:22:01.440
que fallaron en la base de datos. Por ejemplo, si una sesión de usuarios se

00:22:01.440 --> 00:22:07.180
desconecta de la nada, el Process Monitor limpia la sesión y libera los recursos que

00:22:07.340 --> 00:22:16.940
estaban asociados. No los deja ahí, ¿no? Digamos que Oracle hace uso de estos procesos

00:22:16.940 --> 00:22:21.520
y de muchos otros, sin embargo, estos son como de los más relevantes. Y por eso es

00:22:21.520 --> 00:22:26.840
que Oracle es un sistema gestor de base de datos bastante potente, ¿no? Porque

00:22:26.840 --> 00:22:31.460
trae todos estos procesos que están trabajando de fondo, simplemente al instalar

00:22:31.460 --> 00:22:38.580
la instancia y nos están ayudando. Nos están haciendo paro con respecto al tema de la

00:22:38.580 --> 00:22:44.480
optimización de recursos y demás. Hay otro proceso importante que es el System Monitor,

00:22:45.240 --> 00:22:51.000
que realiza las tareas de recuperación al reiniciar después de un fallo y ayuda en

00:22:51.000 --> 00:22:54.920
la optimización del espacio al combinar segmentos libres dentro de la base de datos.

00:22:56.660 --> 00:23:02.980
Y nosotros vamos leyendo cada uno de estos, vamos entrando más en detalle de lo que

00:23:02.980 --> 00:23:09.200
hace cada uno de estos procesos. Dentro del contexto del esquema que nosotros instanciamos

00:23:10.960 --> 00:23:19.380
o inicializamos, podemos ver ejemplos como, por ejemplo, este. Imaginemos que estamos

00:23:19.380 --> 00:23:29.020
actualizando salarios de empleados usando este esquema. Básicamente aquí podemos hacer uso

00:23:29.020 --> 00:23:34.620
de estos comandos dentro de nuestra instancia. Ustedes lo pueden ejecutar. Ahorita yo ya por

00:23:34.620 --> 00:23:40.100
cuestión de tiempo lo voy a obviar. Ustedes lo pueden ejecutar después si gustan. Y aquí

00:23:40.100 --> 00:23:45.100
te está diciendo lo que realmente está haciendo internamente Oracle. Este proceso

00:23:45.100 --> 00:23:52.260
se activa cuando tú ejecutas ese update, ese commit, para asegurar que la transacción se

00:23:52.260 --> 00:23:58.260
registre en los archivos de logos. Al hacer este commit, este update se va a guardar en un

00:23:58.260 --> 00:24:04.620
log. Luego también está este otro proceso que lo que ayuda es a escribir cambios del

00:24:04.620 --> 00:24:10.880
buffer cache a los archivos de datos en un momento apropiado, no necesariamente después

00:24:10.880 --> 00:24:16.620
del commit. Entonces este proceso también es un proceso inteligente, digamos, que está ahí

00:24:17.340 --> 00:24:22.760
viendo cuándo va a poder hacer cambios en el buffer, dependiendo de lo que estemos

00:24:22.760 --> 00:24:31.300
ejecutando en las consultas. Esos procesos están mapeados, en su mayoría, con archivos

00:24:31.300 --> 00:24:35.640
que también se conocen como archivos clave dentro de la base de datos de Oracle.

00:24:35.640 --> 00:24:41.600
Entonces, los archivos físicos son fundamentales para el funcionamiento de la base de datos de

00:24:41.600 --> 00:24:47.500
Oracle, asegurando la persistencia de datos, recuperación de fallos y la integridad de la

00:24:47.500 --> 00:24:57.500
base de datos. Aquí tenemos tres archivos clave. Los archivos de datos, por ejemplo,

00:24:58.040 --> 00:25:02.440
son almacenamiento físico de todos los datos de la base de datos. Por ejemplo,

00:25:02.440 --> 00:25:08.020
los datos de los empleados y los departamentos en ese esquema se van a guardar aquí en estos

00:25:08.940 --> 00:25:15.180
archivos. Tenemos los archivos de logs que nos dan registros de las transacciones realizadas

00:25:15.180 --> 00:25:23.880
en la base de datos y cuando hacemos procesos de recuperación y demás, se hacen uso.

00:25:25.360 --> 00:25:30.280
Y hay archivos de control que nos ayudan a mantener la estructura de la base de datos,

00:25:31.220 --> 00:25:37.420
incluyendo la ubicación de archivos de datos y de los redlogs. Digamos que estos

00:25:37.420 --> 00:25:44.760
archivos son importantes porque nos definen los dos anteriores. Vamos a ver que estos

00:25:44.760 --> 00:25:51.920
archivos están dentro de un patén específico. En este caso, como nosotros estamos trabajando

00:25:51.920 --> 00:25:59.760
con Docker, no es más que ir siguiendo lo que hemos estado haciendo. En este caso,

00:25:59.760 --> 00:26:11.500
si se acuerdan, nosotros teníamos un archivo Docker Compose que si se acuerdan estaba por

00:26:11.500 --> 00:26:19.780
aquí abajito. Yo tengo mi lista de comandos también aquí en la máquina cliente. Sí,

00:26:19.780 --> 00:26:25.520
entonces nosotros definimos esta ruta de volúmenes. Esa ruta es básicamente en

00:26:25.520 --> 00:26:34.520
donde se van a encontrar esos archivos. Por así decirlo, es como nuestra ruta root o path en

00:26:34.520 --> 00:26:40.600
donde vamos a encontrar archivos clave y que vamos a ver ahorita más adelante cómo se ven

00:26:40.600 --> 00:26:48.200
esos comandos. Aquí nos dice que en este caso Oracle Data es un volumen Docker que mapea la

00:26:48.200 --> 00:26:54.300
ubicación de los archivos de Oracle en nuestro sistema host. Para eso sirve este volumen.

00:26:54.300 --> 00:26:59.800
Nosotros podríamos hacer un ejercicio, si ustedes ya lo están igual pensando,

00:27:00.400 --> 00:27:08.460
que si yo me conecto a la instancia de Docker, ya ven que se conecta a uno y te cambia el

00:27:08.460 --> 00:27:15.360
prompt. De hecho, lo puedo ejecutar por acá. Este prompt cambió. Si yo aquí ejecuto el

00:27:15.360 --> 00:27:22.020
comando pwd, me va a decir en qué path estoy. Por default es el com Oracle. Y yo podría,

00:27:22.020 --> 00:27:29.600
por ejemplo, entrar a este otro path y ahí empezar a ver qué se guarda listando los

00:27:30.340 --> 00:27:36.820
directorios. Podría ver qué archivos guarda. Y bueno, aquí nos dice ejemplo completo y

00:27:36.820 --> 00:27:43.540
comentado de uso de cada proceso usando alguna tabla. Aquí está process monitor. Este proceso

00:27:44.260 --> 00:27:48.760
limpia después de una sesión de usuario que se desconecta inesperadamente. Aquí nos

00:27:48.760 --> 00:27:58.200
da el ejemplo. Imagina que un empleado consulta la base de datos y, bueno, está tabla en

00:27:58.200 --> 00:28:05.760
particular y la conexión se pierde de repente. Entonces no vamos a ver una salida de PEMON como

00:28:05.760 --> 00:28:10.840
tal. O sea, estos servicios no es que estén disponibles para el usuario. Como decíamos,

00:28:10.860 --> 00:28:19.140
internamente los maneja Oracle. Entonces, ahí va a entrar. O sea, estamos explicando qué es lo

00:28:19.140 --> 00:28:24.540
que pasa cuando una conexión se cierra de forma inesperada. Lo que estaría pasando es

00:28:24.540 --> 00:28:31.700
que este proceso se estaría ejecutando. Y después de la desconexión, los recursos,

00:28:32.720 --> 00:28:37.100
como bloqueos en filas o la memoria que haya sido usada por la sesión,

00:28:38.800 --> 00:28:44.720
se libere de forma adecuada. De esta forma, otros usuarios van a poder trabajar sin alguna

00:28:44.720 --> 00:28:52.980
interferencia. Y, bueno, aquí hay un ejemplo muy en específico de cada uno de estos comandos

00:28:52.980 --> 00:28:58.560
que, bueno, esos los podemos dejar a que ustedes los puedan leer, a su interpretación.

00:28:59.140 --> 00:29:04.300
Ahorita nada más lo que quisiera es ver, mira, aquí hay ejemplos de cómo interactúan.

00:29:04.300 --> 00:29:11.580
Y básicamente todos hemos hecho un SELECT, hemos hecho UPDATE, hemos hecho INSERT. Y,

00:29:12.200 --> 00:29:17.420
básicamente, se ilustra o, bueno, más bien se explica cuáles son los procesos internos

00:29:17.420 --> 00:29:25.840
que están ocurriendo cuando tú internamente ejecutas eso. Y, pues, bueno, aquí está la

00:29:25.840 --> 00:29:31.940
relación de esos procesos con los archivos. Decíamos que, pues, bueno, en esta ruta aquí

00:29:31.940 --> 00:29:37.740
vamos a encontrar esos archivos de los que estábamos hablando. Entonces, podemos entrar con

00:29:37.740 --> 00:29:44.940
esta ruta al, digamos, a la instancia que tenemos. Hacemos una, listamos los directorios,

00:29:45.660 --> 00:29:52.380
ls espacio-la y podemos ver cuáles son los archivos que se encuentran ahí asociados.

00:29:52.380 --> 00:30:02.780
Y, bueno, ahora vamos a entrar en un concepto que es el MULTITANENT. Y esto es una característica

00:30:02.780 --> 00:30:07.380
que Oracle tiene ya en los últimos ocho minutos que nos queda para aprovechar este tiempo.

00:30:09.620 --> 00:30:18.380
Básicamente es un concepto que nos describe un feature que también tiene Oracle por default,

00:30:19.080 --> 00:30:25.440
pero, bueno, es hablar mucho de lo que es un tipo de arquitectura que viene en Oracle.

00:30:27.340 --> 00:30:34.740
Básicamente esta arquitectura de Oracle lo que hace es permitirle que una única instancia

00:30:34.740 --> 00:30:40.060
de Oracle o de la base de datos de Oracle, que en este caso vamos a entrar al concepto

00:30:40.060 --> 00:30:50.320
de lo que es un CDB, un Container Database, esta arquitectura MULTITANENT le va a permitir

00:30:50.320 --> 00:31:00.600
a esa base de datos contenedor contener múltiples bases de datos pluggables, es decir, internas,

00:31:00.700 --> 00:31:06.460
por así decir. Es decir, nosotros con una sola base de datos que le podemos llamar un CDB,

00:31:06.460 --> 00:31:13.800
podemos hacer uso de la arquitectura de Oracle como está diseñada y podemos tener bases de datos

00:31:13.800 --> 00:31:20.060
que son enchufables, pluggables. Vamos a entrar en el concepto de lo que son las bases de datos

00:31:20.800 --> 00:31:26.460
CDB y lo que son estas bases de datos PDB, que es lo que nos define el temario.

00:31:29.720 --> 00:31:34.200
¿Para qué nos sirve ese modelo de arquitectura MULTITANENT? Básicamente,

00:31:36.540 --> 00:31:41.700
porque simplifica la administración de la base de datos y eso nos permite tener una

00:31:41.700 --> 00:31:48.140
consolidación eficiente. Vamos a ver aquí un ejemplo. Podemos conectarnos a una base

00:31:48.140 --> 00:31:55.620
de datos PDB y usar el esquema de Human Resources. Entonces aquí vamos a suponer que

00:31:56.360 --> 00:32:01.820
está la base de datos o el esquema en esta base de datos y la base de datos se llama de

00:32:01.820 --> 00:32:10.160
este tipo, orclpdb1. En nuestra configuración de Docker, si nosotros entramos con este comando

00:32:10.160 --> 00:32:15.540
como sysdba, de hecho este comando lo tenemos, acuerdan que teníamos dos formas de entrar a la

00:32:15.540 --> 00:32:21.200
instancia. Aquí nosotros estamos entrando a una base de datos que se llama así.

00:32:22.360 --> 00:32:29.460
Nosotros podemos hacer dentro de esa instancia la sesión, alterarla y definir otra base de

00:32:29.460 --> 00:32:35.000
datos. Si te fijas, yo aquí estoy diciendo que me estoy metiendo, yo había entrado a una base

00:32:35.000 --> 00:32:41.740
de datos que se llama así y luego ahí adentro le dije, aprovechando el concepto del MULTITANENT,

00:32:42.680 --> 00:32:48.560
le definí y le dije que la sesión mejor la altere y me meta a otra base de datos. Le llama

00:32:48.560 --> 00:32:54.960
container o ocupa este comando porque realmente esa base de datos está contenida dentro de otra

00:32:54.960 --> 00:33:03.380
base de datos. Ese es el concepto de la arquitectura MULTITANENT y eso obviamente permite tener una

00:33:03.380 --> 00:33:11.680
administración más centralizada, mejor dicho, más consolidada porque solamente puedes hacerlo

00:33:11.680 --> 00:33:18.560
a través de una sola base de datos. Ese es como el concepto. Aquí yo, estando dentro de

00:33:20.040 --> 00:33:26.780
la base de datos, me puedo conectar a la base de datos con el usuario, con un usuario diferente.

00:33:26.880 --> 00:33:33.460
O sea, si se fijan, yo accedí primero como SIS y dentro de esa misma instancia ya me estoy

00:33:33.460 --> 00:33:40.240
conectando pero con otro usuario, simplemente haciendo uso de este comando, cambiando

00:33:40.240 --> 00:33:47.140
la sesión. Eso es lo que nos define este concepto del MULTITANENT. Entonces, en este

00:33:47.140 --> 00:33:52.120
ejemplo, se muestra como interactuar con una base de datos que está plugable y es muy en

00:33:52.120 --> 00:33:58.100
específico, accediendo al esquema Human Resources que está instalado en ella. Yo puedo tener

00:34:01.200 --> 00:34:07.100
esquemas dentro de esa nueva base de datos, los que sean. O sea, puedo tener dentro de mi

00:34:07.100 --> 00:34:13.080
base de datos SIS o mi administradora y dentro de ese, digamos, algo así como mis bases

00:34:13.080 --> 00:34:17.860
de datos ordenadas que pueden tener diferentes esquemas y pues todo eso es una mejor gestión,

00:34:17.980 --> 00:34:23.420
un mejor orden. Vamos a ver ahorita, de bueno, de hecho creo que ahorita ya nada más vamos a ver

00:34:23.420 --> 00:34:29.200
el ejemplo platicado y lo voy a dejar como para que ustedes, si tienen la curiosidad,

00:34:29.300 --> 00:34:36.060
lo puedan ejecutar. Es un ejemplo de cómo se crea una base de datos PDB y CDB desde el

00:34:36.060 --> 00:34:42.880
inicio y desde una línea de comando. Para eso teníamos que tener nosotros noción de

00:34:42.880 --> 00:34:47.680
cómo nos vamos a mover por el curso. Todos los comandos que vamos a estar ejecutando los vamos

00:34:47.680 --> 00:34:54.440
a estar usando con la instancia de Docker, con nuestro PLSQL Plus o nuestro IDE, ¿no?

00:34:54.680 --> 00:35:03.060
SQL Oracle Developer. Entonces, solamente les voy a señalar en dónde se encuentra ese ejemplo

00:35:03.600 --> 00:35:09.200
para que lo podamos ver porque pues prácticamente el día de hoy pues ya termino. Aquí, bueno,

00:35:09.200 --> 00:35:16.180
nada más retomando lo de la arquitectura multi-tenant, los dos conceptos clave son estos,

00:35:16.940 --> 00:35:21.520
¿no? Que podamos poder tener una base de datos contenedora y una base de datos que es

00:35:21.520 --> 00:35:30.000
pluggable a esa base, ¿va? Aquí nos está diciendo básicamente cuál es el concepto de cada

00:35:32.360 --> 00:35:39.180
cosa, ¿no? Nos van a hablar de los beneficios que básicamente es como lo que ahorita platicábamos,

00:35:39.780 --> 00:35:45.100
vamos a tener las bases de datos consolidadas, las vamos a poder aislar y de esa forma les

00:35:45.100 --> 00:35:50.760
vamos a poder brindar seguridad, ¿sale? Vamos a poner tener una eficiencia de recursos

00:35:50.760 --> 00:36:00.220
centrando todo nuestro hardware en una única instancia. Y pues obviamente también esto

00:36:00.220 --> 00:36:06.360
habla del tema de la portabilidad porque podemos mover de una CDB hacia otra, ¿no?

00:36:07.080 --> 00:36:13.380
Entonces, esas son de las ventajas que vamos a poder tener, los procesos de backups,

00:36:13.580 --> 00:36:22.060
clonados, migraciones se benefician de esto, ¿vale? Vamos a entrar a otro concepto que es

00:36:22.060 --> 00:36:27.140
el sharding, pero en este sí ya lo voy a dejar para, para, esto lo vamos a estar viendo

00:36:27.140 --> 00:36:31.540
prácticamente en todo el curso, ¿sí? Pero bueno, el sharding al final nada más como para

00:36:32.060 --> 00:36:37.460
es que me interesa más bien ver el otro ejemplo de la arquitectura, de la base de datos PDB,

00:36:38.560 --> 00:36:44.580
pero bueno, este concepto básicamente es algo así como hacer réplicas de una tabla, ¿no?

00:36:45.800 --> 00:36:50.560
Esas réplicas lo que nos permiten es, de hecho el concepto es eso, la escalabilidad

00:36:50.560 --> 00:36:56.440
horizontal que básicamente es particionamiento, ¿no? De esa forma yo voy a poder tener la

00:36:56.440 --> 00:37:00.080
distribución de información a través de bases de datos que son independientes,

00:37:00.080 --> 00:37:05.740
a eso se les conocen como shards para mejorar el rendimiento, ¿no? Entonces, por un lado,

00:37:05.760 --> 00:37:11.780
tenemos una arquitectura que nos dice que podemos centralizar todo y por otro lado nos

00:37:11.780 --> 00:37:18.460
dice que Oracle también permite hacer escalamiento horizontal por medio de este concepto, ¿no?

00:37:18.460 --> 00:37:26.880
Del sharding. Este concepto realmente es algo un poco más complejo y llevarlo a cabo

00:37:26.880 --> 00:37:34.120
en un demo es todavía mucho más. ¿Por qué? Porque una, para que pudiéramos ver un resultado,

00:37:35.920 --> 00:37:41.420
digamos, aceptable e incluso nada más para que pudiéramos ver un solo ejemplo, tendríamos

00:37:41.420 --> 00:37:47.840
que tener una base de datos enorme, ¿no? Para que pudiéramos ver cómo se beneficia el

00:37:47.840 --> 00:37:55.220
hecho del particionado y dos, hacer réplicas de bases de datos pues requiere mucho más

00:37:55.220 --> 00:37:59.780
hardware, ¿no? Requiere que tengamos muchas más instancias de bases de datos y demás,

00:37:59.900 --> 00:38:05.760
entonces pues realmente esto también se va a hablar del concepto conceptualmente, ¿no?

00:38:06.000 --> 00:38:10.900
No vamos a tener aquí un ejemplo, digamos, de comandos de cómo podemos tener una red de

00:38:11.900 --> 00:38:20.620
instancias de Oracle corriendo porque realmente es muy complejo, digamos, ambientar eso, ¿no?

00:38:20.620 --> 00:38:27.060
Entonces, esta parte pues solamente va a quedar como en un concepto teórico y listo, ¿no?

00:38:27.900 --> 00:38:35.540
Bueno, con eso termina el día de hoy. Aquí, por ejemplo, este otro tema que decía de accediendo

00:38:35.540 --> 00:38:40.940
a la base de datos de Oracle, pues es lo que ya vimos, ¿no? Que de hecho les mostraba en

00:38:40.940 --> 00:38:47.400
el temario, o sea, me regreso. Realmente estábamos viendo, ya vimos esta parte,

00:38:47.400 --> 00:38:53.820
ya vimos cómo nos metemos a las bases de datos, ¿sí? Y lo último que queda, que de hecho es lo

00:38:53.820 --> 00:38:59.380
que les decía que les quisiera dejar como a su curiosidad, es el tema de crear la base de

00:38:59.380 --> 00:39:09.040
datos con esta arquitectura, ¿no? La multi-tenant. Entonces, para eso, esa parte solamente la dejo

00:39:09.040 --> 00:39:13.940
ahí en la diapositiva, que realmente, o sea, indirectamente pues ya lo estuvimos viendo,

00:39:15.080 --> 00:39:18.580
pero eso se encuentra a partir de la diapositiva número 40.

00:39:20.980 --> 00:39:26.860
El tema 2 de accediendo a la base de datos, pues ya lo vimos, es acceder a SQL plus y si

00:39:26.860 --> 00:39:33.920
ustedes gustan pueden ejecutar ya después estos códigos en línea por línea. Esto lo que hace

00:39:33.920 --> 00:39:43.900
es, le va a dar un, cómo decirlo, un print a la terminal cuando estemos dentro de SQL plus,

00:39:43.960 --> 00:39:49.680
para que no se ve así todo descuadrado, ¿no? Esto le va a dar un formato más bonito,

00:39:50.340 --> 00:39:56.040
por así decirlo, ¿no? Y la parte de SQL developer, pues bueno, aquí se muestra como

00:39:56.040 --> 00:40:02.160
abrir la interfaz y ya, ¿sale? Y bueno, lo último que quería yo, nada más ya se los dejo

00:40:02.160 --> 00:40:07.560
a su criterio. Igual lo podemos ver mañana, lo podemos ver mañana, lo retomamos a partir

00:40:07.560 --> 00:40:14.020
de esta línea, pero básicamente este es un asistente de EBCA que nos ayuda a crear bases

00:40:14.020 --> 00:40:19.480
de datos, ¿va? Con esto mañana vamos a ver cómo se interpreta todo este comando,

00:40:20.240 --> 00:40:24.500
porque es una forma de crear una base de datos y la práctica de eso,

00:40:24.600 --> 00:40:28.000
aquí se va a explicar cada uno de estos comandos, mañana lo vamos a retomar de

00:40:28.820 --> 00:40:34.280
rápida, aquí está la salida de ese, déjenme quito el son, un poquito al 100%,

00:40:34.280 --> 00:40:39.920
se va a ver la salida de ese comando, cómo se crea la nueva base de datos. Sí,

00:40:40.020 --> 00:40:45.480
y con eso yo voy a poder conectarme, o sea, lo que creamos con ese comando,

00:40:45.600 --> 00:40:50.320
que mañana vamos a ver, es una base de datos CDB y una base de datos PDB,

00:40:50.600 --> 00:40:54.440
entonces con eso vamos a tener, ampliando el ejemplo que vimos ahorita hace rato,

00:40:55.360 --> 00:41:00.520
digamos, lo que nos faltaba era ver cómo se creaba esa base de datos, es con esto,

00:41:01.320 --> 00:41:05.860
ya teniendo eso, ya puedo otra vez conectarme como sysdba a la base de

00:41:05.860 --> 00:41:11.480
datos contenedora y por medio de alterar la sesión a la base de datos plugable,

00:41:12.220 --> 00:41:17.560
aquí puedo incluso hacerle una consulta y eso pues nos va a traer resultados,

00:41:18.040 --> 00:41:22.420
eso es lo que estaríamos viendo en estos temas, que digo, al final de cuentas,

00:41:22.420 --> 00:41:29.540
pues los alcanzamos a revisar, ¿no? Y listo, nada más, con eso termina el día,

00:41:30.680 --> 00:41:35.520
en la parte del SQL Developer, todavía ese comando, o sea,

00:41:35.560 --> 00:41:39.440
lo podemos hacer de dos formas, por línea de comando y con la conexión que aquí nos dice

00:41:39.440 --> 00:41:45.320
cómo crearla, ¿no? Pues bueno, entonces mañana vamos a retomar de forma rápido eso y listo,

00:41:45.320 --> 00:41:49.660
con eso entonces terminamos el día de hoy, no sé si tengan alguna duda,

00:41:49.660 --> 00:41:52.300
inquietud, pregunta, algún comentario.

00:41:58.380 --> 00:41:58.940
Todo bien.

00:42:00.300 --> 00:42:04.940
Perfecto, muy bien, entonces mañana continuamos con la parte del día 2,

00:42:05.720 --> 00:42:10.060
y pues bueno, les agradezco mucho la atención y verdaderas disculpas por

00:42:10.600 --> 00:42:14.820
las interrupciones que di en la llamada.

00:42:17.180 --> 00:42:22.600
Listo, pues si no hay nada más, pues de esto nos vemos mañana y muchas gracias.

00:42:24.760 --> 00:42:26.200
Gracias Diego, sin problema, todo bien.

00:42:27.860 --> 00:42:28.300
Gracias.

00:42:28.520 --> 00:42:28.700
Gracias.

00:42:29.400 --> 00:42:30.360
Hasta luego.

00:42:30.980 --> 00:42:31.360
Hasta luego.