Querying cache with data that is large enough to fit into available memory
Query on a cache would be applicable on the data that can fit into the cache storage as per the link http://coherence.oracle.com/display/COH35UG/Query+the+Cache. However there is also a mention about restricting the cache content along a specific dimension, so that the query actually knows what to expect from the cache.
Generally any enterprise application would generate huge amount of data and practically it would be difficult to set the fix up the limit to a specific dimension. Fixing the limit is to decide on what else has to be taken from the persistent store.
Please let me know if there are best practices defined in this regard?
Edited by: Mahesh Kamath on Feb 5, 2010 3:16 AM
Hi,
Thanks for the clarification.
Okay. So in a nutshell it sounds like you have data spanning a memory cache and living in a database and
you want to be able to query the entire dataset, so you need someway to figure out what
is in the cache and what is in the database?
In general queries in Coherence only work against the cached data, and because of the LRU characteristics
of memory caches its going to be really difficult to know at a point in time what set of information is living
in memory and which has been evicted and persisted in the underlying database. If the dataset that spills
over into a database is fringe (i.e. a small percentage of your total data), then the simplest solution is to
add new cache servers to get you out of this problem (i.e. avoid databases). If the cache is just the tip
of the iceberg of all your data than you probably want to have either a write-through or write-behind
configuration and query the database directly (write-through will get you everything you put into a cache,
while write-behind will get everything except for the most recent puts which are working their way to being written in batch).
My guess is that retrieval of keys out of the database, and then retrieval of data through the cache using
the keys would not be a good idea. For one thing if the database is substantially larger than the cache,
the entire cache will get evicted by the query activity, which generally is a bad idea. More importantly the
code path to get the data will be much longer and would result in N number of invocations of SQL as opposed
to a single invocation of SQL with a cursor.
Regards,
Bob
Similar Messages
-
I have an external hard disk drive with data that I want to back up onto another extrnal hard disk drive. I have tried to copy and paste but this wont give me a paste option. I have also tried to click and drag but it wont let me either. I have reformatted the external hard drive to accept both mac and pc files and this did not make any difference. Can anyone help me with this?
How did you reformat the drive? If you formatted it as NTFS, your Mac will not be able to write files to it unless you use a small application such as Paragon's.
Please reply as to how you formatted the drive.
Clinton -
Why my ipad warranty doesn't match with date that i bought? I bought ipad 4 yesterday but as you guys know it was already discontinued.. Has my ipad been used?
I bought in 14 january 2014 and the expiration said it will be in 5 september 2014
Is it mean that my ipad had been activated in 5 sept las year?
But the packaging is good and it looks like very new.
Please help me....
I bought in IT plaza in kuala lumpur, malaysia..
Heeellllppp...The merchant told me it is new. And when they opened the box and turn the ipad on, the ipad asked me to activate first.
Is the 'restore to factory setting' can make us must activate the ipad again?? -
I am having difficulty including text with iPhotos I want to share through email. I get a red exclamation mark along with a statement stating that the text doesn't fit into the designated text area. This is so frustrating. Before iLire11 I was easily able to share photos with email messages. Arghhhh!
In the iPhoto preferences you can set Apple Mail as your e-mail client and then it will work exactly as before
LN -
SAP BW 3.5 Query Cache - no data for queries
Dear experts,
we do have a problem with the SAP BW Query Cache (BW 3.5). Sometimes the
problem arise that after the queries have been pre-calculated using web templates there are no figures available when running a web-report, or when doing a drilldown or filter navigation. A solution to solve that issue is to delete the cache for that query, however this solution is not reasonable or passable. The problem occurs non-reproducible for different queries.
Is this a "normal" error of the SAP BW we have to live with, or are there any solutions for it? Any hints are greatly appreciated.
Thanks in advance & kind regards,
danielHI Daniel
Try to wirk without cache for those queries.
Anyway, you should check how the cache option is configured for those queries .
You can see that, in RSRV tx
Hope this help -
Problem in continuous query cache with PofExtractor
Hi,
I am creating a CQC with a filter having PofExtractor. When I try to insert any record in cache it is giving me exception at server side.
When I do not use PofExtractor it is working fine.
If any one know about this prblem please help.
I am using C# as my client application
Regards
Nitin JainHi JK,
I have made some changes in my server. Now I am not using any pof definition on server side. I think that's why it is giving me the error.
2010-04-13 15:39:07.481/20.593 Oracle Coherence GE 3.5.1/461 <Error> (thread=DistributedCache, member=1): Exception occured during filter evaluation: MapEventFilter(mask=INSERTED|UPDATED_ENTERED|UPDATED_WITHIN, filter=GreaterEqualsFilter(PofExtractor(target=VALUE, navigator=SimplePofPath(indices=0)), Nitin)); removingthe filter...
2010-04-13 15:39:07.481/20.593 Oracle Coherence GE 3.5.1/461 <Error> (thread=DistributedCache, member=1):
(Wrapped) java.io.StreamCorruptedException: unknown user type: 1001
at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:261)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$ConverterFromBinary.convert(DistributedCache.CDB:4)
at com.tangosol.util.ConverterCollections$ConverterMapEvent.getNewValue(ConverterCollections.java:3594)
at com.tangosol.util.filter.MapEventFilter.evaluate(MapEventFilter.java:172)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.prepareDispatch(DistributedCache.CDB:82)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.postInvoke(DistributedCache.CDB:10)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$Storage.put(DistributedCache.CDB:156)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onPutRequest(DistributedCache.CDB:37)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache$PutRequest.run(DistributedCache.CDB:1)
at com.tangosol.coherence.component.net.message.requestMessage.DistributedCacheKeyRequest.onReceived(DistributedCacheKeyRequest.CDB:12)
at com.tangosol.coherence.component.net.message.requestMessage.distributedCacheKeyRequest.ExtendedKeyRequest.onReceived(ExtendedKeyRequest.CDB:4)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onMessage(Grid.CDB:9)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.Grid.onNotify(Grid.CDB:136)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.DistributedCache.onNotify(DistributedCache.CDB:3)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.StreamCorruptedException: unknown user type: 1001
at com.tangosol.io.pof.PofBufferReader.readAsObject(PofBufferReader.java:3289)
at com.tangosol.io.pof.PofBufferReader.readObject(PofBufferReader.java:2600)
at com.tangosol.io.pof.ConfigurablePofContext.deserialize(ConfigurablePofContext.java:348)
at com.tangosol.util.ExternalizableHelper.deserializeInternal(ExternalizableHelper.java:2673)
at com.tangosol.util.ExternalizableHelper.fromBinary(ExternalizableHelper.java:257)
... 15 more
Is there any way by which we can apply continuous query cache without providing object definition at server side?
Regards
Nitin Jain -
Error when populating cache with data.
Hi,
I am new to Oracle coherence. I was just following the examples at the following link:
http://download.oracle.com/docs/cd/E15357_01/coh.360/e15831/toc.htm
I am stuck at the following chapter:
5.2 Populating a Cache with Domain Objects
I am able to run the DataGenerator.java successfully. The contacts.csv file gets created.
When i run the LoaderExample.java, i get the following output:
Work: NE
77596
Yoyodyne Propulsion Systems, Grover's Mill US
330 Lectroid Rd.
Telephone Numbers
work: +11 927 20 4526527
home: +11 633 82 6834859
Birth Date: 1964-01-03
Exception in thread "main" (Wrapped) java.io.NotSerializableException: com.oracle.handson.ContactId
at com.tangosol.util.ExternalizableHelper.toBinary(ExternalizableHelper.java:215)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService$ConverterKeyToBinary.convert(PartitionedService.CDB:29)
at com.tangosol.util.ConverterCollections$AbstractConverterEntry.getKey(ConverterCollections.java:3387)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.PartitionedService.splitEntriesByOwner(PartitionedService.CDB:17)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.ensureRequestTarget(PartitionedCache.CDB:18)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$BinaryMap.putAll(PartitionedCache.CDB:34)
at com.tangosol.util.ConverterCollections$ConverterMap.putAll(ConverterCollections.java:1607)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$ViewMap.putAll(PartitionedCache.CDB:1)
at com.tangosol.coherence.component.util.SafeNamedCache.putAll(SafeNamedCache.CDB:1)
at com.oracle.handson.LoaderExample.load(LoaderExample.java:105)
at com.oracle.handson.LoaderExample.main(LoaderExample.java:37)
Caused by: java.io.NotSerializableException: com.oracle.handson.ContactId
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at com.tangosol.util.ExternalizableHelper.writeSerializable(ExternalizableHelper.java:2216)
at com.tangosol.util.ExternalizableHelper.writeObjectInternal(ExternalizableHelper.java:2664)
at com.tangosol.util.ExternalizableHelper.serializeInternal(ExternalizableHelper.java:2564)
at com.tangosol.util.ExternalizableHelper.toBinary(ExternalizableHelper.java:211)
... 10 more
2010-11-15 16:20:04.741/4.812 Oracle Coherence GE 3.6.0.0 <D4> (thread=ShutdownHook, member=4): ShutdownHook: stopping cluster node
2010-11-15 16:20:04.772/4.843 Oracle Coherence GE 3.6.0.0 <D5> (thread=DistributedCache, member=4): Service DistributedCache left the cluster
Can anyone please help me as to why i am getting this error?
I am unable to move forward to the next example due to this error.
Any ideas would be of great help.
ThanksCan you post the code for the ContactId class? I suspect you have forgotten to implement one of the PortableObject, Serializable, Externalizable, or ExternalizableLite interfaces. If that isn't it are you telling Coherence to use POF?
-Dtangosol.pof.enabled=true -Dtangosol.pof.config=pof-config.xmlEdited by: Willy Myers on 15-Nov-2010 04:02 -
Empty query cache with ABAP code
Hi Experts,
Is there any way to empty the query cache using ABAP code?
Thank you!
Regards,
SamSam,
You can clear cache by using transaction RSRCACHE. Also, you can use a BDC ABAP program to do it.
-Saket -
Unable to query records with data in exponential value ? ?
Hello,
I have a strange problem here, hope someone can answer my query.
I have 2 tables where the 1st col is a seq with datatype NUMBER(22) and NOT NULL constraint. Now, the value within that col is quite large and hence when I query the table in TOAD/SQL developer it displays output in exponential form. Now the issue is this, In one table I'm able to find/search a particular row by using the exp value within where clause and the same is not possible in other table.
The sample data is here.
I'm able to search record by using the below values in 1 table but same is not possible in another.
1200000211600013
1.20000021160001E15
Can anybody tell me what could be the possible reason for this or where should I look for to find an answer?
Thanks in Advance!!
ToufiqSeems there's no problem in Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
with
numbers as
(select 1200000211600013330 the_number from dual union all
select 1200000211600013333 from dual
select n.the_number,s.search_string
from numbers n,
(select :your_number search_string
from dual
) s
where n.the_number(+) = to_number(s.search_string)
THE_NUMBER
SEARCH_STRING
1200000211600013333
1200000211600013333
THE_NUMBER
SEARCH_STRING
1200000211600013333
1.200000211600013333E18
THE_NUMBER
SEARCH_STRING
1200000211600013333
12000002116.00013333E+8
THE_NUMBER
SEARCH_STRING
1200000211600013330
1.20000021160001333E+18
THE_NUMBER
SEARCH_STRING
1.20000021160001333E17
Even implicit conversion seems to work
select n.the_number,s.search_string,dump(s.search_string,16) search_dump,dump(n.the_number) result_dump
from numbers n,
(select :your_number search_string
from dual
) s
where s.search_string = n.the_number(+)
THE_NUMBER
SEARCH_STRING
SEARCH_DUMP
RESULT_DUMP
1200000211600013330
1.20000021160001333E18
Typ=1 Len=22: 31,2e,32,30,30,30,30,30,32,31,31,36,30,30,30,31,33,33,33,45,31,38
Typ=2 Len=11: 202,2,21,1,1,22,17,1,2,34,31
Regards
Etbin -
Using a Heiarchical Tree with data that can be grouped
Hello Forum
I have been tasked with coming up with a selector for one of our applications that uses a tree. I have built a mock-up using the example provided at Craigs Oracle Stuff (https://sites.google.com/site/craigsoraclestuff/oracle-forms---how-to-s/forms-how-to-create-a-hierachical-tree-form) that subsuitutes our data in the SQL for his, and I have successfully added another loop as the data is located in 3 tables, but have come across a few issues. I have been searching the forums and google, but cannot find anything to solve the issues that I am having. Any help is appreciated. This is being developed in 10g. The data is structured as follows.
Category(root)
ID, Name
1, A
2, B
3, C
SubCategory (Level 2)
ID, Name, CatID
1, A, 1
2, B, 1
3, C, 1
Codes (Level 3 and beyond?)
ID SubCatID Description
1, 1, 'The, quick'
2, 1, 'The, quick, brown'
3, 1, 'The, quick, brown, fox, jumps'
4, 1, 'The, quick, brown, fox, jumps, over, the lazy, dog'
5, 2, 'Wafting, zephyrs, quickly, vexed, Jumbo'
6, 2, 'Wafting, zephyrs, quickly'
As you can see the codes table has a lot of repeating values that are delimited by ',' (commas). I can produce a tree out of the 3 tables but...
Problem:
The description in the codes table can be as many as 255 characters. The tree seems to truncate the values around 60 characters. I am not sure what the maximum data lenghts in the tree are, or if the max lengths are limited by the node or the entire tree. Although the Category and Subcategory names can be as much as 120 characters, they are more typically around 25 characters.
Could this problem be remedied buy deepeing the levels of the tree by grouping the values in the codes table on the comma delimiters? The max number of commas in the description is 9, so that would make the tree up to 11 levels deep. I know how to get the text between the commas, but am unsure how to link the data back to the parent
Ex. The tree would be
A
->A
->->The
->->->quick
->->->->brown
Thanks for any Assistance
Mike
EDIT: I found the reason that the label of the node is being limited in length. The limit is actually 50char because of this line in Craig's code in the Create_RG function:
gc_id := Add_Group_Column(rg_id, 'label', CHAR_COLUMN,50);
I changed the limit to 255 and now all of the data displays.
Although working now, I would still like to know id there is a way of grouping the data into the tree view, as this would make the tree much more readable.
Mike
Edited by: saskcivic on Feb 5, 2013 7:36 AMhi,
In BI CONTENT,, v can just install any Object,,for that, matter,,just to make that object Active. So by Default it vll nt have any data. Install any Query data flow before and after, then select some master characteristics, and transaction data,,schedule them, Load the data,, then Ur Report Data vll display.
Cheers
Thanks -
I have a query that needs to pull data between a date range.
I've tried several things and nothing seems to work.
Any help would be greatly appreciated.
Here's the code:
<cftransaction>
<cfquery name="QryFollowUp"
datasource="NBProdReports">
SELECT TblContractInfo_SubMenuTable.User_ID,
TblContractInfo_SubMenuTable.Contract_Number,
TblContractInfo_SubMenuTable.Transaction_Type,
TblContractInfo_SubMenuTable.Notes,
TblContractInfo_SubMenuTable.Num_Checks_Trans,
TblMasterTrans.Date_Opened
from TblContractInfo_SubMenuTable ,tblMasterTrans
WHERE Transaction_Type = 'FollowUp'
And TblContractInfo_SubMenuTable.Task_Number =
tblMasterTrans.Task_Number
And TblMasterTrans.Date_Opened BETWEEN #form.StartDate# AND
#form.EndDate#
ORDER BY TblMasterTrans.Date_Opened ASC,
TblContractInfo_SubMenuTable.User_id ASC
</cfquery>
</cftransaction>Any help would be greatly appreciated.
Ok, why are you using a <cftransaction...> around a
single select query?
It should be unnecessary.
This is probably not helpful to your original question. There
is
nothing obviously wrong with your query at least to my glance
through.
Thus this important question, the one without which you are
unlikely to
get any helpful advice, "How does this not work?" Error
Messages? No
Data? Wrong Data? Serves you coffee instead of tea?
It would also probably be helpful to know how your date data
is
represented in the database and the form controls, depending
on what
your difficulties are. -
Query for Old Data that does not match New Data within a given time period
Hello all,
One of the reports I need to create is for all associates who went from one department to another within a given time period. The way I ran this report in Reportsmith (pulling from our old system) was to compare the dept field from the beginning date to the dept field at the end date and it would give me those associate's that had moved. I had to do it this way b/c dept changes can happen using several different types of actions (supv change, promotion, etc.), none of them exclusive to just dept changes. We are now using Oracle HRMS and I need to create this same report with this system using SQL.
Does anyone know how to compare data between two different dates and pull the ones that don't match? Your help will be GREATLY appreciated!
Warm Regards,
Yasmin E. Alberto
HRIS Analyst
[email protected]Hi, Yasmin,
In the sample data you posted, nobody changed departments between May 1 and May 11. In fact, there were no assignments of any kind between January 16 and May 17, so I wouldn't expect any output for that period.
A person (or rather, a duck) did change deptartments on May 20, so if you change the upper limit of the date range to
AND ASG_LAST_UPDATE_DATE < TO_DATE ('05/21/09', 'MM/DD/RR')you should see her.
You've probably noticed that this site likes to compress white-space.
To post formatted text (such as table results or indented code) type these 6 characters:
(small letters only, inside curly brackets) before and after sections of formatted text, to preserve spacing. -
Query report with date difference.
Hi Expert,
I'm using below query to monitor unreleased checks. we have a policy that the holding period for unreleased check is 5 working days.
SELECT T2.[CardCode], T2.[CardName], T0.[TransId], T0.[DueDate], T1.[Credit], T1.[U_DisBank], T4.[Name], DateDiff(dd,T0.[DueDate],GetDate()) As 'OverDue Days' FROM OJDT T0 INNER JOIN JDT1 T1 ON T0.TransId = T1.TransId INNER JOIN OCRD T2 ON T1.ShortName = T2.CardCode INNER JOIN "@HOFFICE" T4 ON T1.U_Disbank = T4.Code WHERE T1.[Credit] !=0 AND T0.[DueDate] >=[%0] AND T0.[DueDate] <=[%1] AND T1.[balduedeb]+T1.[balduecred] !=0 ORDER BY T4.[Name]
However I would like to exclude weekends in computing date difference. Can you please help me modify my query code?
Thanks,
Arlmi2000Hi,
A simple solution will be change DateDiff(dd,T0.DueDate,GetDate()) to DateDiff(dd,T0.DueDate,GetDate())*5/7+1
This can cover all the weekends. If you need to be exact that including public holiday, the coding will be longer.
Thanks,
Gordon -
Report with data that is present in cube and not in ODS from a multiprovide
Hi Friends,
I have a multiprovider with one cube and one ODS. I have a requirement to create a exception report. This exception report should have records that are present in cube but not in ODS. If cube has a record which is present in both infoproviders then report should not display that.
I hope I am clear on my question.
Thanks and regards,
BalarajThanks Timur,
But this is going to give me all the data present in that selected cube. I want to the report to display data only if it is present in cube but not in ODS.
ODS data
Material............Component...........Amount
10001.................30001................100
10001.................30002................200
Cube Data
Material....................Amount
10001.......................100
20002.......................200
My report should display
Material................Amount
20002...................200
It should not display 10001 as it is present in ODS.
I hope I am clear this time.
Thanks and regards,
Balaraj -
Find ODS's with data that is not activated
Hello,
Does anyone know a systematic way to find ODS objects containing data loads that are not activated?
we are working on a system upgrade and this is one thing that we have been asked to identify.
Thanks,
NickHello,
I found something that will work.
In RSA1 I clicked on the 'Modelling' tab in the left pane.
I then clicked on the 'Status Overview' and I was able to review the ODS's there.
Thanks,
Nick
Maybe you are looking for
-
Can I return my refurbished phone?
I lost my phone some I ordered a refurbished phone through the Verizon store. Later that day someone gave me their old Verizon phone, which I would rather use. Can I return the refurbished one they just mailed me and have them activate the phone my f
-
Adobe flash player safari processor +100%?
Hello everyone, I have a question regarding the use of adobe flash player with safari: how is it that the processor runs at more than one hundred percent when using flash player? I do not understand why the problem is still not solved after all this
-
i have this weird problem with my new ipod touch which i bought last thursday. the backlight keeps randomly turning off when im using apps and sometimes it just randomly turns off on the homescreen. i have tried resetting its settings and restoring i
-
Hi, Is there any parameter in ABAP system that can be set to restrict the maximum length of Login ID Raj
-
I made a flyer in Pages and one of the little text box "corner squares" will not disappear. It is actually the center bottom square that has the little plus sign in it. Can anyone tell me how to get rid of it?