# Ora-20200: Database/instance..does Not Exist Awr_pdb_database_instance

Seguramente nos ha pasado que hemos intentado generar algún AWR en una PDB creada recientemente y nos ha arrojado el siguiente error:

![](https://dbaenlasombra.files.wordpress.com/2023/10/imagen1-1.png?w=517 align="left")

Este error sucede porque no está habilitado la generación de AWR a nivel de PDB. ¿Cómo podemos configurarlo? Pues bien, lo primero que tenemos que hacer, es conectarnos a la CDB$ROOT, aunque lo hagamos a este nivel, los cambios también aplicarían a nivel de PDB (tenemos la opción de hacerlo a nivel de PDB). Además si hacemos el cambio a nivel de CDB$ROOT, cada vez que creemos una nueva PDB, automáticamente el AWR estará habilitado o no, dependiendo de esta configuración.

Revisamos el valor del parámetro awr\_pdb\_autoflush\_enabled

![](https://dbaenlasombra.files.wordpress.com/2023/10/imagen2-1.png?w=567 align="left")

Habilitamos el parámetro

![](https://dbaenlasombra.files.wordpress.com/2023/10/imagen3-1.png?w=567 align="left")

Una vez habilitado, debemos configurar el intervalo de tiempo de generación snapshots de AWR con el paquete DBMS\_WORKLOAD\_REPOSITORY.MODIFY\_SNAPSH\_SETTINGS.

Este procedimiento recibe los siguientes parámetros:

* **Retention**: Tiempo de retención en minutos. El valor especificado debe estar en el mínimo (1 día) o el máximo (100 años). Si especificamos el valor ZERO, los snapshot se conservarán para siempre. Se dejará el valor que había en caso de que sea nulo.
    
* **Interval**: Intervalo de tiempo entre cada snapshot en minutos, el valor mínimo son 10 minutos y el máximo 1 año. Igual que el parámetro anterior, puede ser ZERO o nulo, aquí la diferencia con el parámetro anterior, es que si es ZERO los snapshot, ya sean automáticos o manuales, se deshabilitarán.
    
* **Topnsql**: Este parámetro admite valores números o de tipo varchar2, se puede especificar los valores DEFAULT, MAXIMUM, N, donde N es el número de SQL. En caso de no especificar, el valor por defecto dependerá del parámetro STATISTICS\_LEVEL. Si el valor del parámetro es TYPICAL el número será 30 y en caso de que el valor sea ALL el número será 100.
    
* **Dbid**: Identificador de la BBDD en AWR, en caso de ir nulo, el valor del local dbid será usado.
    
* **Tablespace\_name**: Especificamos un tablespace para almacenar AWR data, en caso que no se especifique, se almacenará en  SYSAUX.
    

![](https://dbaenlasombra.files.wordpress.com/2023/10/imagen4.png?w=567 align="left")

Una cosa a tener en cuenta, en caso de que nuestro CDB$ROOT tenga varias PDB y para evitar problemas de performance cuando se estén creando snapshots en simultaneo, deberíamos configurar el parámetro AWR\_SNAPSHOT\_TIME\_OFFSET en 1000000 para evitar este tipo de problemas.

![](https://dbaenlasombra.files.wordpress.com/2023/10/imagen5.png?w=567 align="left")

Una vez configurado, nos conectamos a la PDB  y generamos un SNAPSHOT de forma manual, con el paquete DBMS\_WORKLOAD\_REPOSITORY.CREATE\_SNAPSHOT;

![](https://dbaenlasombra.files.wordpress.com/2023/10/imagen7.png?w=567 align="left")

Esperamos el intervalo de tiempo que hemos configurado y ya podemos generar nuestros informes AWR a nivel de PDB

![](https://dbaenlasombra.files.wordpress.com/2023/10/imagen6.png?w=567 align="left")

¡Espero que os sirva!
