Mostrando entradas con la etiqueta Oracle 11g R2. Mostrar todas las entradas
Mostrando entradas con la etiqueta Oracle 11g R2. Mostrar todas las entradas

20 enero 2021

Oracle RAC Highly Available IP (HAIP)




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

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

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




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

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

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

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

Primea instalación

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

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

inet 169.254.42.186/19 brd 169.254.42.255 alcance global eth2: 1

Esto sucede cuando HAIP está activo y configurado.

Así que comprobaré

crsctl stat res -t -init

ora.cluster_interconnect.haip
1 ONLINE ONLINE srvpcaoraent1 ESTABLE

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

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

¡Excelente!

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

seleccione inst_id, name, ip_address de gv $ cluster_interconnects;

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

Y también

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

oifcfg le permite agregar y eliminar interfaces fácilmente

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

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




19 enero 2021

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

 

¿Cómo seguir utilizando Flash en 2021?

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

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

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

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

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

32 bits

  • C:/Windows/system32/Macromed/Flash

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



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

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

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

 



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

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

28 noviembre 2020

Copias de seguridad gestionadas por el usuario en Oracle

 

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

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

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


Copia de seguridad física (Physical Backup)

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

Copia de seguridad lógica (Logical Backup)

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

Diferencia entre restauración y recuperación

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

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

Copias de seguridad gestionadas por el usuario

Backpup en Frio

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

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

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

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

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

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

alter tablespace SIGE_TBS offline normal;

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

alter tablespace SIGE_TBS online;

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

alter system archive log current;

Backups en caliente

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

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

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


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

Base de datos de contenedores completa:

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

connect system@container1

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

ROOT solo o PDB individual

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

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

alter session set container= tech_pdb;

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

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

alter database backup controlfile to '/control_file.trc;

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

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

alter database backup controlfile to '';

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

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

24 noviembre 2020

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

 


El desafío

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

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

La realidad

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

04 octubre 2018

PL/SQL: Server Result cache otra herramienta más en nuestro cinturón


Una característica desde Oracle 11g, el llamado Result Cache, es una herramienta poderosa que se puede usar para almacenar en la memoria resultados de consultas y funciones. La información almacenada en caché se almacena en un área dedicada dentro de la Shared Pool donde puede ser compartida por otros programas PL/SQL que realizan cálculos similares. Si los datos almacenados en este caché cambian, los valores que se almacenan en el caché pierden su validez. Esta función es útil para las bases de datos con sentencias que necesitan acceder a un gran número de filas y devolver solo algunas de ellas. Como puede ocurrir en tiendas online, bancos, etc, ...

La caché de resultados se configura utilizando el parámetro de inicialización result_cache_mode con uno de estos tres valores:

  • auto: los resultados que deben almacenarse se resuelven mediante el optimizador de Oracle
  • manual: Almacene en caché los resultados indicando la declaración usando la sugerencia result_cache | no_result_cache
  • force: todos los resultados serán cacheados.

El paquete dbms_result_cache se usa para proporcionar las opciones de administración de DBA de la memoria utilizada tanto por la caché de resultados de SQL como por la caché de resultados de la función PL / SQL. Estos son los procedimientos y funciones del paquete dbms_result_cache:


A continuación se describe una descripción práctica de cómo utilizar estos procedimientos y funciones.

Para este ejemplo, la result cache de SQL se muestra y se explica cómo limpiar la memoria caché de resultados y cómo utilizar las sugerencias para corregir los resultados de una consulta en la memoria caché de resultados. Primero, eche un vistazo a los parámetros de inicialización del caché de resultados. Todos están configurados en sus valores predeterminados; por lo tanto, es necesario usar la sugerencia result_cache para mantener los resultados de las consultas en la memoria, ya que el parámetro de inicialización result_cache_mode es manual.



Ahora consulta las vistas de caché de resultados que proporcionan información como objetos en memoria, dependencias de relación y estadísticas de caché de resultados.


Seguimos con la comprobación



Ejecute la operación "flush" para eliminar todos los objetos de la memoria caché de resultados. Existe la opción de conservar o liberar la memoria y / o las estadísticas según sea necesario. Aquí se encuentran todas las posibilidades de vaciar el caché de resultados:


