is a cache server must have knowledge on cached objects

Hi all:

I worked on this configuration:

1. a cache server, which is the instance of DefaultCacheServer consistency, with a certain configuration of twists and turns.
2. a charger, which reads a csv (or other source of data later) file and generate a list of items pofobject implemented and put them in a card and then put the card in the cache;
3. an auditor of reading, which is reading the NamedCache created previously and do some game: check the content, add filters, etc..

Now it works fine, but I noticed a few things:

-the server must have a pof-config file that contains the classes that implement the PortableObject, and as a result, these classes must be in the classpath of the server as well. If these conditions are not met, the charger will fail to load the objects into the cache.

What is a ligitimate observation? I mean, the server needs to know the objects it cached? It seems to me that couple deeply the server and applications that use the server.

In addition, I want to make objects more generic as possible. For example, if a client retrieves the result set from a SQL-based database, we are always trying to save the results cached somehow, even if we don't know about its internal information such as how that many columns or a column of names /types (maybe we can read this info from metadata?). However, we must know the properties of the object (name/type) to properly serialize / deserialize them before loading them in the cache.

So there is a conflict and how would be solve it?

Thank you
John

Johnny_hunter wrote:
Thank you, Rob. your answer was helpful.

Aruond my 2nd question, I don't know if it's feasible, but it is an interesting topic. Let me explain a little more.

If a user enters a SQL statement, he or she would have the knowledge of the structure of the returned resultset object - the necessary information in the SQL, they created in the first place. However, how can we put the results set returned in the cache for later use? It is difficult, because the SQL code is arbitrary so the key is not clear and the result set is difficult to serialize.

Even we can fill the cache with all the d-base tables, the SQL consistency is not semantically as powerful as real SQL for all tasks.

On the other hand, if the user calls a store proc, we get lucky: Ms name is set, the parameters are editable, but put in shape. Once combined, we can use it as the name of a namedcache. For example, if we have a PC called sp_get_trades, and it takes a standing business as the param, we can create a name such as "sp_get_trade_2011_07_11". From the returned result set, we can obtain its metadata, which contains the column names and types, armed of a JAVA reflection API, we might be able to create a list of mobile objects.

Hi John,.

the result set can be serialized into a single object (no matter whether serialized with POF or not).

This unique object can then be cached with an appropriate key. Typical approaches to the formation of such a key creates a composite key that contains the SQL query AND all the SQL parameter values in the order in which they are passed to the class PreparedStatement. Of course the key class must properly implement equals, hashcode, and must also be serializable with the same method (Java or POF Serialization) that is used for the cache service.

Of course sooner or later, you can invalidate this cache entry, so you can specify a lifetime in putting the result in the cache.

In addition, you can explicitly invalidate the cache on changes in DB entry, create an index on the SQL attribute in the key or a composite index on the SQL attribute and some settings or just an index on one or more parameters together, to allow you to send an input processor filtered by these indexed attributes, and given the knowledge about what has changed in the database.

Best regards

Robert

Tags: Fusion Middleware

