We are experiencing slowness in our database and I suspect that the reason might be incorrect usage of RESULT_CACHE in functions in our plsql packages.
We are on Oracle 12.1:
select * from v$version;
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
PL/SQL Release 12.1.0.2.0 - Production
CORE 12.1.0.2.0 Production
TNS for Linux: Version 12.1.0.2.0 - Production
NLSRTL Version 12.1.0.2.0 - Production
Running the SQL-statement below returns the dataset further down.
SELECT namespace,
status,
name,
COUNT(*) number_of_results,
ROUND(AVG(scan_count)) avg_scan_cnt,
ROUND(MAX(scan_count)) max_scan_cnt,
ROUND(SUM(block_count)) tot_blk_cnt
FROM v$result_cache_objects
WHERE TYPE = 'Result'
GROUP BY namespace, name, status
ORDER BY namespace, tot_blk_cnt;
Can anyone please advice if any of the functions listed in the result set below should not be using RESULT_CACHE?
To me it seems like the last functions, for instance PKG_W.GETBYPK should not be using RESULT_CACHE as there are too many results in the cache. Am I right?
Please let me know if you need more information from me.
As you probably can see from the package names in the result set below, I have renamed them for the purpose of this forum post.
Also, is it possible to flush just parts of the result cache as opposed to flushing the entire cache?
NAMESPACE | STATUS | NAME | NUMBER_OF_RESULTS | AVG_SCAN_CNT | MAX_SCAN_CNT | TOT_BLK_CNT |
PLSQL | Published | "PKG_A"::11."GET_GASDAY_START_TIME"#e17d780a3c3eae3d #125 | 1 | 674942691 | 674942691 | 1 |
PLSQL | Published | "PKG_B"::11."GETSYSTEMUNIT"#c5dd7e95abfe7e9f #57 | 1 | 24782 | 24782 | 1 |
PLSQL | Published | "PKG_C"::11."READ"#595bbd315ccbe29f #3 | 1 | 281 | 281 | 1 |
PLSQL | Published | "PKG_B"::11."GETCOMPANYIDSTATOIL"#c5dd7e95abfe7e9f #92 | 2 | 4852458 | 9676555 | 2 |
PLSQL | Published | "PKG_D"::11."GETBAVVOLUMEANDTYPE"#1ff919e85989026a #863 | 3 | 2291053 | 6691478 | 3 |
PLSQL | Published | "PKG_C"::11."READBYUNITID"#c85ff0282021a63d #17 | 4 | 1952598 | 5635736 | 4 |
PLSQL | Published | "PKG_E"::11."READPREFEREDAREAFACTOR"#55dcbf643975b490 #544 | 4 | 809 | 1325 | 4 |
PLSQL | Published | "SYS"."DBMS_NETWORK_ACL_ADMIN"::11."GET_HOST_ACLIDS"#18449416dea07afe #1381 | 5 | 14325 | 35807 | 5 |
PLSQL | Published | "PKG_F"::11."GET"#2625557d61a2631a #3 | 6 | 13984647 | 34839112 | 6 |
PLSQL | Invalid | "PKG_G"::11."GETNODESWITHCAPACITY"#62f422256663f57b #428 | 2 | 9 | 9 | 6 |
PLSQL | Published | "PKG_G"::11."GETNODESWITHCAPACITY"#62f422256663f57b #428 | 2 | 24 | 24 | 6 |
PLSQL | Published | "PKG_H"::11."READBYID"#9b9213b78afd10fa #12 | 9 | 706548 | 2008222 | 9 |
PLSQL | Published | "PKG_I"::11."GETBALANCINGAGGREGATIONVIEW"#8ca07bfca8bf35b7 #946 | 9 | 4040246 | 13428467 | 9 |
PLSQL | Published | "PKG_K"::11."GETJOBSSETUP"#963b7b52b7a7c411 #1269 | 12 | 58511 | 616818 | 12 |
PLSQL | Published | "PKG_J"::11."GETBYPK"#2b9056a34f4ddb45 #3 | 13 | 355472 | 1323193 | 13 |
PLSQL | Invalid | "PKG_E"::11."READPREFEREDAREAFACTOR"#55dcbf643975b490 #544 | 24 | 648 | 1719 | 24 |
PLSQL | Published | "PKG_K"::11."GETSYSTEMSETUP"#963b7b52b7a7c411 #1248 | 25 | 50611 | 419643 | 25 |
PLSQL | Published | "PKG_L"::11."GETDIRECTDESTINATIONS"#d19bb687952cbe5e #80 | 47 | 783 | 6753 | 47 |
PLSQL | Published | "PKG_M"::11."DISPATCHVALUE2EXTERNALSYNONYM"#b0c84063e94b6b7 #158 | 89 | 13 | 30 | 89 |
PLSQL | Published | "PKG_N"::11."GET"#b656af5035d70555 #127 | 91 | 380258 | 6740783 | 91 |
PLSQL | Invalid | "PKG_O"::11."GETDAILYBREACHSTATUS"#545820db58869d7b #987 | 93 | 12 | 36 | 93 |
PLSQL | Published | "PKG_P"::11."FINDALLNODES"#ccf6f620eb6b6882 #34 | 5 | 0 | 0 | 125 |
PLSQL | Published | "PKG_Q"::11."GETBALANCINGCONTRACTS"#1996447ef46cc907 #820 | 129 | 0 | 0 | 129 |
PLSQL | Published | "PKG_Q"::11."GETBALANCINGCONTRACTS"#239fbf77b5403223 #805 | 129 | 1325 | 10186 | 129 |
PLSQL | Published | "PKG_P"::11."FINDBALANCINGCONTRACTNODES"#c93e091b39f016b2 #120 | 65 | 5589 | 16022 | 131 |
PLSQL | Published | "PKG_A"::11."GETUTCSTARTGASDAY"#d95c738912566372 #307 | 137 | 43731 | 757866 | 137 |
PLSQL | Published | "PKG_S"::11."GETGASDAYHOURSTT"#5b9a766f757d9f5d #64 | 99 | 471294 | 7423798 | 198 |
PLSQL | Published | "PKG_R"::11."GETUCALNAME"#4361c8bd82725c92 #1004 | 213 | 10 | 70 | 213 |
PLSQL | Published | "PKG_T"::11."GETGASDAYFROMXMLTIME"#fd37a4d21de3e7f7 #65 | 216 | 981 | 18596 | 216 |
PLSQL | Published | "PKG_K"::11."GETDISPATCHSYNONYMVALUE"#b0c84063e94b6b7 #1769 | 245 | 161090 | 2044743 | 245 |
PLSQL | Published | "PKG_O"::11."HASCAPACITYRECORDS_YN"#b4599412fa4d0518 #946 | 270 | 19 | 75 | 270 |
PLSQL | Invalid | "PKG_O"::11."HASCAPACITYRECORDS_YN"#b4599412fa4d0518 #946 | 288 | 9 | 36 | 288 |
PLSQL | Published | "PKG_E"::11."READPREFEREDFIELDFACTOR"#424840f27d15ac0c #597 | 329 | 1 | 1 | 329 |
PLSQL | Invalid | "PKG_G"::11."GETSERVICETYPES"#ab0733528cc26560 #250 | 344 | 10 | 29 | 344 |
PLSQL | Published | "PKG_G"::11."GETSERVICETYPES"#ab0733528cc26560 #250 | 348 | 26 | 76 | 348 |
PLSQL | Published | "PKG_U"::11."READMASTERFIELDID"#eae39f4fee9c15d0 #179 | 420 | 7408 | 56543 | 420 |
PLSQL | Published | "PKG_V"::11."GETASTCONTRACTCANDIDATES"#7b9ebb0bced11141 #305 | 520 | 171 | 311 | 520 |
PLSQL | Published | "PKG_E"::11."READIMPORTEDFIELDFACTOR"#424840f27d15ac0c #448 | 836 | 2 | 12 | 836 |
PLSQL | Published | "PKG_W"::11."GETPARENT"#495f8e40fe4d601c #42 | 859 | 1 | 62 | 859 |
PLSQL | Published | "PKG_X"::11."GETHOURLYTHRESHOLD"#f9a4612cec4dd004 #127 | 991 | 1358 | 7097 | 991 |
PLSQL | Published | "PKG_O"::11."GETDAILYBREACHSTATUS"#545820db58869d7b #987 | 1027 | 709 | 4625 | 1027 |
PLSQL | Published | "PKG_X"::11."GETDAILYTHRESHOLD"#f9a4612cec4dd004 #103 | 1076 | 1362 | 7057 | 1076 |
PLSQL | Published | "PKG_E"::11."READPREFEREDFIELDFACTOR"#55dcbf643975b490 #511 | 1089 | 44 | 464 | 1089 |
PLSQL | Published | "PKG_O"::11."HASNODEINFINITECAPACITY_YN"#2cc64af9a085c35e #969 | 1108 | 229 | 4673 | 1108 |
PLSQL | Published | "PKG_Y"::11."GETCOMPANYNAMEFROMSHIPPERCODE"#2d64178d4001f57d #1014 | 1151 | 29 | 464 | 1151 |
PLSQL | Published | "PKG_K"::11."GETNM3TODEFAULTUNITFACTOR"#841dcbd420d4a40a #35 | 1567 | 24 | 1013 | 1567 |
PLSQL | Published | "PKG_P"::11."FINDNODES"#ef074ea9c5045bb2 #155 | 1071 | 32 | 885 | 2253 |
PLSQL | Published | "PKG_K"::11."GETDEFAULTUNITTONM3FACTOR"#841dcbd420d4a40a #61 | 2264 | 6 | 53 | 2264 |
PLSQL | Published | "PKG_Z"::11."GETNODEBYNGLOCATIONID"#c2ad3ba3e08dda20 #105 | 2560 | 4981 | 385377 | 2560 |
PLSQL | Published | "PKG_M"::11."EXTERNALVALUE2DISPATCHSYNONYM"#a08428ebe2eec80 #230 | 4056 | 501 | 1463 | 4056 |
PLSQL | Published | "PKG_S"::11."CET2UTC"#d95c738912566372 #10 | 6900 | 30188 | 1473534 | 6900 |
PLSQL | Published | "PKG_Y"::11."ISCONTRACTVALID"#96126988e44f88f #189 | 13406 | 261 | 639104 | 13406 |
PLSQL | Published | "PKG_A"::11."GETGASDAY"#d95c738912566372 #268 | 14614 | 19769 | 43723478 | 14614 |
PLSQL | Invalid | "PKG_E"::11."READIMPORTEDFIELDFACTOR"#424840f27d15ac0c #448 | 25856 | 5 | 43 | 25856 |
PLSQL | Published | "PKG_Z1"::11."GETCONVERSIONFACTORFROMCACHE"#c6f1421af8dc0918 #3 | 31187 | 1115 | 1092232 | 31187 |
PLSQL | Invalid | "PKG_E"::11."READPREFEREDFIELDFACTOR"#424840f27d15ac0c #597 | 58353 | 1 | 7 | 58353 |
PLSQL | Invalid | "PKG_E"::11."READPREFEREDFIELDFACTOR"#55dcbf643975b490 #511 | 90033 | 3 | 604 | 90033 |
PLSQL | Published | "PKG_W"::11."GETBYPK"#495f8e40fe4d601c #22 | 213469 | 43 | 29699 | 213469 |