Es muy fácil mantener los resultados de las consultas en la memoria, pero presta atención a la columna de invalidaciones de la tabla v $ result_cache_objects. Esta columna muestra cuándo los resultados asociados a un objeto en la memoria dejan de ser válidos debido a una modificación de los datos.

El parámetro result_cache se usa para que los resultados devueltos por esta función se almacenen en la memoria caché hasta que se modifiquen los datos de la tabla de empleados, lo que invalidará los resultados almacenados en caché para esta función.



30 septiembre 2018

Proceso en PL/SQL para matar sesiones en Oracle 11g RAC


Alguna que otra vez, en tu que hacer diario, necesitas eliminar una sesión en una instalación Oracle database 11g RAC y más tarde, recibes un mensaje en el  que no se puede cancelar la sesión debido a que la sesión está conectada a una instancia diferente. Te tienes que conectar a esa instancia y matarla

Comenzando con 11g, el fabricante incluyó el nombre de instancia en el comando de alterar el sistema (3º parámetro o @instance_id). Por lo tanto, para matar la sesión de bloqueo en cualquier nodo desde cualquier nodo que ejecutaría:



Si ejecutamos nuestro código tenemos la siguiente salida:

Ya puedes matar sesiones en un servidorRAC por instancia de este.




26 noviembre 2017

Mejoras de auditoría (DBMS_AUDIT_MGMT) en Oracle Database 11g Release 2

Oracle, para la release 11g R1 activó la auditoría por defecto por primera vez. Oracle 11g Release 2 ahora permite una mejor administración de la pista de auditoría utilizando el paquete DBMS_AUDIT_MGMT.

Mover la pista de auditoría de base de datos a un espacio de tabla diferente

El procedimiento SET_AUDIT_TRAIL_LOCATION te permite modificar la ubicación de la pista de auditoría de base de datos (normal / detallada). Aunque no permite la alteración de la pista de auditoría del sistema operativo,  la documentación sugiere que esto puede suceder en el futuro. 
Este procedimiento acepta dos parámetros.

  • AUDIT_TRAIL_TYPE: tipo de pista de auditoría que se va a mover.
  • AUDIT_TRAIL_LOCATION_VALUE: el espacio de tabla al que deben moverse las tablas de seguimiento de auditoría.

El parámetro AUDIT_TRAIL_TYPE se especifica utilizando una de estas constantes.

  • DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD: pista de auditoría estándar (AUD $).
  • DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD: pista de auditoría detallada (FGA_LOG $).
  • DBMS_AUDIT_MGMT.AUDIT_TRAIL_DB_STD: pistas de auditoría estándar y de grano fino.


Primero vemos la ubicación actual de las tablas de seguimiento de auditoría.

A continuación, creamos un nuevo tablespace para contener el seguimiento de auditoría.
Luego movemos la pista de auditoría estándar al nuevo espacio de tabla.
A continuación, movemos la pista de auditoría detallada.

Controlar el tamaño y la antigüedad de la pista de auditoría del sistema operativo

El procedimiento SET_AUDIT_TRAIL_PROPERTY le permite establecer el tamaño máximo y / o la edad de los archivos del registro de auditoría del sistema operativo. El procedimiento puede establecer parámetros para varios propósitos, pero restringiré la discusión solo a aquellos relevantes para esta sección. Se puede encontrar una lista completa de las constantes disponibles aquí.

El procedimiento acepta tres parámetros.
  • AUDIT_TRAIL_TYPE: el tipo de pista de auditoría a modificar (AUDIT_TRAIL_OS, AUDIT_TRAIL_XML o AUDIT_TRAIL_FILES).
  • AUDIT_TRAIL_PROPERTY: el nombre de la propiedad que se establecerá (OS_FILE_MAX_SIZE o OS_FILE_MAX_AGE).
  • AUDIT_TRAIL_PROPERTY_VALUE: el valor requerido para la propiedad.
Para verificar la configuración actual, consulte la vista DBA_AUDIT_MGMT_CONFIG_PARAMS.