Similar Questions

  • Error message: your browser must have Java enabled to use the Client for Java when you try to access the Citrix server.

    Original title: java question.

    I'm trying to access the Citrix server to access my work server.  When I click on an application, I get an error message: your browser must have Java enabled to use the Client for Java.  I checked and the right version of Java installed and removed the old Java applications but still this message when trying to access Citrix.  Please meet w / directions for a fix.

    Start by seeing if Java has been installed correctly:

    http://www.Java.com/en/download/testjava.jsp

    or
    http://javatester.org/

  • When we publish a Web site create in MUSE, the server must be linux? Please let me know because I have the problem with the form works... now the server that I use is the window...

    I am trying to publish in my domain on windows server, but I have a problem with the form...

    The server must be linux to work the form?

    Thanks in advance for your help...

    Thank you Brad... but how can I understand if a Linux server support? I try to do something in particular?

  • Records of 'must have' of roaming profiles

    Hello

    We are currently setting up profiles for our mobile sales. The main problem is that the roaming profiles Dungeon above the profile storage space. I was wondering if anyone could tell me which are the files 'must have' that should be included in a roaming profile? For example do we really need to include all the files in the Application data and local settings? (The "My Documents" FYI have already been excluded because they are redirected to another server). Any help or links that will direct me in the right direction will be greatly appreciated.

    Paula

    Local settings is not normally included in the roaming profiles. It contains the folders temp and Outlook mailstore, which tends to make it big.

    Application data tend to contain settings for specific programs, so you should evaluate on the basis of what is used on your site. However, it excludes in its entirety could lead to problems in some cases.

    Another one, I'd say WinDirStat as a useful tool to find the space where goes.

    http://WinDirStat.info/

    What is the roaming profile, I find that many customers seem to think they should automatically "have their own files" no matter where they log - on, but at the same time don't need exercise no clean what they store and where. I say while it's functionally a case to expect to have your bread buttered on both sides and get to eat! In practice some policy decisions to do in regard to if the roaming profile path is applicable to your site and if so how much users is likely to comply with its constraints. If they can not do it then I suggest that this is not a good path to follow, especially since the oversized profiles will lead to very slow logons.

    Also, keep in mind that you're in headaches for real, if you want to introduce Windows 7 computers - profiles are not compatible, and what is happening here is that the roaming user develops a split personality.

  • Could not deploy blueprint: error the applicant unit. INTERNAL EXCEPTION: Nullable object must have a value.

    vRA 6.2.1 - 2543390

    Trying to deploy any plan of action in a tenant I get the following error as the author of the request:

    "A server error has occurred error the applicant unit. Nullable object must have a value. »

    Research in the newspaper the observer, I get:

    "Asking the device error. INTERNAL EXCEPTION: Exception was thrown by the target of a call. INTERNAL EXCEPTION: Error requesting device. INTERNAL EXCEPTION: Nullable object must have a value. »

    NullableObject01.PNG

    The journal of C:\Program Files (x 86) \VMware\vCAC\Server\Model Manager Web\Logs\Repository on the server of IaaS, I see the request for plan of action and the following stack trace:

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - MachineRequest:? XML version = "1.0" encoding = "utf-16"? >

    " < = MachineRequest container ' http://www.w3.org/2001/XMLSchema "" xmlns: xsi = " " http://www.w3.org/2001/XMLSchema-instance ">

    < TemplateId > 2e2cc4cb-c867-4290-8419-77489755d0c0 < / TemplateId >

    f4ac2e16-8b0a-47ea-94BB-455d0155f44b < GroupId > < / GroupId >

    < RequestingUser > [email protected] < / RequestingUser >

    [email protected] < owner > < / owner >

    < reason > This is the reason why < / reason >

    Properties of <>

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > __Notes < / name >

    Tests of < value > < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > provisioningGroupId < / name >

    < value > f4ac2e16-8b0a-47ea-94bb-455d0155f44b < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > VirtualMachine.LeaseDays < / name >

    < value > 100 < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > blueprintId < / name >

    < value > 2e2cc4cb-c867-4290-8419-77489755d0c0 < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > VirtualMachine.CPU.Count < / name >

    < value > 1 < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > VirtualMachine.Disk0.Size < / name >

    < value > 16 < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > true < / IsRuntime >

    < name > Custom.Domain < / name >

    < value > child.vrademo.local < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > VirtualMachine.Memory.Size < / name >

    < value > 2048 < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > VirtualMachine.Disk0.IsClone < / name >

    < value > true < / value >

    < / NameValue >

    < NameValue >

    < IsEncrypted > false < / IsEncrypted >

    < IsHidden > false < / IsHidden >

    < IsRuntime > false < / IsRuntime >

    < name > __api.request.id < / name >

    < value > 2116a8fc-cf07-4827-8841-70d2e8495b1a < / value >

    < / NameValue >

    < / properties >

    < / MachineRequest >

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateMachineRequest: 25da3edf-7dfe-4582-ac6e-49464775d41a: started during initialization AllocateMachineRequest

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateMachineRequest: 25da3edf-7dfe-4582-ac6e-49464775d41a: completed initialization of AllocateMachineRequest

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: started GetAvailableReservations

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: completed GetAvailableReservations

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: implementation of available reserves 1

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateReservationService: 25da3edf-7dfe-4582-ac6e-49464775d41a: finished loading 1 Reservations available

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateReservationRequest: e78ecf77-025c-4cea-a322-fdfd1f5c4b21: started during initialization AllocateReservationRequest

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - AllocateReservationRequest: e78ecf77-025c-4cea-a322-fdfd1f5c4b21: completed initialization of AllocateReservationRequest

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Debug]: Thread-Id: 25 - began to remove virtual machine record for: [any]

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Debug]: Thread-Id: 25 - finished deleting the virtual machine record for: [any]

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Error]: Thread-Id: 25 - did not request. Inner exception: Nullable object must have a value.

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Error]: Thread-Id: 25 - [email protected]

    System.InvalidOperationException: Nullable object must have a value.

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations (AllocateMachineRequest request, AllocateReservationRequest currentReservation, Boolean requireExactPolicy)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateAvailableReservations (machineRequests from list 1, list 1 availableReservations, StringBuilder infoErrorMsg, Boolean requireExactPolicy)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations (availableReservations from list 1, list 1 queries)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservationByType (AllocateMachineRequest request)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservations (AllocateRequest request)

    to DynamicOps.ManagementModel.Services.ProvisionMachineService. <>c__DisplayClasse. < AllocateMachine > b__c()

    DynamicOps.Common.RetryTransactionException.RetryIfNecessary (use)

    DynamicOps.ManagementModel.Services.ProvisionMachineService.AllocateMachine (model VirtualMachineTemplate, ProvisioningGroup group, owner of the channel, properties of list 1, isComponent Boolean, applyExpiresOverride Boolean, Nullable Nullable networkScopeId, VirtualMachine masterMachine 1, expiresOverride 1)

    DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequestByType (model VirtualMachineTemplate, ProvisioningGroup group, owner of the chain, the list 1, list 1 originalRuntimeProperties properties)

    at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest (MachineRequest request)

    [UTC:2015 - 06-03 11:38:39 local: 2015-06-03 12:38] [Error]: Thread-Id: 25 - System.Data.Services.DataServiceException: error the applicant unit. -> System.Reflection.TargetInvocationException: Exception has been thrown by the target of a call. -> System.Data.Services.DataServiceException: error the applicant unit. ---> System.InvalidOperationException: Nullable object must have a value.

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations (AllocateMachineRequest request, AllocateReservationRequest currentReservation, Boolean requireExactPolicy)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateAvailableReservations (machineRequests from list 1, list 1 availableReservations, StringBuilder infoErrorMsg, Boolean requireExactPolicy)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations (availableReservations from list 1, list 1 queries)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservationByType (AllocateMachineRequest request)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservations (AllocateRequest request)

    to DynamicOps.ManagementModel.Services.ProvisionMachineService. <>c__DisplayClasse. < AllocateMachine > b__c()

    DynamicOps.Common.RetryTransactionException.RetryIfNecessary (use)

    DynamicOps.ManagementModel.Services.ProvisionMachineService.AllocateMachine (model VirtualMachineTemplate, ProvisioningGroup group, owner of the channel, properties of list 1, isComponent Boolean, applyExpiresOverride Boolean, Nullable Nullable networkScopeId, VirtualMachine masterMachine 1, expiresOverride 1)

    DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequestByType (model VirtualMachineTemplate, ProvisioningGroup group, owner of the chain, the list 1, list 1 originalRuntimeProperties properties)

    at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest (MachineRequest request)

    -End of the exception stack trace internal-

    at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest (MachineRequest request)

    to DynamicOps.ManagementModel.ManagementModelOperations. < SubmitVirtualMachineRequest > b__c (r, ManagementModelEntities d MachineRequest)

    in DynamicOps.Common.Entity.OperationInvoke'1.Execute [TRequest] (Func 3 operation)

    -End of the exception stack trace internal-

    at System.RuntimeMethodHandle.InvokeMethod (Object target, sig Signature constructor Boolean, object [] arguments)

    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (Object obj, Object [] parameters, Object [] arguments)

    at System.Reflection.RuntimeMethodInfo.Invoke (Object obj, BindingFlags invokeAttr, Binder binder, Object [] parameters, CultureInfo culture)

    to System.Data.Services.Providers.BaseServiceProvider.InvokeServiceOperation (ServiceOperation serviceOperation, Object [] parameters)

    -End of the exception stack trace internal-

    to System.Data.Services.ErrorHandler.HandleTargetInvocationException (TargetInvocationException exception)

    to System.Data.Services.Providers.BaseServiceProvider.InvokeServiceOperation (ServiceOperation serviceOperation, Object [] parameters)

    at System.Data.Services.Providers.DataServiceProviderWrapper.InvokeServiceOperation (OperationWrapper serviceOperation, Object [] parameters)

    at System.Data.Services.RequestUriProcessor.ComposeExpressionForServiceOperation (SegmentInfo, IDataService service, checkRights Boolean, SegmentInfo lastSegment segment)

    to System.Data.Services.RequestUriProcessor.ComposeExpressionForSegments (IList 1 segments, IDataService service, Boolean isCrossReferencingUri)

    at System.Data.Services.RequestUriProcessor.ProcessRequestUri (Uri absoluteRequestUri, IDataService service, Boolean internalQuery)

    to System.Data.Services.DataService'1.HandleRequest)

    INTERNAL EXCEPTION: System.Reflection.TargetInvocationException: Exception has been thrown by the target of a call. -> System.Data.Services.DataServiceException: error the applicant unit. ---> System.InvalidOperationException: Nullable object must have a value.

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations (AllocateMachineRequest request, AllocateReservationRequest currentReservation, Boolean requireExactPolicy)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateAvailableReservations (machineRequests from list 1, list 1 availableReservations, StringBuilder infoErrorMsg, Boolean requireExactPolicy)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateStorageReservations (availableReservations from list 1, list 1 queries)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservationByType (AllocateMachineRequest request)

    at DynamicOps.ManagementModel.Services.AllocateReservationService.AllocateReservations (AllocateRequest request)

    to DynamicOps.ManagementModel.Services.ProvisionMachineService. <>c__DisplayClasse. < AllocateMachine > b__c()

    DynamicOps.Common.RetryTransactionException.RetryIfNecessary (use)

    DynamicOps.ManagementModel.Services.ProvisionMachineService.AllocateMachine (model VirtualMachineTemplate, ProvisioningGroup group, owner of the channel, properties of list 1, isComponent Boolean, applyExpiresOverride Boolean, Nullable Nullable networkScopeId, VirtualMachine masterMachine 1, expiresOverride 1)

    DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequestByType (model VirtualMachineTemplate, ProvisioningGroup group, owner of the chain, the list 1, list 1 originalRuntimeProperties properties)

    at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest (MachineRequest request)

    -End of the exception stack trace internal-

    at DynamicOps.ManagementModel.Services.ProvisionMachineService.SubmitMachineRequest (MachineRequest request)

    to DynamicOps.ManagementModel.ManagementModelOperations. < SubmitVirtualMachineRequest > b__c (r, ManagementModelEntities d MachineRequest)

    in DynamicOps.Common.Entity.OperationInvoke'1.Execute [TRequest] (Func 3 operation)

    -End of the exception stack trace internal-

    at System.RuntimeMethodHandle.InvokeMethod (Object target, sig Signature constructor Boolean, object [] arguments)

    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (Object obj, Object [] parameters, Object [] arguments)

    at System.Reflection.RuntimeMethodInfo.Invoke (Object obj, BindingFlags invokeAttr, Binder binder, Object [] parameters, CultureInfo culture)

    to System.Data.Services.Providers.BaseServiceProvider.InvokeServiceOperation (ServiceOperation serviceOperation, Object [] parameters)

    [UTC:2015 - 06-03 11:38:41 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - Guid: <? XML version = "1.0" encoding = "utf-16"? >

    2e2cc4cb-c867-4290-8419-77489755d0c0 < guid > < / guid >

    [UTC:2015 - 06-03 11:38:47 local: 2015-06-03 12:38] [Path]: Thread-Id: 25 - Guid: <? XML version = "1.0" encoding = "utf-16"? >

    2e2cc4cb-c867-4290-8419-77489755d0c0 < guid > < / guid >

    Any ideas on what could be the nullable object that requires a value?

    Yes, this seems to be the problem, you can update using query below and see if it works for you.

    UPDATED [HostReservation] set StorageAllocationPolicyID = 4, CurrentStorageAllocationIndex = 0, CurrentNetworkAllocationIndex = 0

    WHERE HostReservationName = '. '

  • For applications, hosted on a private server, users have to reinstall the application to see the updates to the App Builder?

    For applications, hosted on a private server, users have to reinstall the application to see the updates to the App Builder? Let's say that I was updating a banner of right or a library style...

    If you change the .zip offline banner or a library style that is part of a .zip file that you specify in DPS App Builder, then Yes, you must change the app and make it available for users to update. But if you change the style of banner or library that is hosted on a server, the changes appear immediately without any modification to the application.

  • Protection of session state - Arguments must have Checksum - help needed

    Hello world

    I use apex 4.0 and that you have defined:

    Protection of session state = True
    Page = Arguments access protection must have the checksum
    Point of application protection = Cecksum required - Session level
    Page data entry point Protection = required Cecksum - Session level
    Page Display-Only item = Cecksum required - Session-level Protection

    On the pages that contain an interactive report, calls to other pages updated and or to delete a record from the pharmacokinetics of recording work OK.
    I put these as follows:
    In the Interactive report link-> Link attribute column = onclick = "new top. Ext.apex.PopupWindow ({url: this.href, title: 'Change collation details', width: 530, height: 500, listeners: {'success': gReport.search}}). show(); return false; »
    Target = this Application Page
    Page = 302Item = P302_IDCLASS
    Value = #IDCLASS #.
    Page Checksum = - default user.

    The problem is the button 'Create a new record' that is on the page of interactive report. I set the button as:
    The attributes button = onclick = "new top. Ext.apex.PopupWindow({url:'f?p=&APP_ID.:302:&APP_SESSION.::NO:302:::',_title:_'Create_New_Classification',_width:_530,_height:_500,_listeners:_{'success':_gReport.search}}).show (); return false; »
    Action when click = redirect to the Page of this Application
    Page = 302
    Clear Cache = 302

    When I click the button I get the following message:
    Session state protection violation: this can be caused by a manual change to a URL containing a checksum or using a link with a missing or incorrect checksum. If you don't know what caused this error, contact the administrator of the application for assistance.

    If I change the attributes of the button to be:
    OnClick = "new top. Ext.apex.PopupWindow({url:'f?p=&APP_ID.:302:&APP_SESSION.::NO:::',_title:_'Create_New_Classification',_width:_530,_height:_500,_listeners:_{'success':_gReport.search}}).show (); return false; »

    It works OK, bu page elements are not clear.

    Could somebody please explaing to me what I am doing wrong so I understand my mistake?

    Thank you

    Daniel

    Hello

    If I understand correctly what you need...

    Create a point of the MY_BTN_URL application.
    You can set this element of Protection of the Session State to 'Restricted - cannot be resolved in the browser.
    Create the calculation of demand for this article
    Calculation Point: Before header
    Calculation type: PL/SQL Expression
    Calculation:

    APEX_UTIL.PREPARE_URL (
      p_url => 'f?p=&APP_ID.:302:&APP_SESSION.::NO:302::::',
      p_checksum_type => 3
    );
    

    Change your attributes of button

    onclick="new top.Ext.apex.PopupWindow({ url:'&MY_BTN_URL.', title: 'Create New Classification', width: 530, height: 500, listeners: {'success': gReport.search} }).show(); return false;"
    

    Kind regards
    Jari

    Published by: jarola October 25, 2011 15:50

    Published by: jarola October 25, 2011 16:16

  • PLS-00630: pipeline functions must have a collection of supported return type

    Hello, I created a TYPE of OBJECT and function PLSQL as shown below, but the function compile errors with that follows. Don't know where is the problem?
    PLS-00630: pipelined functions must have a supported collection return type
    It's about Oracle 10 g r2
    CREATE OR REPLACE TYPE cxs_plsql_profiler_object_type AS OBJECT (
       cxs_object_name      VARCHAR2 (128),
       cxs_object_type      VARCHAR2 (19),
       cxs_object_status    VARCHAR2 (7),
       cxs_read_execution   NUMBER,
       cxs_buffer_gets      NUMBER,
       cxs_disk_reads       NUMBER,
       cxs_executions       NUMBER,
       cxs_sorts            NUMBER,
       cxs_sharable_mem     NUMBER,
       cxs_address          NUMBER,
       cxs_hashvalue        NUMBER,
       cxs_osuser           VARCHAR2 (30),
       cxs_username         VARCHAR2 (30),
       cxs_module           VARCHAR2 (48),
       cxs_machine          VARCHAR2 (64),
       cxs_status           VARCHAR2 (8),
       cxs_terminal         VARCHAR2 (16),
       cxs_percentconsume   NUMBER,
       cxs_percentrepeat    NUMBER,
       cxs_plan             VARCHAR2 (120),
       target_name          VARCHAR2 (200),
       referenced_name      VARCHAR2 (200),
       referenced_type      VARCHAR2 (200),
       targetowner          VARCHAR2 (200),
       refowner             VARCHAR2 (200)
    )
    and here are the API
        FUNCTION CXS_GENERATE_PLSQL_PROFILER
    RETURN cxs_plsql_profiler_object_type
    PIPELINED IS
    out_rec cxs_plsql_profiler_object_type ;
    
    plsbatch plsql_batch;
    skount integer;
    dpendrec depend_tab;
    dkount integer;
    
    
    
    
    CURSOR objects
          IS
             SELECT object_name, object_type
               FROM dba_objects
              WHERE status = 'VALID'
                AND owner NOT IN ('SYS', 'SYSTEM')
                AND object_type IN ('PACKAGE', 'PROCEDURE', 'FUNCTION');
    
          CURSOR apis (p_object dba_objects.object_name%TYPE)
          IS
             SELECT DISTINCT *
                        FROM (SELECT   SUBSTR (a.sql_text, 1, 50) sql_text,
                                       TRUNC
                                          (  a.disk_reads
                                           / DECODE (a.executions,
                                                     0, 1,
                                                     a.executions
                                                    )
                                          ) reads_per_execution,
                                       a.buffer_gets, a.disk_reads, a.executions,
                                       a.sorts, a.sharable_mem, a.address,
                                       a.hash_value, b.osuser, b.username,
                                       b.module, b.machine, b.status, b.terminal,
                                       ROUND
                                          (cxs_db_info.kompute_percentofsql
                                                                   (a.sharable_mem),
                                           5
                                          ) percentkonsume,
                                       cxs_db_info.kount_repeat
                                                             (b.osuser,
                                                              b.terminal
                                                             ) percentr,
                                       c.operation explainplan
                                  FROM v$sqlarea a, v$session b, v$sql_plan c
                                 WHERE b.sql_hash_value = a.hash_value
                                   AND b.sql_address = a.address
                                   AND a.hash_value = c.hash_value
                                   AND a.address = c.address
                                   AND b.status = 'ACTIVE'
                                   AND UPPER (a.sql_text) LIKE
                                                            '%' || p_object || '%'
                                   AND c.ID = 0
                              ORDER BY 2 DESC)
                       WHERE ROWNUM <= 50;   --profile option
    BEGIN
    
    skount := 0;
    dkount := 0;
    
     FOR i IN objects
          LOOP
             FOR j IN apis (i.object_name)
             LOOP
                skount := skount + 1;
                plsbatch(skount).cxs_object_name  := i.object_name;
       plsbatch(skount).cxs_object_type      :=  i.object_type;
       plsbatch(skount).cxs_object_status    :=  i.object_status;
       plsbatch(skount).cxs_read_execution   := j.reads_per_execution;
       plsbatch(skount).cxs_buffer_gets      := j.buffer_gets;
       plsbatch(skount).cxs_disk_reads       := j.disk_reads;
       plsbatch(skount).cxs_executions       := j.executions;
       plsbatch(skount).cxs_sorts            := j.sorts;
       plsbatch(skount).cxs_sharable_mem     := j.sharable_mem;
       plsbatch(skount).cxs_address          := j.address;
       plsbatch(skount).cxs_hashvalue        := j.hashvalue;
       plsbatch(skount).cxs_osuser           := j.osuser;
       plsbatch(skount).cxs_username         := j.username;
       plsbatch(skount).cxs_module           := j.module;
       plsbatch(skount).cxs_machine          := j.machine;
       plsbatch(skount).cxs_status           := j.status;
       plsbatch(skount).cxs_terminal         := j.terminal;
       plsbatch(skount).cxs_percentconsume   := j.percentconsume;
       plsbatch(skount).cxs_percentrepeat    := j.percentrepeat;
       plsbatch(skount).cxs_plan             := j.explainplan;
             END LOOP;
    
             FOR dd IN dpend (i.object_name)
             LOOP
                dkount := dkount + 1;
                dependrec (dkount).target_name := dd.NAME;
                dependrec (dkount).refname := dd.referenced_name;
                dependrec (dkount).reftype := dd.referenced_type;
                dependrec (dkount).target_owner := dd.owner;
                dependrec (dkount).refowner := dd.referenced_owner;
             END LOOP;
          END LOOP;
    
    for a in 1..skount loop
    
       out_rec.cxs_object_type      := plsbatch(a).object_type;
       out_rec.cxs_object_status    := plsbatch(a).object_status;
       out_rec.cxs_read_execution   := plsbatch(a).reads_per_execution;
       out_rec.cxs_buffer_gets      := plsbatch(a).buffer_gets;
       out_rec.cxs_disk_reads       := plsbatch(a).disk_reads;
       out_rec.cxs_executions       := plsbatch(a).executions;
       out_rec.cxs_sorts            := plsbatch(a).sorts;
       out_rec.cxs_sharable_mem     := plsbatch(a).sharable_mem;
       out_rec.cxs_address          := plsbatch(a).address;
       out_rec.cxs_hashvalue        := plsbatch(a).hashvalue;
       out_rec.cxs_osuser           := plsbatch(a).osuser;
       out_rec.cxs_username         := plsbatch(a).username;
       out_rec.cxs_module           := plsbatch(a).module;
       out_rec.cxs_machine          := plsbatch(a).machine;
       out_rec.cxs_status           := plsbatch(a).status;
       out_rec.cxs_terminal         := plsbatch(a).terminal;
       out_rec.cxs_percentconsume   := plsbatch(a).percentconsume;
       out_rec.cxs_percentrepeat    := plsbatch(a).percentrepeat;
       out_rec.cxs_plan             := plsbatch(a).explainplan;
       PIPE ROW(out_rec);
    end loop;
    
    
    for b in 1..dkount loop
        out_rec.target_name := dd.NAME;
                out_rec.refname := dependrec (b).referenced_name;
                out_rec.reftype := dependrec (b).referenced_type;
                out_rec.target_owner := dependrec (b).owner;
                out_rec.refowner := dependrec (b).referenced_owner;
                PIPE ROW(out_rec);
     end loop;
    RETURN;
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.format_error_backtrace);
    DBMS_OUTPUT.PUT_LINE(SQLCODE);
    DBMS_OUTPUT.PUT_LINE(SQLERRM);
    END; 
    and here's tradtional types of tables that are used in the code above.
     TYPE type_plsql_rec IS RECORD (
       cxs_object_name      VARCHAR2 (128),
       cxs_object_type      VARCHAR2 (19),
       cxs_object_status    VARCHAR2 (7),
       cxs_read_execution   NUMBER,
       cxs_buffer_gets      NUMBER,
       cxs_disk_reads       NUMBER,
       cxs_executions       NUMBER,
       cxs_sorts            NUMBER,
       cxs_sharable_mem     NUMBER,
       cxs_address          NUMBER,
       cxs_hashvalue        NUMBER,
       cxs_osuser           VARCHAR2 (30),
       cxs_username         VARCHAR2 (30),
       cxs_module           VARCHAR2 (48),
       cxs_machine          VARCHAR2 (64),
       cxs_status           VARCHAR2 (8),
       cxs_terminal         VARCHAR2 (16),
       cxs_percentconsume   NUMBER,
       cxs_percentrepeat    NUMBER,
       cxs_plan             VARCHAR2 (120)
       );
    
       TYPE plsql_batch IS TABLE OF type_plsql_rec
          INDEX BY BINARY_INTEGER;
          
          
           TYPE type_depend_tab IS RECORD (
          target_name    dba_dependencies.NAME%TYPE,
          refname        dba_dependencies.referenced_name%TYPE,
          reftype        dba_dependencies.referenced_type%TYPE,
          target_owner   dba_dependencies.owner%TYPE,
          refowner       dba_dependencies.referenced_owner%TYPE
       );
    
       TYPE depend_tab IS TABLE OF type_depend_tab
          INDEX BY BINARY_INTEGER;
    Thank you for your time in reading this post

    R

    Johan says:
    Sorry!.
    Actually, I meant

    I thought as well.

    Typos can be expensive however. As a probe of NASA Mars in 99, which was lost due to a simple mathematical error - a confusion between English and metric units. ;-)

    Or screw up a server in reason to use a Unix fork() where the client process think that it is the parent and the beginning more children who believe they are also parents of spawning... (one of my mistakes of kewlest never) :-)

  • I spent hours on web sites looking for advice clean my iMac - they were all dead ends.  I send a question to this 'Community' first, but must have done it badly because there was no trace of it.  I have the effect on this model beach ball

    I spent hours on web sites looking for advice clean my iMac - they were all dead ends.  I send a question to this 'Community' first, but must have done it badly because there was no trace of it.  I now have the beach on this computer ball effect.  Are there places I can delete cookies etc to help out?  Thank you for your help.

    horse8905

    Don't know what's happening, you do not give a lot of information, but if you have the constant beachballing (spinning wait cursor), which could mean that the hard drive is dying.

    Open Console.app in Applications > utilities. Filter, called "String Matching," right, high enter "I/o" without the quotes. What happens when you do this?

  • Update 25.0.1 (Mac) a total disaster. Break all THE CSS on each site. Have WTF you done? You MUST have links go down, if not, hasta the vista.

    Update 25.0.1 (Mac) a total disaster. Break all THE CSS on each site. Have WTF you done? You MUST have links go down, if not, effyou, hasta the vista.

    Hello

    The reset Firefox feature can solve a lot of problems in restaurant Firefox to its factory default condition while saving your vital information.

    Note: This will make you lose all the Extensions and preferences.

    • Sites Web open is not recorded in less than 25 versions of Firefox.

    To reset Firefox, perform the following steps:

    1. Go to Firefox > help > troubleshooting information.
    2. Click on the button 'Reset Firefox'.
    3. Firefox will close and reset. After Firefox is finished, it will display a window with the imported information. Click Finish.
    4. Firefox opens with all the default settings applied.

    Information can be found in the article Firefox Refresh - reset the settings and Add-ons .

    This solve your problems? Please report to us!

    Thank you.

  • To open this workbook, your computer must have a version of Microsoft Excel is installed and your Web browser must support opening files directly from Excel in the

    Im trying to open an excel file from a shared Web site, I used to be able to open them in Excel, when I used Internet Explorer, now all I see is the spreadsheet on a Web page, when I try to open the file in Excel (there is a tab that asked do you want to open in excel) I get a message "to open this workbook, your computer must have a version of Microsoft Excel is installed and your Web browser. must support opening files directly from Excel in the browser. »

    You have Excel installed?

    If so, can you use Internet Explorer for the Web site?

    As far as I KNOW, Microsoft is not an add-on for Firefox can be opened from Excel in Firefox. It may or may not work properly depending on whether this Web site uses a MIME type for files it delivers.

    Another way to handle that would be via Open Office or free agency; both are open source (free) that allows to display files XLS (Excel) , and both programs have a Mozilla browser plugin to allow Firefox to open the 'Calc' of these programs.

    http://en.Wikipedia.org/wiki/LibreOffice

    http://en.Wikipedia.org/wiki/OpenOffice.org > http://en.wikipedia.org/wiki/Apache_OpenOffice

  • I try to down load El Cap to my iMac (mid 2007) and I get this message saying that I must have OS 10.11 to perform this task.  Where can I find 10.11?  Apple store has only 10.11.2 or later...

    I try to down load El Cap to my iMac (mid 2007) and I get this message saying that I must have OS 10.11 to perform this task.  Where can I find 10.11?  Apple store has only 10.11.2 or later...

    What you are trying to download is an update to El Capitan, which requires that El Capitan already installed.

    You should find the correct Installer for El Capitan in the Apple store under the purchased tab.

  • Why can't I minimizes exceeding 2 Notepad in FF? I used to be able to minimize the notebooks as much as I wanted to. FF must have made an update and now I can't do that. Is there a setting I can change that will allow me to do?

    1. Question

    Why can't I minimizes exceeding 2 Notepad in FF? I used to be able to minimize the notebooks as much as I wanted to. When I search on a topic I keep several notebook open until I finished. FF must have made an update and now I can't do that. Is there a setting I can change that will allow me to do it again?

    Also at this time, the length of the sentence, I type has changed.
    There is no limit for how far she can extend to the right.

    Help, please. I'm not very irritable and don't understand Computerese.
    Please explain in English every day.
    Thanks in advance,

    bouquet

    Bouquet,

    Great to hear that your problem is finally solved.

    Regarding 2nd query you have raised, it is not possible to have the program running if you turn OFF the computer (it's like saying you want the bulb to keep bright despite off). When stop you the machine, you turn off the power... so there is no way that the current state maintained. When start the computer again the next time it starts on new.

    But there are 2 options that can help you with your problem: -.

    1 SAVE your changes before you close the program, and choose next time when you start the computer

       File ->Open (This way your work is preserved and you need not start afresh next time onwards)
    

    2. instead of turning off the computer, choose to Hibernate. When Hibernate you (and NOT CLOSE) the current state is preserved. This means that if you leave the notebook running he will remain in the same State when you next start your computer the next time.

    PS: as this forum is for the FF to discuss related issues, I propose that for further assistance e-mail me at my personal mail ID [email protected]' rather than discuss it here on this forum

    Now your problem is solved with kindness mark this as closed discussion (marking/choice of appropriate solution helped you)

  • My iPhone 6plus had 30 GB of free space for a moment, then I must have done something where my space was taken over.  What could have only to wipe the rest of my memory?

    My iPhone 6plus had 30 GB of free space for a moment, then I must have done something where my space was taken over.  What could have only to wipe the rest of my memory?

    The first thing I would check is your photos storage configuration. You have deselected optimized storage. Tap Settings > iCloud > pictures or settings > Photos & camera, then select a storage parameter.

  • Hi, while writing an email online using Firefox 3.6.3, I was using one of the "CTRL + left arrow or right" to move the cursor on the text. I must have pressed some other key because the screen has become huge - and I can't scroll vertically or horizont

    Hi, while writing an email online using Firefox 3.6.3, I was using one of the "CTRL + left arrow or right" to move the cursor on the text. I must have pressed some other key because the screen has become huge - and I can't scroll vertically or horizontally, which makes the pages of Mail of Hotmail impossible. I have connected since using the Explorer MSFT and it works very well. This problem occurs only on the page of Mail of Hotmail Live not on the home page or other.
    Could you please let me know if there is a problem with Firefox, or if you have any advice on how to restore the appearance of Hotmail in Firefox?

    This has happened

    Just once or twice

    == I'm compiling an email in Hotmail Live

    See this:
    https://support.Mozilla.com/en-us/KB/page+zoom

Maybe you are looking for

  • Reopened FF &amp; found 2 strips not 20 + both for adding toolbars, how to stop?

    I closed and seq. Reopened an hour later - it my 20 + tabs disappeared - 2 new ones in their place. I was asked to install a Yahoo toolbar and the other wanted to my good to install a toolbar of Downloader YouTube (CDA).I don't want either and only h

  • Install firefox 4, but won't work on osx10.4.how do I get version 3.6 and all bookmarks etc.

    I downloaded firefox 4, but did not notice he needed osx10.5 that my computer is running 10.4.11 installed program ok, but when you try to open it I get the message that it does not work on my system.How to return 3.6 as firefox 4 seems to have remov

  • Keyboard failure

    HP dm4 2033cl laptop. Bought at Costco, two years ago. Most or all the keys typed the wrong letter. Some, including the return key back do nothing. This condition just appear overnight. The computer has been left. I rebooted several times.

  • High-speed router of the provider is located in the basement

    Hello I think buying a system of Vonage, unless someone has something better to offer.  My wireless router is in the basement because when Verizon Fios we passed to the fiber is the simplest installation method.  My question is this: with my router i

  • BSOD with a new samsung 850

    Separated from this thread. Hi, I have recently updated my laptop with a new samsung 850 pro 1 TB ssd and installed windows 7 from the original disc supplied with the computer, I constantly get blue screen and error of mini dump. I can't understand t