Создать отчет об ошибке AWR для PDB: экземпляр ORA-20200 не существует в AWR_PDB_DATABASE_INSTANCE.

описание проблемы

Сгенерировать ошибку отчета AWR в PDB:

SQL> @?/rdbms/admin/awrrpt.sql

ОШИБКА в строке 1:

ORA-20200: База данных/экземпляр 1552533615/1 не существует в

AWR_PDB_DATABASE_INSTANCE

ORA-06512: в строке 27

Два решения

2.1 Подключиться к CDB, изменить параметры

ALTER SYSTEM SET awr_pdb_autoflush_enabled= TRUE SID='*' SCOPE=BOTH;

ИЗМЕНИТЬ НАБОР СИСТЕМЫ awr_snapshot_time_offset=1000000 SID='*' SCOPE=BOTH;

/*

Значение по умолчанию для awr_pdb_autoflush_enabled — false, а значение по умолчанию для awr_snapshot_time_offset — 0.

Изменить в CDB, все PDB будут изменены по умолчанию

*/

2.2 Установка интервала создания снимков pdb

Обратите внимание, что для включения автоматического моментального снимка на уровне PDB необходимо установить интервал моментального снимка, так как значение по умолчанию на уровне PDB составляет 40 150 дней! Поэтому, если не вносить никаких изменений, механизм базы данных никогда не сделает моментальный снимок.

#Введите pdb, просмотрите интервал моментального снимка

выберите * из cdb_hist_wr_control;

     DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID
-------------------- -------------------- -------------------- -------------------- --------------------
1552533615 +40150 00:01:00.0 +00008 00:00:00.0 ПО УМОЛЧАНИЮ               
# Измените интервал создания моментальных снимков для создания один раз в час

выполнить dbms_workload_repository.modify_snapshot_settings (интервал => 60);

# Проверьте еще раз

SQL> выберите * из cdb_hist_wr_control;

      DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID
-------------------- -------------------- -------------------- -------------------- ----------
1552533615 +00000 01:00:00.0 +00008 00:00:00.0 ПО УМОЛЧАНИЮ 3

2.3 Войдите в pdb, вручную создайте как минимум два снимка и проверьте, может ли отчет AWR нормально генерироваться.

изменить контейнер набора сеансов = ORCLPDB1;

exec dbms_workload_repository.create_snapshot();

exec dbms_workload_repository.create_snapshot();

#запрос сгенерировал снимок

SQL> выберите snap_id,dbid,con_id из awr_pdb_snapshot;

   SNAP_ID DBID CON_ID

---------- ---------- ----------

        1 1552533615 3

        2 1552533615 3

# Перегенерируйте отчет AWR, ошибка не будет выведена:

@?/rdbms/admin/awrrpt.sql

Выберите AWR_PDB в указанном месте расположения данных AWR:.

/*

В архитектуре CDB, особенно в случае нескольких PDB, следует обратить внимание на этот момент. Если в среде CDB есть несколько PDB, если собирается отчет AWR всей CDB, отчет также содержит данные всех PDB, и невозможно точно проанализировать, какая PDB вызывает проблемы с производительностью. Поэтому в случае нескольких PDB мы рекомендуем собирать отчеты AWR по PDB.

*/

-- Эта статья перенесена из:

Oracle 19c PDB AWR сообщает, что экземпляр ORA-20200 не существует в решении ошибки AWR_PDB_DATABASE_INSTANCE — cnDBA.cn_中国DBA Community

Oracle 12.2 или более поздняя версия создает отчеты AWR на уровне PDB.

おすすめ

転載: blog.csdn.net/YABIGNSHI/article/details/131723464