Para estableder  el tamaño máximo de los archivos de auditoría del sistema operativo en 15,000 Kb, ejecuta el siguiente script:
Para establecer la edad máxima de los archivos de auditoría XML en 30 días, ejecuta el siguiente script.
El procedimiento CLEAR_AUDIT_TRAIL_PROPERTY se puede utilizar para eliminar las restricciones de tamaño y edad o restablecerlas a los valores predeterminados. Establecer el valor del parámetro USE_DEFAULT_VALUES en FALSE elimina las restricciones, mientras que establecerlo en TRUE devuelve la restricción al valor predeterminado.

Purga de registros de seguimiento de auditoría

Al igual que en versiones anteriores, puede eliminar manualmente registros de las tablas AUD $ y FGA_LOG $ y eliminar manualmente los archivos de auditoría del sistema de archivos, pero el paquete DBMS_AUDIT_MGMT le brinda algunos mecanismos nuevos y más seguros para mantener la pista de auditoría.

Inicializando la infraestructura de gestión

Para poder purgar la pista de auditoría de la base de datos, se debe realizar una inicialización única de la infraestructura de administración de auditoría. Esto se hace usando el procedimiento INIT_CLEANUP. El procedimiento acepta dos parámetros.
  • AUDIT_TRAIL_TYPE: la pista de auditoría a inicializar (constantes).
  • DEFAULT_CLEANUP_INTERVAL: El intervalo predeterminado en horas, después del cual el procedimiento de limpieza se debe volver a llamar (1-999).

El siguiente script SQL verifica la configuración de parámetros actual, inicializa la infraestructura de administración de auditoría para todas las pistas de auditoría con un intervalo predeterminado de 12 horas y vuelve a verificar la configuración.
Observa que el 'DB AUDIT TABLESPACE' para las pistas de auditoría de la base de datos no ha cambiado y que se ha establecido el 'INTERVALO DE LIMPIEZA POR DEFECTO' para las cuatro pistas de auditoría. El estado de inicialización actual de una pista de auditoría específica se puede verificar utilizando IS_CLEANUP_INITIALIZED.

Para desconfigurar la infraestructura de gestión de auditoría, ejecute el procedimiento DEINIT_CLEANUP.

Gestión de marca de tiempo

Lo siguiente a considerar antes de purgar la pista de auditoría es la cantidad de datos que desea depurar. El paquete DBMS_AUDIT_MGMT nos permite purgar todos los registros, o todos los registros anteriores a una marca de tiempo específica. La marca de tiempo en cuestión se especifica individualmente para cada pista de auditoría utilizando el procedimiento SET_LAST_ARCHIVE_TIMESTAMP, que acepta tres parámetros.
  • AUDIT_TRAIL_TYPE: el seguimiento de auditoría cuya marca de tiempo debe establecerse (constantes). Solo son válidos los registros de auditoría individuales, no las constantes que especifican los múltiplos.
  • LAST_ARCHIVE_TIME: se borrarán los registros o archivos anteriores a esta hora.
  • RAC_INSTANCE_NUMBER: opcionalmente especifique el nodo RAC para las pistas de auditoría del sistema operativo. Si no está configurado, asume la instancia actual.

Purga manual

El procedimiento CLEAN_AUDIT_TRAIL es el mecanismo básico para purgar manualmente el seguimiento de auditoría. Acepta dos parámetros.
  • AUDIT_TRAIL_TYPE: la pista de auditoría a purgar (constantes).
  • USE_LAST_ARCH_TIMESTAMP: establézcalo en FALSE para purgar todos los registros / archivos, o TRUE solo purgue los registros / archivos anteriores a la marca de tiempo especificada para la pista de auditoría.

Purga automatizada

El procedimiento CREATE_PURGE_JOB le permite programar un trabajo para llamar al procedimiento CLEAN_AUDIT_TRAIL. Al crear un trabajo de purga, puede especificar 4 parámetros.
  • AUDIT_TRAIL_TYPE: la pista de auditoría a purgar por el trabajo programado (constantes).
  • AUDIT_TRAIL_PURGE_INTERVAL: intervalo en horas entre purgas.
  • AUDIT_TRAIL_PURGE_NAME: un nombre para el trabajo de depuración.
  • USE_LAST_ARCH_TIMESTAMP: establézcalo en FALSE para purgar todos los registros / archivos, o TRUE solo purgue los registros / archivos anteriores a la marca de tiempo especificada para la pista de auditoría.



.