By Alex Zaballa
I was in a project where the customer upgraded a large production database from 11g to 19c.
Phase 0 of the upgrade process took almost 4 hours and the DDLs responsible for all that time were related to new columns on AWR tables (WRH$ tables).
For example, these 2 DDLs took about 2 hours to run:
alter table WRH$_SQLSTAT add (obsolete_count number default 0);
alter table WRH$_SEG_STAT add (im_membytes number default 0);
I remember since 11g Oracle should only update the data dictionary when you are adding a new column with a default value, but what I didn’t remember was that it works only for NOT NULL columns.
I found this after doing some research and here you have a great blog post about it:
And another good thing, this restriction no longer exists in 12c+.
If you are upgrading from 11g to 19c and you have a large AWR repository, consider applying patch 30387640 before the upgrade.
Fonte: Alex Zaballa