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.000 --> 00:00:06.300
lo que tenemos que hacer es crear la tabla, entonces podemos ya copiar estos comandos,

00:00:06.320 --> 00:00:12.220
los voy a ir pegando yo también aquí en el, en el code share, sale para que ustedes los tengan ahí

00:00:12.220 --> 00:00:21.320
a la mano, entonces aquí adentro, ustedes pueden ya lo tienen ahí, para irnos paso a paso,

00:00:21.720 --> 00:00:28.480
pueden crear esas tablas aquí directamente en la interfaz, sale, y no es más que copiar y

00:00:28.480 --> 00:00:37.880
los tenemos aquí en el IDE, entonces antes de ejecutarlo probablemente sea útil que podamos

00:00:38.520 --> 00:00:44.120
revisar que aquí en las tablas, si se fijan ustedes en sus tablas, no van a tener la tabla

00:00:44.120 --> 00:00:50.620
que se llama DDL y un bajo audit, porque es una tabla que se va a crear apenas y también por

00:00:50.620 --> 00:00:59.860
ejemplo en los triggers, no van a tener el trigger de audit DDL ni tampoco en los secuencias,

00:01:00.440 --> 00:01:08.220
hay otra sección que se llama secuencias, vamos a bajarle aquí en sequence, y no van a tener

00:01:08.220 --> 00:01:14.260
tampoco ésta, eso es normal porque pues no lo han ejecutado, entonces nada más como para

00:01:14.260 --> 00:01:21.820
tenerlo ahí este presente, que sigue, entonces ahora sí ya podrían ejecutar la tabla primero,

00:01:25.440 --> 00:01:29.820
sale, entonces no es más que ejecutar la tabla y luego de la tabla la secuencia,

00:01:35.060 --> 00:01:40.540
entonces voy a ir monitoreando por si alguien le manda algún este,

00:01:42.160 --> 00:01:49.500
bueno si necesitan apoyo, ¿tú ya lo ejecutaste, Orlando? ah, está haciendo, ok,

00:01:49.740 --> 00:01:56.160
listo, ahí tú podrías refrescar tu esquema del lado izquierdo, tu conexión y vas a ver que ya

00:01:56.160 --> 00:02:02.820
tienes la tabla y la secuencia creadas, entonces ahí arribita, estoy contigo Orlando,

00:02:03.640 --> 00:02:10.000
ahí donde dice connections del lado izquierdo, hay un botoncito como azul con las flechitas

00:02:10.000 --> 00:02:16.640
que dice refrescar más rápido, ese mero, y a ver si podrías colapsar donde dice localhost

00:02:17.920 --> 00:02:24.380
ovr, desplegar más bien, se dice, ¿verdad? y ahí buscas la tabla, debes de tener la que

00:02:24.380 --> 00:02:29.820
se llama, ah, bueno es que creo que no la creaste, ahorita la vuelves a seleccionar y

00:02:29.820 --> 00:02:36.560
la creas, y la secuencia también creo que ella te dice que la tienes, este, correcto,

00:02:38.920 --> 00:02:48.800
sí, a ver intenta seleccionar la tabla, y con la flechita verde, correcto, ahí está,

00:02:48.860 --> 00:02:54.040
ya se creó, si vuelves a refrescar el esquema, ahí te debe de salir, ahí está, DDL audit,

00:02:55.040 --> 00:03:01.000
abajito de countries, y si te vas bajando también, vas a encontrar una sección que se llama

00:03:01.000 --> 00:03:14.480
sequence, ahí está, abajito de types, y ahí está, el DDL audit seco, sale, perfecto, ahí ya Orlando

00:03:14.480 --> 00:03:22.360
ya lo creó, adelante, este, y bueno, creo que la mayoría ya lo logró creer, perfecto,

00:03:22.400 --> 00:03:30.340
bueno, de hecho todos, correcto, ah, también Leo ya lo hizo en la línea de comandos, perfecto,

00:03:30.440 --> 00:03:40.300
bien, entonces, ok, luego de eso nos seguimos en la diapositiva, estamos en la 80, sale,

00:03:40.880 --> 00:03:46.200
y voy a crear ahora sí el trigger, antes de crearlo vamos a darle una pequeña explicación,

00:03:46.200 --> 00:03:53.060
me lo voy a llevar también al coacher para que lo puedan ir este haciendo, todo lo que vayamos

00:03:53.060 --> 00:03:57.960
usando lo voy poniendo hacia abajo, va, entonces lo más lo actual siempre va a quedar al inicio,

