[26ai] ALERT_LOG_MAX_SIZE
![[26ai] ALERT_LOG_MAX_SIZE](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F65605419d28f19cc44df7ef1%2Fcbb365d0-4428-4a41-930d-516ce59e3355.jpg&w=3840&q=75)
Ingeniero informático, Oracle ACE, DBA y Arquitecto OCI, con más de 15 años de experiencia en plataformas Oracle. Certificado en OCI Certified Architect Professional y OCI Migration and Integration Certified Professional.
Search for a command to run...
![[26ai] ALERT_LOG_MAX_SIZE](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F65605419d28f19cc44df7ef1%2Fcbb365d0-4428-4a41-930d-516ce59e3355.jpg&w=3840&q=75)
Ingeniero informático, Oracle ACE, DBA y Arquitecto OCI, con más de 15 años de experiencia en plataformas Oracle. Certificado en OCI Certified Architect Professional y OCI Migration and Integration Certified Professional.
No comments yet. Be the first to comment.
En el artículo de hoy vamos a ver las Calendar functions en 26ai, diseñadas para simplificar la "vida" a los desarrolladores. Antes de su existencia, esto se resolvía con ingeniosas combinaciones usan
![[26ai] SQL: Calendar functions/Aggregation Filters "CALENDAR"](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F65605419d28f19cc44df7ef1%2F587e3328-9877-4c7a-aad7-7811e251f81e.png&w=3840&q=75)
En el artículo de hoy vamos a ver como podemos recrear una PDB$Seed de manera fácil en caso que se quede corrupta y no tengamos backup. sys@> alter pluggable database PDB$SEED open read only; alter pl
![[OCI] Recreación PDB$SEED](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F65605419d28f19cc44df7ef1%2F289ede5b-558c-4f93-b5c0-fa04680c91ca.png&w=3840&q=75)
El artículo también se encuentra publicado en Ingles English version. En el artículo de hoy vamos a ver como podemos clonar una PDB usando RMAN Active Duplicate o bien usando una instrucción DDL entre
![[OCI] Clone PDB](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F65605419d28f19cc44df7ef1%2F8ce0c665-4a5d-459d-91cf-ffe3f47d8176.png&w=3840&q=75)
El artículo también se encuentra publicado en Ingles English version. En el artículo de hoy voy a compartir un sh que utilizo para ver de una manera rápida los jobs que se ejecutan desde Oracle Databa
![[OCI] Check Jobs DBCli](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F65605419d28f19cc44df7ef1%2F1376a869-58fa-491e-926a-a6ead08f9c80.png&w=3840&q=75)
El artículo también se encuentra publicado en Ingles English version. En el artículo de hoy vamos a ver la nueva sintaxis introducida para simplificar aún más los joins evitando errores comunes, hacie
![[26ai] JOIN_TO_ME](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F65605419d28f19cc44df7ef1%2F16a23f6e-ec4c-4f0a-9529-2c8a2af2ef5e.png&w=3840&q=75)
El artículo también se encuentra publicado en Ingles English version.
El artículo veremos un nuevo parámetro introducido en 26ai para poder gestionar de manera fácil y eficiente el tamaño del alert log, es alert_log_max_size.
El valor por defecto del nuevo parámetro es 1000Mb:
SQL>
SQL> show parameter alert_log_max_size
NAME TYPE VALUE
------------------ ----------- -------
alert_log_max_size big integer 1000M
SQL>
Oracle internamente gestiona el alert log en bloques de 50Mb, es decir, nunca vamos a ver un alert log con un tamaño de 1000M, sino que veremos 20 ficheros de 50Mb cada uno.
Este parámetro solo se puede modificar a nivel de CDB$Root,no a nivel de PDB:
SQL> ALTER SYSTEM SET ALERT_LOG_MAX_SIZE = 150M;
ALTER SYSTEM SET ALERT_LOG_MAX_SIZE = 150M
*
ERROR at line 1: ORA-65040: Operation is not allowed from within a pluggable database.
Vamos añadir información en el alert log para ver cómo se comporta Oracle:
[oracle@~]cat save_inf.sql
begin
declare
i number := 0;
begin
loop i := i + 1;
sys.dbms_system.ksdwrt(2, 'string(''L'',?)= ' || dbms_random.string('L',trunc(dbms_random.value(10,21))));
exit when i >= 10000000;
end loop;
end;
end;
/
[oracle@~]
watch -n 10 "sqlplus -s / as sysdba @save_inf.sql"
[oracle@l23ai alert]$ ls -lash *xml
51M -rw-r----- 1 oracle asmdba 51M Apr 2 18:11 log_1.xml
51M -rw-r----- 1 oracle asmdba 51M Apr 2 18:11 log_2.xml
46M -rw-r----- 1 oracle asmdba 46M Apr 2 18:11 log.xml
Como podemos observar el alert log se ha dividido en ficheros de 50Mb!.
Una pequeña puntualizacion del nuevo parámetro, si está seteado con valor 0, el alert log tendrá un crecimiento ilimitado del alert log.
Pero ¿Podemos cambiar el valor 50Mb a otro valor? La respuesta es sí. Con el parámetro oculto "_alert_segment_size" podremos controlar el tamaño.
SQL> ALTER SYSTEM SET "_alert_segment_size" = 30;
System altered.
SQL> show parameter "_alert_segment_size"
NAME TYPE VALUE
------------------ ----------- -------
_alert_segment_size integer 30
[oracle@l23ai ~]$
watch -n 10 "sqlplus -s / as sysdba @save_inf.sql"
[oracle@l23ai alert]$ ls -lash *xml
51M -rw-r----- 1 oracle asmdba 51M Apr 2 18:11 log_1.xml
51M -rw-r----- 1 oracle asmdba 51M Apr 2 18:11 log_2.xml
46M -rw-r----- 1 oracle asmdba 46M Apr 2 22:10 log_3.xml
31M -rw-r----- 1 oracle asmdba 31M Apr 3 09:11 log_4.xml
31M -rw-r----- 1 oracle asmdba 31M Apr 3 09:11 log_5.xml
4.9M -rw-r----- 1 oracle asmdba 4.9M Apr 3 09:11 log.xml
Espero que os guste. ¡Nos vemos en el próximo artículo!