The following are various gotchas during upgrade or post upgrade to 12c collect from various sources and also few of them in my environment.
1. Change of resource_limit parameter to true by default
Impact: Resource Manager will be invoked automatically and push the resource limits to the sessions and users may receive cpu/io restriction messages.
2. Global Temporary Tables Statistics session level
Impact: Earlier versions of Oracle uses shared statistics for global temporary tables, where in 12c the statistics on global temporary tables are session level.
that means other users cannot see it
3. HISTGRM$ add column
Impact: n 12.1, optimizer group added a column to histgrm$ which is a clustered table. For upgrade from 11.2 to 12.1, this column ep_repeat_count is added as a default value column with a not null constraint. Since histgrm$ table on a database could have millions of rows, this addition of a default value column could take a long time since we need to update all existing rows with a default value. This in turn slows down the upgrade significantly to apply the patch 19333670 on 12.1.0.2
4. Drop column with null default value can cause corruption bug 17325413
5. Dynamic Statistics - Performance Problems
Impact:- Dynamic statistics has been enhanced in Oracle 12c, but this can lead to a longer parse time.
Automatic dynamic statistics is used more often in 12c which can lead to a parse time increase in the more cases than before.
6. Wri$_optstat_histhead_history Size can cause much time to upgrade, before upgrade purge or reorg the table.
7. Wrong results in group by with outjoin for a bind variable
alter system set "_optimizer_aggr_groupby_elim"=false scope=both;
alter system set "_optimizer_reduce_groupby_key"=false scope=both;
8. In memory database - Do not enable unless you have a license
9. DBA_REGISTRY also reports CATALOG and CATPROC in "UPGRADED" status as shown below:
Solution: run utlrp.sql
10. SPD & Dynamic Sampling more CPU Utilisation & Cause result cache also fill.
11. Oracle 12c has deprecated the sec_case_sensitive_logon parameter. Changing to case sensitive passwords could break your application.
12. If you have client/JDBC version below 10g , ensure you must update the sqlnet.ora in database host SQLNET.ALLOWED_LOGON_VERSION_SERVER to 10 or 8 or 9.
This is due to in earlier versions it was 8 where in 12c it was 11, that means 11g client can connect to db. By keeping it 10 or 8 or 9 you are allowing other version clients to connect to database.
13. Be aware of, By default, In 12c version the auditing runs in mixed-mode, which means you can combine traditional auditing with unified auditing. There is one gotcha
to be aware of:
– if the database has been upgraded, then there will be no Unified Policy enabled!
– if the database has been newly created, then there will be 2 Unified Policies enabled : ORA_SECURECONFIG and ORA_LOGON_FAILURES.
Thanks
GEEK DBA
Follow Me!!!