| From: | Steve Adams |
| Date: | 05-Jan-2001 09:52 |
| Subject: | Replacing public synonyms |
|
|
OK, I believe you now! Those statistics are certainly consistent with the public synonym problem. Private synonyms will give you some relief, so it is worth doing in the short term, while you work on moving to stored code or fully qualified names.
|
![]() |
Thanks for the quick response! Below are the results of latch_sleeps.sql which has the row cache objects as the third greatest impact with library cache as the greatest. I don't think the ALTER SESSION SET CURRENT_SCHEMA will work for us since the userids also have objects that they own directly. I guess my question is still whether it's necessary to be completely rid of the public synonyms, or if I can just create private synonyms for the problem users?
NAME IMPACT SLEEP_RATE HOLDING LEVEL# ---------------------------------------------------------------- ---------- ---------- ---------- ---------- library cache 19942099.4 0.60% 276308 5 shared pool 3020581.4 1.19% 3084655 7 row cache objects 2734163.94 0.36% 0 4 cache buffers chains 67038.0544 0.00% 0 1 system commit number 62062.01 0.02% 22014 8 redo allocation 18359.6103 0.03% 111073 7 redo copy 11148.6202 72.29% 0 6 latch wait list 9286.83187 0.02% 15205 9 session idle bit 8358.30156 0.00% 0 1 cache buffers lru chain 5906.26098 0.05% 8295 3 session allocation 4844.63899 0.01% 0 5 enqueues 4334.37612 0.01% 26161 5 enqueue hash chains 2777.67719 0.01% 11 4 undo global data 2728.83893 0.01% 0 5 transaction allocation 1024.22636 0.01% 0 8 messages 866.00464 0.00% 0 8 dml lock allocation 566.540275 0.00% 0 3 list of block allocation 354.011429 0.00% 0 3 sequence cache 52.02 0.00% 0 8 cache buffer handles 15 0.00% 0 3 process allocation 5.33333333 0.08% 0 0 user lock 4.5 0.02% 0 3 modify parameter values 1 0.02% 0 0
|
![]() |
The best way to observe the difference is to use ALTER SESSION SET CURRENT_SCHEMA in the application startup code. However, you should check your diagnosis first. The best indicator that this is indeed your problem is that you would have contention for the row cache objects latch, as well as the library cache latches. If the row cache objects latch is OK, then your problem is not public synonyms.
|
![]() |
I have been reading your Q&A regarding public synonyms and suspect they may be contributing to library cache problems in a system I support. In order to observe benefits of private synonyms or fully-qualified references, do I need to drop the public synonyms? Or, can I just create private synonyms for the "hot" userids that execute large numbers of SQL in a batch environment?
|