00:03:58.740 --> 00:04:06.060
entonces lo voy a explicar con poquito este de detalle, que está haciendo este trigger,

00:04:06.700 --> 00:04:13.820
básicamente está diciendo que lo cree o en caso de ya existir lo reemplace, va a crear un

00:04:13.820 --> 00:04:20.580
trigger aquí en nuestra sesión de HR, que se llama HR audit DDL trigger, bueno, de hecho así se

00:04:20.580 --> 00:04:27.220
llama el trigger, va, este trigger lo que está haciendo es que le estamos diciendo una instrucción,

00:04:27.460 --> 00:04:34.740
esta instrucción after DDL on database es, digamos, la clave o el concepto del trigger,

00:04:35.540 --> 00:04:41.040
eso le estoy diciendo, después de que exista algún comando del tipo DDL sobre la base de

00:04:41.040 --> 00:04:47.360
datos en general, en este caso se va a aplicar en la base de datos en la que yo me encuentro,

00:04:47.400 --> 00:04:55.460
si, la base de datos como ya sabemos es la pdb, es mi base de datos pdb, va, ahí es donde lo va

00:04:55.460 --> 00:05:02.360
a ejecutar, entonces siempre que en alguna tabla se encuentre un comando del tipo DDL,

00:05:03.000 --> 00:05:09.820
lo que va a hacer es lo siguiente, se va al cuerpo del trigger que se empaqueta entre

00:05:09.820 --> 00:05:16.500
las etiquetas, instrucciones, mejor dicho, begin y end, y esto se le puede decir que es el cuerpo,

00:05:16.680 --> 00:05:23.240
bueno, no se le puede decir, es el cuerpo, es el cuerpo del trigger, en este cuerpo es como si

00:05:23.240 --> 00:05:29.320
tuviéramos un procedimiento almacenado o una función, que creo que todos conocemos el

00:05:29.320 --> 00:05:34.300
concepto del function, básicamente es eso, ir escribiendo instrucciones que se van a ir

00:05:35.380 --> 00:05:43.460
secuencial y vamos a ir haciendo algo, que hace este trigger realmente, lo que hace es que

00:05:43.460 --> 00:05:52.100
después de que se ejecute este comando digamos de disparador, lo que va a hacer es que después

00:05:52.100 --> 00:06:01.180
de que pase eso, va a ser un insert en la tabla DDL audit, esa tabla es la que nosotros

00:06:01.180 --> 00:06:06.520
creamos hace ratito, para eso la creamos, para que ahí se inserte información,

00:06:07.880 --> 00:06:14.260
no es más que poner la instrucción del insert, básicamente es un ID, la fecha, el nombre de

00:06:14.260 --> 00:06:21.340
usuario, el tipo, el object name, que es lo que yo voy a registrar, y los values,

00:06:21.500 --> 00:06:27.760
que valores son, en automático para los IDs voy a utilizar una secuencia,

00:06:27.760 --> 00:06:32.780
esa secuencia es la que nosotros también creamos, esta secuencia lo que hace es que

00:06:32.780 --> 00:06:39.460
básicamente es un contador, es un contador que te dice, ah sabes qué, iniciame en uno,

00:06:39.860 --> 00:06:49.520
incrementame en uno, y es una numeración vaya, cada vez que yo haga un insert en la tabla de

00:06:49.520 --> 00:06:55.240
audit, el identificador lo va a manejar la secuencia, sale, entonces el primer registro

00:06:55.240 --> 00:07:00.660
va a insertar en uno, y en automático le va a ir metiendo numeraciones, yo no me preocupo

00:07:00.660 --> 00:07:09.840
por manejar los IDs, después voy a agregar la fecha, la fecha como en cualquier otro lugar,

00:07:09.920 --> 00:07:18.600
sabemos muy casi la conocida instrucción, el system timestamp, o el sysdate, o lo que sea,

00:07:18.720 --> 00:07:22.680
aquí en Oracle, pues esta instrucción nos ayuda a meter la fecha del sistema,

00:07:24.660 --> 00:07:33.520
luego esto, aquí el owner nos dice básicamente que podemos meter o guardar quién fue la persona

00:07:33.520 --> 00:07:42.140
que ejecutó el step, en este caso, pues es nuestro usuario HR, quién va a ser el owner,

00:07:43.660 --> 00:07:51.240
el tipo de objeto va a guardar el tipo de DDL que se está metiendo, y un nombre del objeto,

