Navigation Cache - Object Size
We're currently in the middle of our upgrade to SP15 and one of the new features we're implementing is the navigation cache. By default, the number of objects to be cached is set at 5000. So far the behavior is, all the navigation objects (pages) counts as objects. Then for each user entering the portal with an unique role combination, an additional set of objects (equaling the number of roles they have) is also added. In our dev environment where most users are superadmins, we're at around 1300 objects.
My question is what's an object limit before there's going to be a performance hit with too much memory usage. Is 5000 a safe limit? Or can it be higher? What happens if the object limit is reached, will it be like a queue where the oldest cached object gets deleted when a new one is added?
Any info on this subject is welcome. Any experiences with high availability environments using navigation cache would be appreciated. Thanks
Hi,
The Preliminary objective of Navigation Cache is to improve performance on the server-side. By saving the Navigation Nodes in memory, the number of calls to the PCD or any other backend systems is reduced.
The cache is implemented in a First in - First out manner (FIFO).
Try this link for more information:
http://help.sap.com/saphelp_erp2005/helpdata/en/5f/2720a513ea4ce9a5a4e5d285a1c09c/frameset.htm
Hope it's help
Best Regards,
Shimon.
Similar Messages
-
Memory Notification:Library Cache Object loaded in Heap size 2262K exceeds
Dear all
I am facing the following problem. I am using Oracle 10gR2 on Windows.
Please help me.
Memory Notification: Library Cache Object loaded into SGA
Heap size 2262K exceeds notification threshold (2048K)
KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==
ThanksThis is a normal warning message displayed for release 10.2.0.1.0, this is just a bug that by default has declared the kgllarge_heap_warning_threshold instance parameter to 8388608 . The bug is harmless, but the problem is that you will see a lot of messages displayed on the alert.log file, which renders this file difficult to read and it is uncomfortable to spot the real errors.
Just declare a higher value for the kgllarge_heap_warning_threshold undocumented instance parameter. This is meant to be corrected at 10.2.0.2.0, but you can manually have this parameter increased to a value higher than the highest value reported.
For further references take a look at this metalink note:
Memory Notification: Library Cache Object Loaded Into Sga
Doc ID: Note:330239.1
~ Madrid
http://hrivera99.blogspot.com/ -
Error in the Navigation Cache after deleting user
Hi,
We have an issue with the navigation cache and deleted users. If we delete a user and then tries to log on with a user with the same set of roles as the deleted user, the navigation cache throws an exception
User USER.PRIVATE_DATASOURCE.un:z_deleteduser doesn't exist!.
There is no relation between z_deleteduser and the user we logged on with when getting the exception.
My guess is that the deleted user was the first user with that set of roles that logged in after last time we cleared the cache, and therefore got used as a key to that particular navigation object.
Does anyone know how to resolve this, I don't want to empty the cache each time we delete a user?
Regards
MattiasHi,
It seems the guided procedure throws the same exception, which makes sense. I don't have a WAS up and running here, so I can't test, but I guess it's the exception the UME throws if you try to access an non existing user, and it just gets propagated both by the Navigation Cache and Guided Procedures.
But there has to be a fix for it, somewhere...
Regards
Mattias -
Hi,
Using the Java Object Caching library
(formerly OCS4J), you can set a parameter
for the Maximum size of your cache.
I am using the Cache to store some custom
Object in the Application Server.
If I set the Max Cache Size it is ignored.
Does this Cache Max Size only apply to Disk-resident
Cache's, or is this a Bug ?
Cheers,
RonanOur presnt size is 5mb and if we increased it to 250mb will it work, how to calculate the size? pls guide. it should work,by default it use below.
When using the MEMORY_TARGET initialization parameter to specify the memory allocation, Oracle allocates 0.25% of memory_target to the result cache.
When you set the size of the shared pool using the SGA_TARGET initialization parameter, Oracle allocates 0.5% of sga_target to the result cache.
If you specify the size of the shared pool using the SHARED_POOL_SIZE initialization parameter, then Oracle allocates 1% of the shared pool size to the result cache.
http://docs.oracle.com/cd/B28359_01/server.111/b28274/memory.htm#BGBBIACC
and check "7.3.4.1.3 Allocating Additional Memory to the Result Cache"
Thanks
Kuljeet Pal Singh
Edited by: Kuljeet Pal Singh on May 17, 2012 12:14 PM -
Page navigation cache delete on back navigation
Hi,
Building a Universal WinRT app.
Is there any way to delete a pages navigation cache when a user navigates backwards via the WP back button?
e.g. page saves state when user follows link in that page and returns to it. However if a user navigates away from the page using the back button and then returns to it then no state is saved and it reloads
Thanks!Hi,
Please see this:
NavigationCacheMode enumeration
The NavigationCacheMode enumeration has these members.
Member
Value
Description
Disabled
0
The page is never cached and a new instance of the page is created on each visit.
Required
1
The page is cached and the cached instance is reused for every visit regardless of the cache size for the frame.
Enabled
2
The page is cached, but the cached instance is discarded when the size of the cache for the frame is exceeded.
As your description, you should set the Page’s NavigationCacheMode to Disabled
Best Wishes!
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place. <br/> Click <a
href="http://support.microsoft.com/common/survey.aspx?showpage=1&scid=sw%3Ben%3B3559&theme=tech"> HERE</a> to participate the survey. -
"latch: row cache objects" and high "VERSION_COUNT"
Hello,
we are being faced with a situation where the database spends most of it's time waiting for latches in the shared pool (as seen in the AWR report).
All statements issued by the application are using bind variables, but what we can see in V$SQL is that even though the statements are using bind variables some of them have a relatively high version_count (> 300) and many invaliadations (100 - 200) even though the tables involved are very small (some not more than 3 or 4 rows).
Here is some (hopefully enough) information about the environment
Version: Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production (on RedHat EL 5)
Parameters:
cursor_bind_capture_destination memory+disk
cursor_sharing EXACT
cursor_space_for_time FALSE
filesystemio_options none
hi_shared_memory_address 0
memory_max_target 12288M
memory_target 12288M
object_cache_optimal_size 102400
open_cursors 300
optimizer_capture_sql_plan_baselines FALSE
optimizer_dynamic_sampling 2
optimizer_features_enable 11.2.0.2
optimizer_index_caching 0
optimizer_index_cost_adj 100
optimizer_mode ALL_ROWS
optimizer_secure_view_merging TRUE
optimizer_use_invisible_indexes FALSE
optimizer_use_pending_statistics FALSE
optimizer_use_sql_plan_baselines TRUE
plsql_optimize_level 2
session_cached_cursors 50
shared_memory_address 0The shared pool size (according to AWR) is 4,832M
The buffer cache is 3,008M
Now, my question: is a version_count of > 300 a problem (we have about 10-15 of those with a total of ~7000 statements in v$sqlarea). Those are also the statements listed in the AWR report at the top in the section "SQL ordered by Version Count" and "SQL ordered by Sharable Memory"
Is it possible that those statements are causing the the latch contention in the shared pool?
I went through https://blogs.oracle.com/optimizer/entry/why_are_there_more_cursors_in_11g_for_my_query_containing_bind_variables_1
The tables involved are fairly small and all the execution plans for each cursor are identical.
I can understand some of the invalidations that happen, because we have 7 schemas that have identical tables, but from my understanding that shouldn't cause such a high invalidation number. Or am I mistaken?
I'm not that experienced with Oracle tuning at that level, so I would appreciate any pointer on how I can find out where exactly the latch problem occurs
After flushing the shared pool, the problem seems to go away for a while. But apparently that is only fighting symptoms, not fixing the root cause of the problem.
Some of the statements in question:
SELECT * FROM QRTZ_SIMPLE_TRIGGERS WHERE TRIGGER_NAME = :1 AND TRIGGER_GROUP = :2
UPDATE QRTZ_TRIGGERS SET TRIGGER_STATE = :1 WHERE TRIGGER_NAME = :2 AND TRIGGER_GROUP = :3 AND TRIGGER_STATE = :4
UPDATE QRTZ_TRIGGERS SET TRIGGER_STATE = :1 WHERE JOB_NAME = :2 AND JOB_GROUP = :3 AND TRIGGER_STATE = :4
SELECT TRIGGER_STATE FROM QRTZ_TRIGGERS WHERE TRIGGER_NAME = :1 AND TRIGGER_GROUP = :2
UPDATE QRTZ_SIMPLE_TRIGGERS SET REPEAT_COUNT = :1, REPEAT_INTERVAL = :2, TIMES_TRIGGERED = :3 WHERE TRIGGER_NAME = :4 AND TRIGGER_GROUP = :5
DELETE FROM QRTZ_TRIGGER_LISTENERS WHERE TRIGGER_NAME = :1 AND TRIGGER_GROUP = :2So all of them are using bind variables.
I have seen that the columns used in the where clause all have histograms available. Would removing them reduce the number of invalidations?
Unfortunately I did not save the information from v$sql_shared_cursor before the shared pool was flushed, but most of the invalidations occurred in the ROLL_INVALID_MISMATCH column if that is of any help. There are some invalidations reported for AUTH_CHECK_MISMATCH and TRANSLATION_MISMATCH but to my understanding they caused by executing the statement for different schemas if I'm not mistaken.
Looking at v$latch_missed, most of the waits for parent = 'row cache objects' are for "kqrpre: find obj" and "kqreqd: reget">
In the AWR report, what does the Dictionary Cache Stats section say?
>
Here they are:
Dictionary Cache Stats
Cache Get Requests Pct Miss Scan Reqs Mod Reqs Final Usage
dc_awr_control 65 0.00 0 2 1
dc_constraints 729 33.33 0 729 1
dc_global_oids 60 23.33 0 0 31
dc_histogram_data 7,397 10.53 0 0 2,514
dc_histogram_defs 21,797 9.83 0 0 5,239
dc_object_grants 4 25.00 0 0 12
dc_objects 27,683 2.29 0 223 2,581
dc_profiles 1,842 0.00 0 0 1
dc_rollback_segments 1,634 0.00 0 0 39
dc_segments 7,335 6.94 0 360 1,679
dc_sequences 139 5.76 0 139 19
dc_table_scns 53 100.00 0 0 0
dc_tablespace_quotas 1,956 0.10 0 0 4
dc_tablespaces 17,488 0.00 0 0 11
dc_users 58,013 0.03 0 0 164
global database name 4,261 0.00 0 0 1
outstanding_alerts 54 0.00 0 0 9
sch_lj_oids 4 0.00 0 0 2
Library Cache Activity
Namespace Get Requests Pct Miss Pin Requests Pct Miss Reloads Invalidations
ACCOUNT_STATUS 3,664 0.03 0 0 0
BODY 560 2.14 2,343 0.60 0 0
CLUSTER 52 0.00 52 0.00 0 0
DBLINK 3,668 0.00 0 0 0
EDITION 1,857 0.00 3,697 0.00 0 0
INDEX 99 19.19 99 19.19 0 0
OBJECT ID 68 100.00 0 0 0
SCHEMA 2,646 0.00 0 0 0
SQL AREA 32,996 2.26 1,142,497 0.21 189 226
SQL AREA BUILD 848 62.15 0 0 0
SQL AREA STATS 860 82.09 860 82.09 0 0
TABLE/PROCEDURE 17,713 2.62 26,112 4.88 61 0
TRIGGER 1,704 2.00 6,737 0.52 1 0 -
Memory Notification: Library Cache Object loaded into SGA
Dear Gurus
I am noticing the following error into my database. database version is Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi host sun solaris
Memory Notification: Library Cache Object loaded into SGA
Heap size 2905K exceeds notification threshold (2048K)
Details in trace file /orafs/app/oracle/admin/pblsw/bdump/pblsw_dw01_14545.trc
KGL object name :SELECT /*+rule*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('VIEW_T', '7')), KU$.OBJ_NUM ,KU$.SCHEMA_OBJ.NAME ,KU$.SCHEMA_OBJ.NAME ,'VIEW' ,KU$.SCHEMA_OBJ.OWNER_NAME FROM SYS.KU$_VIEW_VIEW KU$ WHERE KU$.OBJ_NUM IN (SELECT * FROM TABLE(DBMS_METADATA.FETCH_OBJNUMS(200001)))
Regards
Rabirefer
Memory Notification: Library Cache Object Loaded Into Sga (Doc ID 330239.1)
http://support.oracle.com -
Hi all,
I read that enabling navigation cache improves portal performance.
My question is this: If i enable/disable navigation cache, or modifying any of it's properties in visual administrator - does the portal need to be restarted or the changes take effect immediately?
Also, the properties come with default values: 100 for cache lifetime, and 5000 for number of objects. Are those values the recommended values to use? what should i take into consideration when giving values to these properties?
Thanks,
Moti.Hi Moti,
If you make changes to the properties in the Visual Admin you will need a restart of the J2EE.
When setting the timeout of the cache it is important to consider the number of navigation object which you are displaying and also the frequency with which they may change. The good thing about the navigation is, that it should not change that often for a particular user. So the default timeouts of the navigation cache are not quite as critical as those for something like a content cache.
Besides, a System Administrator can always clear the cache manually, anytime anyway.
Rgds,
Marc -
After REFRESH the cached object is not consistent with the database table
After REFRESH, the cached object is not consistent with the database table. Why?
I created a JDBC connection with the Oracle database (HR schema) using JDeveloper(10.1.3) and then I created an offline database (HR schema)
in JDeveloper from the existing database tables (HR schema). Then I made some updates to the JOBS database table using SQL*Plus.
Then I returned to the JDeveloper tool and refreshed the HR connection. But I found no any changes made to the offline database table JOBS in
JDeveloper.
How to make the JDeveloper's offline tables to be synchronized with the underling database tables?qkc,
Once you create an offline table, it's just a copy of a table definition as of the point in time you brought it in from the database. Refreshing the connection, as you describe it, just refreshes the database browser, and not any offline objects. If you want to syncrhnonize the offline table, right-click the offline table and choose "Generate or Reconcile Objects" to reconcile the object to the database. I just tried this in 10.1.3.3 (not the latest 10.1.3, I know), and it works properly.
John -
Navigation to object is not supported
Hello all,
YTEST(Package) => Web Objects => BSP Application => YTEST_01 => Pages with Flow Logic => YTEST.HTM
=> Event Handler => OnInitializaion
Does not working Doulbe Click the any INCLUDE or Perform syntax.
Error message is "Navigation to object is not supported"
Message Number is "SO2_TOOL039"
SAP R/3 Enterprise
SAP_BASIS 620
SAP_ABA 620
SAP_APPL 470
help me on this request, will rerward points
/Best Regards
JacobBelow that source code...
event handler for data retrieval
*" INITIALIZATION
INCLUDE yplas_i005.
DATA : it_utype TYPE yplas_ty019.
UTYPE = c_doc_elec_bill.
APPEND c_doc_elec_bill TO it_utype. -
Navigation is cached - even when navigation cache is disabled?!
I seem to have a problem clearing the navigation cache. Whenever I change a role of workset in the PCD, the change is not visible until some time has passed (perhaps 100 minutes, I will try to verify that).
If I change a page (like inserting a new iView) the change is visible immediatly.
This sounds like a fairly standard "flush the navigation cache" problem, but that does not solve the problem. I have disabled all the caches in "System Administration -> Navigation -> Navigation cache" and have also cleared all of them just for good measure.
I have used Firebug in firefox to verify that this is not a browser cache problem. For example I have a folder in the role that contains two pages. I add a third page, flush all browser caches, close the browser and reload the page. In firebug I can see that I get a "200 OK" response that only includes the original two pages - not the new third page.
I have also tried clearing the PCD cache in "System Administration -> Support -> Portal Content Directory -> PCD Administration -> Release cache". When I do that I can see (again with firebug) that the request is taking slightly longer the first time (around 300ms instead of the usual ~70ms). However, the new page is still not visible.
The only thing that help (besides waiting) is to restart the entire portal. The changes are then visible immediatly.
I have even tried clearing the HTTP cache, which also does not help.
What other caches could there be besides the navigation cache, the PCD cache, the HTTP cache or the browser cache? How can I debug this problem further?
Thanks in advance.
Best regards,
Ole Hyldahl Tolshave
P.S. We use SEP EP 7.00 SP21
Edited by: Ole Hyldahl Tolshave on Jun 17, 2010 10:21 AMHi Tobias,
I tried clearing the DB cache (by using /irj/servlet/prt/portal/prtroot/com.sap.portal.prt.cache.PRTRegionDBClear). No change (change to role is still being cached).
I used the PCD Inspector and verified that the contents are identical to what I see in Content Administration -> Portal Content (which is different from what is rendered in the top navigation and detailed navigation).
We only have one server node running.
I tried deploying the .PAR-file from SAP support (and restarted). This made no changes so now I am waiting for them to get back to me.
But thank you again for trying to help.
Best regards,
Ole Hyldahl Tolshave -
Re: Update Cache Objects in Delta Process Dosn't work
Hi All,
Re: Update Cache Objects in Delta Process doesn't work.
BI 7 - SP 17
This is the scenario I am working on, am running a bex query on a Cube(via a multi) with bunch aggregates.
The daily extraction & Aggregate rollup is correct, but when I run a Bex Query it display incorrect keyfigure values as compared to what we see in LISTCUBE for the infocube.
So when I ran the same query in RSRT with "Do not use Cache", it gave correct results and then when I ran the Bex Query again it fixed itself and it displayed correctly.
InfoCube - standard & No compression for requests
Query Properties are
Read Mode - H
Req Status - 1
Cache - Main Memory Cache Without swaping
Update Cache Objects in Delta Process (Flag selected)
SP grouping - 1
This problem occurs once in couple of weeks and my question is there a permanant fix for it??
OR should we turn the cache off??
Can anyone please help.
Thanking You.
RaoHi Kevin/Rao,
We are currently experiencing problems with the 'Update Cache Objects in Delta' process. Did either of you manage to resolve your issues, and if so, how? -
TopLink cached object changed are not commited to the database
Hello,
I'm using TopLink 10 and I have a writing issue with a use case:
1. I read an obect using TopLink that is in the IdentityMap
2. Using JSF this object is edited throught a web form.
3. I give the modified object to the data layer and try to modify inside a unit of work:
UnitOfWork uow = session.acquireUnitOfWork();
//laspEtapeDef comes from JSF and has been modfied previously
LaspEtapeDef laspEtapeDefClone = uow.readObject( laspEtapeDef );
//I update the clone field
laspEtapeDefClone.setDescription(laspEtapeDef.getDescription());
uow.commit();4. I use again the same object to display it once modified.
The object is modified in the cache but the modified fields are never commited to the database. This code works only if I disable the cache.
So, I've modified my JSF form to send the fields instead of modifying directly the object.
My question: Is there a way to commit changes mades in an cached object?
I've found the following section in the documentation, that explain the problem but doesn't gives the solution:
http://docs.oracle.com/cd/E14571_01/web.1111/b32441/uowadv.htm#CACGDJJH
Any idea?How are you reading in the object initially? The problem is likely that you are modifying an object from the session cache. When you then read in the object from the uow, it uses the object in the session cache as the back up. So there will not appear to be any changes to persist to the database.
You will need to make a copy of the object for modification, or use the copy from the unitofwork to make the changes instead of working directly on the object in the session. Disabling the cache means there is no copy in the session cache to use as a back up, so the uow read has to build an object from the database.
Best Regards,
Chris -
Navigation Cache - Loading Web Dynpro iview
Hello Experts,
I developed a simple WebDynpro that count the access number to a single portal page.
And I put it in a Role.
In a cluster environment I had different results depending on the cluster instance I use.
If I do a Logon in the central instance and navigate the role I get a value of access number.
If I do a Logon in the dialog instance and navigate the role I get a different value of access number.
The value in the database is always the same..
Could it be a cache problem??
What can I do??
Best RegardsHi,
Did you try clearing the navigational cache on dialog server and also in Central Instance?
In Portal Navigate to System Administration - Navigation - Clear Navigation Cache.
And test the application again and see if it got resolved...
Or
Go to Index.html side and go to Web Dynpro Tools, and go to Invalidation of ARFC Metadata Cache - In section Dictionaries Cache Invalidation - click on the button to get teh application using the JCO connection and invalidate the cache...
Hope this helps.
Cheers-
Pramod -
How to get OLAP cube objects size info?
Hi,
I am new at OLAP cube.
I want to know OLAP Cube objects size information like VIEW.
is any query to get size of Cube objects?
Please help me out on this.
Thank you,
NitinNitin,
This will give you some idea.
*(1). Size of the whole AW:*
select dbal.owner||'.'||substr(dbal.table_name,4) awname,
to_char(round(sum(dbas.bytes)/1024/1024, 1), '999,999.9') as mb, dbas.tablespace_name, logging
from dba_lobs dbal, dba_segments dbas
where dbal.column_name = 'AWLOB' and dbal.segment_name = dbas.segment_name
group by dbal.owner, dbal.table_name, dbas.tablespace_name, logging
order by sum(dbas.bytes) desc
*(2). Size of internal objects:*
Each cube has an associated _STORED variable and a 'PXX' partition.
_PRTCOMP is cube's partition's composite dimension.
_AGGMAP is the aggregation map that is used during aggregation of data.
Replace table AW$BNSOLAP with the name of your AW table.
select partname,
round(sum(dbms_lob.getlength(awlob))/1024,0) KB
from bawolap.aw$bnsolap
where extnum = 0
group by partname
order by kb desc
+;+
Maybe you are looking for
-
How to delete the bookmark in chm lite apps in iPad air iPad, iOS 7
How to delete the bookmark in chm lite apps in iPad air iPad, iOS 7
-
Problem in printing the box in scripts
Hi all, I have created a box in main window. i have to create one horizontal line and four vertical lines in that box. for that on i have written the code as given below.But here the problem is it draw only one vertical line but i need four
-
How do I convert my .mpeg / .bat files into ones compatible with iPod ?
I know its a basic question but I want to find out as a new user of iPod Video as to how i can convert .mpeg and .bat files to ones which are compatible with iPod ?
-
Where is the time display?
Aloha: I am transitioning from last year's iMovie to iMovie 08 via a PDF entitled "iMovie 08 getting started". There was one very helpful display in the old versions that allowed me look at 3 audio channels plus the video all at the same time. I was
-
Restrict Duplicate print of receipt smartform for specific users
Hi Folks, I have a custom driver program to print Customer Receipt and everything is working fine. But now I have a requirement saying I have to restrict the print option to specific user in case of print of Customer Receipt more than once. I found a