After database upgrade from 10g to 12c, some of queries have bad performance, elapsed time are changed from less than 1 second to a few minutes, the immediately fix is to force the application to use 10g optimizer by either change database parameter or use database logon trigger to force specific application to choose the 10g optimizer. I used the database trigger. CREATE OR REPLACE TRIGGER sys.triggername AFTER LOGON ON DATABASE WHEN (upper(sys_context('USERENV','MODULE')) like '%APP_UPPERCASE%' or upper(sys_context('USERENV','MODULE')) like '% APP_UPPERCASE %') BEGIN /* some functions of application running slow after db upgrade from 10g to 12c, this trigger helps to force them to use 10g optimizer and get their normal performance*/ EXECUTE IMMEDIATE 'ALTER SESSION SET optimizer_features_enable=''10.2.0.5'''; END triggername ; / I engaged oracle support on troubleshooting this, sent MOS...
Comments
Post a Comment