00:07:51.840 --> 00:07:58.540
es lo que se está guardando, sale, cuando yo ejecuto este comando triggers, ustedes lo pueden

00:07:58.540 --> 00:08:03.720
crear, lo pueden ir creando, van a ver aquí también la sección de triggers, el trigger que

00:08:03.720 --> 00:08:11.660
se llama audit DDL trigger, y ya lo van a tener disponible, una vez que ustedes hagan eso,

00:08:11.820 --> 00:08:17.560
bueno si quieren me espero a que tengan todos el trigger, para ver si no hay tema,

00:08:17.560 --> 00:08:27.540
ahí Orlando ya lo creó, y ya lo puede ver incluso, perfecto, bien también, ahí voy,

00:08:27.680 --> 00:08:33.720
ahí voy, quién me habló, Aaron, ¿verdad? Venga, a ver, ¿cuál ventana, perdón?

00:08:34.300 --> 00:08:41.680
Ah, la de aquí, la de aquí del IDE, ok, lo que puedes hacer es cerrar ahí donde dice

00:08:41.680 --> 00:08:53.280
welcome page, y puedes abrir un, probablemente si le das click donde dice DDL audit, a ver,

00:08:53.420 --> 00:09:02.040
dale click derecho, a ver si le hacen edit, lo hago así, o bueno, sí, también desde arriba,

00:09:02.040 --> 00:09:12.040
como dice Aaron, ahí donde está el correcto, ahí hay que cerrarlo, hay que cerrar la penúltima

00:09:12.040 --> 00:09:17.780
opción, correcto, bien, entonces ahí está, bien, entonces Carol, muchas gracias, correcto,

00:09:17.800 --> 00:09:22.660
y ya con eso ya puedes volver a escribir ahí comandos, exacto, copiamos ese código,

00:09:25.920 --> 00:09:33.740
y ahí le puedes dar este, lo ejecutas, y ya te lo agrego, entonces si refrescas otra vez tu conexión,

00:09:33.920 --> 00:09:38.000
ahí con las flechitas de hasta arriba, exactamente, más arriba, ah bueno, le puedes

00:09:38.000 --> 00:09:44.100
dar click derecho, exacto, ahí buscas la sección de triggers, casi está hasta abajo,

00:09:44.320 --> 00:09:50.380
exacto, y ahí en triggers lo expandes, y ahí está, el trigger audit DDL, perfecto,

00:09:50.920 --> 00:09:56.320
bien, entonces después de esto, no voy a salir de aquí porque no se ve, ahora sí ya podemos

00:09:56.320 --> 00:10:01.480
ejecutar el ejemplo, ¿qué es el ejemplo?, básicamente hacemos un alter, ah, bueno,

00:10:01.500 --> 00:10:06.920
esto también lo voy a ir poniendo, aquí básicamente nos va diciendo todo,

00:10:07.580 --> 00:10:12.260
lo mismo que hemos estado haciendo, voy a copiar de una vez los dos comandos,

00:10:12.260 --> 00:10:18.360
para no estar haciendo uno y luego otro y así, vamos a ir pegando este,

00:10:20.500 --> 00:10:27.600
y son estos dos comandos, los últimos, entonces si yo ejecuto eso, me los traigo para acá a mi

00:10:27.600 --> 00:10:33.740
ambiente, ajá, y lo primero que voy a hacer es ejecutar, se ejecutan uno por uno para tener

00:10:33.740 --> 00:10:40.200
este más control, yo voy a hacer un alter, el primer script lo ejecuto, y lo que va a pasar

00:10:40.200 --> 00:10:45.400
es que en mi tabla empleados, es lo que le estoy diciendo, básicamente un alter es una

00:10:45.400 --> 00:10:52.200
modificación, a la tabla, esto el alter es un comando que se conoce de la familia de los DDL,

00:10:53.120 --> 00:10:58.640
¿por qué?, porque está definiendo, no estoy manipulando data, sino más bien estoy

00:11:00.160 --> 00:11:07.680
definiendo sobre objetos, este tipo de comandos son los que se van a registrar en nuestro

00:11:07.680 --> 00:11:14.180
ejemplo, entonces qué voy a hacer, que cuando se ejecute, bueno voy a ejecutar el alter table

00:11:14.180 --> 00:11:21.220
de la tabla de empleados, le voy a agregar una columna nueva, y cuando eso pasa, el trigger

00:11:21.220 --> 00:11:28.480
solito y en automático, se va a ejecutar, de hecho cuando ustedes ejecuten el alter,

00:11:29.220 --> 00:11:34.900
me voy a esperar para que veamos la salida, ahora sí que el primero que lo haga, yo me asomo,

00:11:35.460 --> 00:11:41.180
porque la salida, literal cuando ejecutas el alter, va a desencadenar también al trigger,

00:11:41.960 --> 00:11:46.820
y eso es lo que va, lo que tienen que ver en su salida, entonces voy a ver ahorita,

00:11:47.100 --> 00:11:57.460
a ver qué tienen, y a ver, este alguien ejecutó ya el alter, creo que, ah listo,

00:11:57.460 --> 00:12:04.260
mira por ejemplo Orlando ya lo ejecutó, bueno creo que ya todos lo hicieron, a ver,

00:12:04.600 --> 00:12:10.340
aquí en el caso de Orlando, si tú te fijas Orlando, ejecutaste el alter, vamos a ver la

00:12:10.940 --> 00:12:18.820
salida, dice trigger audit ddlet trigger, trigger compilado, no, eso quiere decir,

00:12:18.940 --> 00:12:25.540
ah bueno si le vas bajando, tú activaste sobre la tabla de empleados, hiciste un alter,

00:12:27.460 --> 00:12:31.780
eso quiere decir que compiló el trigger, y si tú le das un select a la última,

00:12:31.940 --> 00:12:37.860
el último, ejecutas el último select sobre la tabla de audit, y le damos en ejecutar,

00:12:39.980 --> 00:12:47.540
ahí ya te fijaste que te ejecutó, o bueno te hizo un insert, el día 8 de febrero,

00:12:47.740 --> 00:12:53.280
bueno ahí es la hora del servidor, y se está guardando, digamos un log,

00:12:53.540 --> 00:12:56.180
esa es la forma en la que estamos trabajando con el trigger.

00:12:57.720 --> 00:13:04.160
Perfecto, ahí Orlando ya lo ejecutó, este, quién más, vamos a ver,

00:13:04.340 --> 00:13:07.540
ahí tienes broncas con algo León, quieres que te eche la mano con algo,

00:13:12.180 --> 00:13:18.300
listo, ah, sí, ok, ah ok, a ver si quieres que sacamos la conexión,

00:13:19.340 --> 00:13:24.660
este, bueno ahí estás conectado a, ándale, ahí en properties, perfecto,

00:13:25.240 --> 00:13:29.760
bien, entonces ahí estás con el hr, si le pones uno, dos, tres, cuatro, cinco, seis,

00:13:29.840 --> 00:13:34.860
le puedes guardar ahí el password, si quieres, para que no esté dando la tabla,

00:13:34.920 --> 00:13:40.700
es correcto, le das test, para que la pruebe, ahí, ahí ya dice, correcto,

00:13:42.980 --> 00:13:49.480
entonces ahí le puedes dar este connect, y a ver si, bueno creo que te va a abrir otra pestaña,

00:13:49.520 --> 00:13:54.720
es correcto, bueno vamos a hacerle caso a esta instancia, ahora puedes colapsar el

00:13:55.500 --> 00:14:05.500
localhost del lado, ándale primero, en las tablas, y ahí está el ddl audit,

00:14:06.820 --> 00:14:13.180
ahí está, sí, ahí está la tabla, entonces, nada más que fíjate que se ve como un simbolito

00:14:13.980 --> 00:14:19.240
raro, tal vez por como dices, como lo hiciste en la línea de comando, se ha deberido algo,

00:14:19.240 --> 00:14:28.540
algo ahí raro, no, a ver vamos a usarlo, a ver, a ver si, a ver qué pasa, a ver,

00:14:28.700 --> 00:14:35.080
vamos a continuar, este le dices, ya creaste el sequence, ok, ok, a ver vamos a ejecutar el

00:14:35.080 --> 00:14:46.280
trigger, y ejecutalo, y nos dice, la tabla o la vista no existe, como que está intentando

00:14:46.280 --> 00:14:51.720
buscar ddl audit, sí mira, lo que yo creo que podemos hacer, aquí en el IDE,

00:14:52.340 --> 00:14:57.320
hay que borrarla, y crearla desde el IDE, para que no haya ahí como conflicto, y ya con eso,

00:14:57.320 --> 00:15:06.680
con eso te va a conectar, si, bien tos, bien tos Leo, si, no gracias a ti, bien tos, ok,

00:15:06.760 --> 00:15:13.120
entonces este, sale y vale, a ver déjame, vuelvo a actualizar aquí la vista, porque se

00:15:13.120 --> 00:15:13.820
me pierde.