Presistent  request for JCA in OSB 11G

Hi Guys,
Here is my scenario
1. To have a JCA in OSB with publish to the JCA business service.
2. If fail to insert the service will keep on retrying.
Can i have this above scenario if the service is a async process?

I suggest using JMS for such scenarios. Post the data which you want to insert in database to a JMS queue. Let a proxy poll the JMS queue and pick the message. That proxy should try to insert the message using DB adapter (in a synchronus manner). If DB adapter fails due to any reason, message should be thrown back to JMS queue and proxy should again pick it for inserting into database from there. This process should go on untill data gets inserted.
By using above approach, you also make sure that data does not get lost in the process of insertion.
Regards,
Anuj

Similar Messages

  • SOA BAM Adapter for OSB 11g ?

    Hi,
    I would like to find out if SOA 11g BAM adapter is certified for use with OSB 11g. Please let me know if you have information regarding this.
    Thank you

    pls refer
    https://svgonugu.wordpress.com/2011/10/01/using-bam-adapter-in-osb/
    http://docs.oracle.com/cd/E14571_01/doc.1111/e15866/jca.htm

  • How to do service callout with the incoming JMS message in OSB 11g

    Hello All,
    I have a specific requirement for which I am creating a kind of POC where I need some help in OSB, however am new to OSB.
    My Environment:
    1> I have a request queue (deployed on a WLS domain) - WFReq_WS
    2> I have a response queue (deployed on a WLS domain) - WFRes_WS
    3> I have created a ProxyService (request/response type) in OSB 11g which is simply mapping the incoming message in WFReq_WS to WFRes_WS
    4> I have a WebService (it is currently a simple hello WebService for testing) which takes a string and returns the same string with an added 'Hi' in front of it (e.g. If you send Jack, it will return 'Hi Jack')
    My Requirement:
    1> I have to do some mechanism in OSB, by which while mapping the message from WFReq_WS to WFRes_WS (through the proxy service I have), it will pick the JMS message (which will be a string/text) and will make a service callout to the Webservice I mentioned using the message as the input parameter of the WebService.
    2>Now when the response of the WebService will come, OSB should send this response as the message in the response queue (WFRes_WS) I mentioned above.
    To simplify the requirement using an example:
    A> I will send a text/String message (say Jack) to the request queue (WFReq_WS)
    B> OSB should pick the message (Jack) and make a service callout to the webservice
    C> webservice will return 'Hi Jack'
    D> OSB should send this to the response queue (WFRes_WS)
    I know the above might look very basic question to the PROs, but please elaborate (step by step) what need to be done, since I do not know OSB.
    Thanks a lot for your help !

    Your example points A and D are easily done by having a "Proxy Service" which has the following details:
    Service Type = Messaging Service
    Request and Response type = Text
    Protocol = jms
    Endpoint URI = your request queue (format like 'jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueJNDIName')
    Checkmark "response" so that the proxy service automatically delivers the response to another queue - your response queue
    Response URI = jms://localhost:7013/weblogic.jms.XAConnectionFactory/QueueResponse
    Now since your "Hello" webservice is (probably) a SOAP xml service you need to "convert" your text based JMS message to xml before sending it on to the "Hello" service.
    Your JMS proxy can do that by just doing a "Assign <whom>{$body/text()}</whom>" to a variable (lets call it 'reqHello')
    Now your JMS proxy should actually call the Hello service and since your JMS proxy is text and the Hello service is SOAP you cannot just "pass" on to the Hello service in a "Route to". Instead you can do a Service Callout where you can specify your "reqHello" variable as payload and a "respHello" as response variable.
    Now you have the "<whom>Hi jack</whom>" in the response variable and since the JMS response needs to be text format you can "extract" the text value into the body variable of the JMS proxy (use "replace /* in body with $respHello/text()" - replace node contents)
    The actual Hello service is a simple "SOAP" based Proxy Service. Add a pipeline and add a stage in the reponse pipeline. Do a ...
    Assign fn:concat("Hi ",$body/whom/text()) to $whomVar
    Replace whom in body with $whomVar (replace node contents)

  • OWSM 11gR1 PS2 agent to secure OSB 11g business service

    Hi,
    Can anyone share any resources/information on how to secure an OSB 11g business service by using OWSM 11g agent? Its a new feature released with OWSM 11gR1 PS2 (11.1.1.3.0) release. Also, can we do the same for OSB 10g?
    Thanks,
    Bijoy

    Hi Bijoy,
    Documentation is here (for PS2 with OSB 11g)-
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15866/owsm.htm#CHDEEGJI
    can we do the same for OSB 10g?No, it is not supported.
    Regards,
    Anuj

  • Disabling Request for Other option

    Hi,
    Could you please let me know how to disable (not show the user) Request for Other option while raising request if a user is not having the permission to raise the request for others in OIM 11g.
    Thanks

    Below link have all the explanation
    http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/uicust.htm#BABHBFGH
    you can put EL expression against Visible or Rendered property of that attribute
    For ex:
    select the attribute on the page and click on customization link(create sandbox before this). now edit the property for this attribute and set Visible property like below
    #{oimcontext.currentUser.roles['SYSTEM ADMINISTRATORS'] != null}
    In above case the given attribute only visible if he/she is system administrator. It won't be visible to the end users

  • Using DB Adapter for MS SQL Server 2005  SP in OSB 11g.

    Hi All,
    I have a requirement to create a DB Adapter for MS SQL Server Stored Procedure in JDeveloper and export the Adapter file to OSB 11g. I have Created the Adapter and imported it into OSB 11g successfully. Created the Datasource and Connection pool also in console.
    The problem is while trying to execute the created business Service, I am getting the error as below,
    <Oct 26, 2012 12:20:25 PM IST> <Error> <JCATransport> <BEA-381967> <Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/Test/CheckAppID/WL_Driver/CheckAppId_WL_Driver [ CheckAppId_WL_Driver_ptt::CheckAppId_WL_Driver(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'CheckAppId_WL_Driver' failed due to: Unimplemented string conversion.
    Conversion of JDBC type to String is not supported.
    An attempt was made to convert a Java object to String using an unsupported JDBC type: .
    ; nested exception is:
         BINDING.JCA-11804
    Unimplemented string conversion.
    My XSD is ,
    <element name="InputParameters">
    <complexType>
    <sequence>
    <element name="application_id" type="int" db:index="1" db:type="INT" minOccurs="0" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <element name="OutputParameters">
    <complexType>
    <sequence>
    <element name="RowSet0" type="db:RowSet0_RowSet" db:type="RowSet0" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    <element name="RowSet1" type="db:RowSet1_RowSet" db:type="RowSet1" minOccurs="0" maxOccurs="unbounded" nillable="true"/>
    </sequence>
    </complexType>
    </element>
    <complexType name="RowSet1_RowSet">
    <sequence>
    <element name="RowSet1_Row" minOccurs="0" maxOccurs="unbounded">
    <complexType>
    <sequence>
    <element name="cde" type="int" db:type="INT" minOccurs="0" nillable="true"/>
    <element name="msg" db:type="NVARCHAR" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="255"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    <complexType name="RowSet0_RowSet">
    <sequence>
    <element name="RowSet0_Row" minOccurs="0" maxOccurs="unbounded">
    <complexType>
    <sequence>
    <element name="aaa" type="boolean" db:type="BIT" minOccurs="0" nillable="true"/>
    <element name="bbb" db:type="NVARCHAR" minOccurs="0" nillable="true">
    <simpleType>
    <restriction base="string">
    <maxLength value="10"/>
    </restriction>
    </simpleType>
    </element>
    </sequence>
    </complexType>
    </element>
    </sequence>
    </complexType>
    I don't know why there is a datatype conversion error.
    Help me in resolving this.
    Regards,
    Nataraj R.

    Hi,
    I believe NVARCHAR is an unsupported type...
    The following document lists the supported data types for SQL Server stored procedures and functions... NVARCHAR is not in the list... :-(
    http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/adptr_db.htm#CHDEBEEE
    Hope this helps...
    Cheers,
    Vlad

  • How to increase JVM memory for Web Logic 10.3.3 - OSB 11g

    Hello folks,
    I am running OSB 11g on WebLogic 10.3.3 to call some services passing large XMLs requests. These XMLs are something around 10mb each. Unfortunately, I got errors regarding memory.
    I am using Eclipse with OSB plugin to develop, and I have configured the weblogic server to start up it from the eclipse, thus I don't need to start up through command line.
    I would like to know where I can change the memory arguments to start up the JVM which runs the WebLogic server. As I am starting up the server from eclipse, I can't change the memory size args from command line.
    Is there a file where those arguments are stored? or some configuration on WebLogic console which I can increase the Xms and Xmx ?
    The JVM is jrockit_160_17_R28.0.0-679
    This is the eclipse console output when the server is starting up:
    JAVA Memory arguments: -Xms256m -Xmx512m
    WLS Start Mode=Development
    CLASSPATH=C:\Davi\osb\mw_1033\WLSERV~1.3\server\ext\jdbc\oracle\11g\ojdbc6dms.jar;;C:\Davi\osb\mw_1033\OSB_OR~1\modules\features\osb.server.modules_11.1.1.3.jar;C:\Davi\osb\mw_1033\patch_wls1033\profiles\default\sys_manifest_classpath\weblogic_patch.jar;C:\Davi\osb\mw_1033\patch_oepe1033\profiles\default\sys_manifest_classpath\weblogic_patch.jar;C:\Davi\osb\mw_1033\JROCKI~1.0-6\lib\tools.jar;C:\Davi\osb\mw_1033\WLSERV~1.3\server\lib\weblogic_sp.jar;C:\Davi\osb\mw_1033\WLSERV~1.3\server\lib\weblogic.jar;C:\Davi\osb\mw_1033\modules\features\weblogic.server.modules_10.3.3.0.jar;C:\Davi\osb\mw_1033\WLSERV~1.3\server\lib\webservices.jar;C:\Davi\osb\mw_1033\modules\ORGAPA~1.1/lib/ant-all.jar;C:\Davi\osb\mw_1033\modules\NETSFA~1.0_1/lib/ant-contrib.jar;C:\Davi\osb\mw_1033\osb_ora11g\soa\modules\oracle.soa.common.adapters_11.1.1\oracle.soa.common.adapters.jar;C:\Davi\osb\mw_1033\ORACLE~1\modules\oracle.jrf_11.1.1\jrf.jar;C:\Davi\osb\mw_1033\OSB_OR~1\lib\version.jar;C:\Davi\osb\mw_1033\OSB_OR~1\lib\alsb.jar;C:\Davi\osb\mw_1033\OSB_OR~1\3rdparty\lib\j2ssh-ant.jar;C:\Davi\osb\mw_1033\OSB_OR~1\3rdparty\lib\j2ssh-common.jar;C:\Davi\osb\mw_1033\OSB_OR~1\3rdparty\lib\j2ssh-core.jar;C:\Davi\osb\mw_1033\OSB_OR~1\3rdparty\lib\j2ssh-dameon.jar;C:\Davi\osb\mw_1033\OSB_OR~1\3rdparty\classes;C:\Davi\osb\mw_1033\OSB_OR~1\lib\external\log4j_1.2.8.jar;C:\Davi\osb\domains\INFOLE~1\config\osb;C:\Davi\osb\mw_1033\WLSERV~1.3\common\derby\lib\derbynet.jar;C:\Davi\osb\mw_1033\WLSERV~1.3\common\derby\lib\derbyclient.jar;C:\Davi\osb\mw_1033\WLSERV~1.3\server\lib\xqrl.jar
    PATH=C:\Davi\osb\mw_1033\patch_wls1033\profiles\default\native;C:\Davi\osb\mw_1033\patch_oepe1033\profiles\default\native;C:\Davi\osb\mw_1033\WLSERV~1.3\server\native\win\32;C:\Davi\osb\mw_1033\WLSERV~1.3\server\bin;C:\Davi\osb\mw_1033\modules\ORGAPA~1.1\bin;C:\Davi\osb\mw_1033\JROCKI~1.0-6\jre\bin;C:\Davi\osb\mw_1033\JROCKI~1.0-6\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Application Virtualization Client;C:\Program Files\Attachmate\Reflection\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Davi\osb\mw_1033\WLSERV~1.3\server\native\win\32\oci920_8
    * To start WebLogic Server, use a username and *
    * password assigned to an admin-level user. For *
    * server administration, use the WebLogic Server *
    * console at http:\\hostname:port\console *
    starting weblogic with Java version:
    java version "1.6.0_17"
    Java(TM) SE Runtime Environment (build 1.6.0_17-b04)
    Oracle JRockit(R) (build R28.0.0-679-130297-1.6.0_17-20100312-2123-windows-ia32, compiled mode)
    Starting WLS with line:
    C:\Davi\osb\mw_1033\JROCKI~1.0-6\bin\java -jrockit -Xms256m -Xmx512m -Dweblogic.Name=AdminServer -Djava.security.policy=C:\Davi\osb\mw_1033\WLSERV~1.3\server\lib\weblogic.policy -Xverify:none -da -Dplatform.home=C:\Davi\osb\mw_1033\WLSERV~1.3 -Dwls.home=C:\Davi\osb\mw_1033\WLSERV~1.3\server -Dweblogic.home=C:\Davi\osb\mw_1033\WLSERV~1.3\server -Ddomain.home=C:\Davi\osb\domains\INFOLE~1 -Dcommon.components.home=C:\Davi\osb\mw_1033\ORACLE~1 -Djrf.version=11.1.1 -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger -Djrockit.optfile=C:\Davi\osb\mw_1033\ORACLE~1\modules\oracle.jrf_11.1.1\jrocket_optfile.txt -Doracle.domain.config.dir=C:\Davi\osb\domains\INFOLE~1\config\FMWCON~1 -Doracle.server.config.dir=C:\Davi\osb\domains\INFOLE~1\config\FMWCON~1\servers\AdminServer -Doracle.security.jps.config=C:\Davi\osb\domains\INFOLE~1\config\fmwconfig\jps-config.xml -Djava.protocol.handler.pkgs=oracle.mds.net.protocol -Digf.arisidbeans.carmlloc=C:\Davi\osb\domains\INFOLE~1\config\FMWCON~1\carml -Digf.arisidstack.home=C:\Davi\osb\domains\INFOLE~1\config\FMWCON~1\arisidprovider -Dweblogic.alternateTypesDirectory=C:\Davi\osb\mw_1033\ORACLE~1\modules\oracle.ossoiap_11.1.1,C:\Davi\osb\mw_1033\ORACLE~1\modules\oracle.oamprovider_11.1.1 -Dweblogic.jdbc.remoteEnabled=false -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=C:\Davi\osb\mw_1033\patch_wls1033\profiles\default\sysext_manifest_classpath;C:\Davi\osb\mw_1033\patch_oepe1033\profiles\default\sysext_manifest_classpath weblogic.Server
    Thanks in advance,
    Davinod
    Edited by: user13631313 on Jan 10, 2011 10:07 AM

    Hi Davinod,
    Yes, the correct place is to change the memory arguments in the "setDomainEnv.cmd", however can you confirm if the changed memory arguments were reflected in the logs or not.
    If yes then you need to try to increase the memory arguments again and test which is the best working memory argument suitable for your environment, this would take some trials.
    However if the memory arguments are still not reflected then try to set it properly as shown below:
    set MEM_ARGS=-Xms1024m -Xmx1024m
    Regards,
    Ravish Mody
    http://middlewaremagic.com/weblogic/
    Come, Join Us and Experience The Magic…

  • OSB 11g - JCA transport

    Hi,
    I have just installed OSB 11g and it seems like JCA transport is not there in the Proxy/Business service - Transport tab.
    I have checked OEPE plugins folder and JCA transport folder is empty.
    Is this like my installation is not proper or I have to do some configuration for JCA?
    I have tried creating a JCA db adapter using 10g Jdev and it didnt work, error message when creating business service is " WSDL contains a tranport not supported".
    Please help.
    Regards,
    AP

    Hi all,
    I've followed the JCA DB Adapter with OSB tutorial at:
    http://www.oracle.com/technology/sample_code/products/osb/index.html
    I'm using OSB 11gR1 and JDeveloper 11gR1 11.1.1.3.0 Build JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660
    First, the JCA DB Adapter wsdl file generated by JDeveloper using the DB Adapter wizard doesn't carry binding and port information for the wsdl. I've configured a pool table adapter with the DB Adapter wizard.
    So I've generated the JCA binding and port manually using the WSDL design view inside JDev.
    Next when I try to create a proxy service within OSB, it says that: "The WSDL contains a binding not supported by OSB."
    Has anyone faced this before? Hints appreciated...
    Here's the WSDL:
    <?binding.jca DatabaseInbound_db.jca?>
    <wsdl:definitions name="DatabaseInbound" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/DBContent/DBProject/DatabaseInbound" xmlns:tns="http://xmlns.oracle.com/pcbpel/adapter/db/DBContent/DBProject/DatabaseInbound" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:top="http://xmlns.oracle.com/pcbpel/adapter/db/top/DatabaseInbound"
    xmlns:jca="http://schemas.xmlsoap.org/wsdl/jca/"
    xmlns:format="http://schemas.xmlsoap.org/wsdl/formatbinding/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
    <plt:partnerLinkType name="DatabaseInbound_plt">
    <plt:role name="DatabaseInbound_role">
    <plt:portType name="tns:DatabaseInbound_ptt"/>
    </plt:role>
    </plt:partnerLinkType>
    <wsdl:types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://xmlns.oracle.com/pcbpel/adapter/db/top/DatabaseInbound" schemaLocation="xsd/DatabaseInbound_table.xsd"/>
    </schema>
    </wsdl:types>
    <wsdl:message name="CustomerCollection_msg">
    <wsdl:part name="CustomerCollection" element="top:CustomerCollection"/>
    </wsdl:message>
    <wsdl:portType name="DatabaseInbound_ptt">
    <wsdl:operation name="receive">
    <wsdl:input message="tns:CustomerCollection_msg"/>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:service name="DatabaseInbound">
    <wsdl:port name="DatabaseInbound_pt"
    binding="tns:DatabaseInbound_binding"/>
    </wsdl:service>
    <wsdl:binding name="DatabaseInbound_binding" type="tns:DatabaseInbound_ptt">
    <jca:binding/>
    <format:typeMapping encoding="Java" style="Java">
    <format:typeMap typeName="top:CustomerCollection" formatType=""/>
    </format:typeMapping>
    <wsdl:operation name="receive">
    <jca:operation methodName="receive" InteractionSpec=""/>
    <wsdl:input>
    <jca:header/>
    </wsdl:input>
    </wsdl:operation>
    </wsdl:binding>
    </wsdl:definitions>

  • The danger of memory target in Oracle 11g - request for discussion.

    Hello, everyone.
    This is not a question, but kind of request for discussion.
    I believe that many of you heard something about automatic memory management in Oracle 11g.
    The concept is that Oracle manages the target size of SGA and PGA. Yes, believe it or not, all we have to do is just to tell Oracle how much memory it can use.
    But I have a big concern on this. The optimizer takes the PGA size into consideration when calculating the cost of sort-related operations.
    So what would happen when Oracle dynamically changes the target size of PGA? Following is a simple demonstration of my concern.
    UKJA@ukja116> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    -- Configuration
    *.memory_target=350m
    *.memory_max_target=350m
    create table t1(c1 int, c2 char(100));
    create table t2(c1 int, c2 char(100));
    insert into t1 select level, level from dual connect by level <= 10000;
    insert into t2 select level, level from dual connect by level <= 10000;
    -- First 10053 trace
    alter session set events '10053 trace name context forever, level 1';
    select /*+ use_hash(t1 t2) */ count(*)
    from t1, t2
    where t1.c1 = t2.c1 and t1.c2 = t2.c2
    alter session set events '10053 trace name context off';
    -- Do aggressive hard parse to make Oracle dynamically change the size of memory segments.
    declare
      pat1     varchar2(1000);
      pat2     varchar2(1000);
      va       number;
      vc       sys_refcursor;
      vs        varchar2(1000);
    begin
      select ksppstvl into pat1
        from sys.xm$ksppi i, sys.xm$ksppcv v   -- views for x$ table
        where i.indx = v.indx
        and i.ksppinm = '__pga_aggregate_target';
      for idx in 1 .. 10000000 loop
        execute immediate 'select count(*) from t1 where rownum = ' || (idx+1)
              into va;
        if mod(idx, 1000) = 0 then
          sys.dbms_system.ksdwrt(2, idx || 'th execution');
          select ksppstvl into pat2
          from sys.xm$ksppi i, sys.xm$ksppcv v   -- views for x$ table
          where i.indx = v.indx
          and i.ksppinm = '__pga_aggregate_target';
          if pat1 <> pat2 then
            sys.dbms_system.ksdwrt(2, 'yep, I got it!');
            exit;
          end if;
        end if;
      end loop;
    end;
    -- As to alert log file,
    25000th execution
    26000th execution
    27000th execution
    28000th execution
    29000th execution
    30000th execution
    yep, I got it! <-- the pga target changed with 30000th hard parse
    -- Second 10053 trace for same query
    alter session set events '10053 trace name context forever, level 1';
    select /*+ use_hash(t1 t2) */ count(*)
    from t1, t2
    where t1.c1 = t2.c1 and t1.c2 = t2.c2
    alter session set events '10053 trace name context off';With above test case, I found that
    1. Oracle invalidates the query when internal pga aggregate size changes, which is quite natural.
    2. With changed pga aggregate size, Oracle recalculates the cost. These are excerpts from the both of the 10053 trace files.
    -- First 10053 trace file
    PARAMETERS USED BY THE OPTIMIZER
      PARAMETERS WITH ALTERED VALUES
    Compilation Environment Dump
    _smm_max_size                       = 11468 KB
    _smm_px_max_size                    = 28672 KB
    optimizer_use_sql_plan_baselines    = false
    optimizer_use_invisible_indexes     = true
    -- Second 10053 trace file
    PARAMETERS USED BY THE OPTIMIZER
      PARAMETERS WITH ALTERED VALUES
    Compilation Environment Dump
    _smm_max_size                       = 13107 KB
    _smm_px_max_size                    = 32768 KB
    optimizer_use_sql_plan_baselines    = false
    optimizer_use_invisible_indexes     = true
    Bug Fix Control Environment10053 trace file clearly says that Oracle recalculates the cost of the query with the change of internal pga aggregate target size. So, there is a great danger of unexpected plan change while Oracle dynamically controls the memory segments.
    I believe that this is a desinged behavior, but the negative side effect is not negligible.
    I just like to hear your opinions on this behavior.
    Do you think that this is acceptable? Or is this another great feature that nobody wants to use like automatic tuning advisor?
    ================================
    Dion Cho - Oracle Performance Storyteller
    http://dioncho.wordpress.com (english)
    http://ukja.tistory.com (korean)
    ================================

    I made a slight modification with my test case to have mixed workloads of hard parse and logical reads.
    *.memory_target=200m
    *.memory_max_target=200m
    create table t3(c1 int, c2 char(1000));
    insert into t3 select level, level from dual connect by level <= 50000;
    declare
      pat1     varchar2(1000);
      pat2     varchar2(1000);
      va       number;
    begin
      select ksppstvl into pat1
        from sys.xm$ksppi i, sys.xm$ksppcv v
        where i.indx = v.indx
        and i.ksppinm = '__pga_aggregate_target';
      for idx in 1 .. 1000000 loop
        -- try many patterns here!
        execute immediate 'select count(*) from t3 where 10 = mod('||idx||',10)+1' into va;
        if mod(idx, 100) = 0 then
          sys.dbms_system.ksdwrt(2, idx || 'th execution');
          for p in (select ksppinm, ksppstvl
              from sys.xm$ksppi i, sys.xm$ksppcv v
              where i.indx = v.indx
              and i.ksppinm in ('__shared_pool_size', '__db_cache_size', '__pga_aggregate_target')) loop
              sys.dbms_system.ksdwrt(2, p.ksppinm || ' = ' || p.ksppstvl);
          end loop;
          select ksppstvl into pat2
          from sys.xm$ksppi i, sys.xm$ksppcv v
          where i.indx = v.indx
          and i.ksppinm = '__pga_aggregate_target';
          if pat1 <> pat2 then
            sys.dbms_system.ksdwrt(2, 'yep, I got it! pat1=' || pat1 ||', pat2='||pat2);
            exit;
          end if;
        end if;
      end loop;
    end;
    /This test case showed expected and reasonable result, like following:
    100th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    200th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    300th execution
    __shared_pool_size = 88080384
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    400th execution
    __shared_pool_size = 92274688
    __db_cache_size = 16777216
    __pga_aggregate_target = 83886080
    500th execution
    __shared_pool_size = 88080384
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    1100th execution
    __shared_pool_size = 92274688
    __db_cache_size = 20971520
    __pga_aggregate_target = 83886080
    1200th execution
    __shared_pool_size = 92274688
    __db_cache_size = 37748736
    __pga_aggregate_target = 58720256
    yep, I got it! pat1=83886080, pat2=58720256Oracle continued being bounced between shared pool and buffer cache size, and about 1200th execution Oracle suddenly stole some memory from PGA target area to increase db cache size.
    (I'm still in dark age on this automatic memory target management of 11g. More research in need!)
    I think that this is very clear and natural behavior. I just want to point out that this would result in unwanted catastrophe under special cases, especially with some logic holes and bugs.
    ================================
    Dion Cho - Oracle Performance Storyteller
    http://dioncho.wordpress.com (english)
    http://ukja.tistory.com (korean)
    ================================

  • Error for osb (11g ps2) cluster

    I setup a 2 nodes osb (11g ps2) cluster env in my linux laptop. Everything is OK except the below error message, it's from the managed servers log. Anybody can help me, thanks a lot.
    <2010-11-23 下午05时51分00秒 CST> <Error> <ALSB Statistics Manager> <BEA-473003> <Aggregation Server Not Available. Failed to get remote aggregator
    java.lang.IllegalArgumentException: Server 'null' not found
         at com.bea.alsb.platform.weblogic.WlsDomainConfigurationImpl.getServer(WlsDomainConfigurationImpl.java:98)
         at com.bea.alsb.platform.weblogic.WlsDomainConfigurationImpl.getAggregationServer(WlsDomainConfigurationImpl.java:119)
         at com.bea.wli.monitoring.statistics.ALSBStatisticsManager.getRemoteAggregator(ALSBStatisticsManager.java:291)
         at com.bea.wli.monitoring.statistics.ALSBStatisticsManager.access$000(ALSBStatisticsManager.java:38)
         at com.bea.wli.monitoring.statistics.ALSBStatisticsManager$RemoteAggregatorProxy.send(ALSBStatisticsManager.java:55)
         Truncated. see log file for complete stacktrace
    >

    Please test it properly.. As far as I know 'ALSB Domain Singleton Marker Application' should be targeted to only a single instance and not to a cluster. Check if your monitoring and SLA alerting is working fine.
    If you have setup the cluster properly, ( by specifying the correct listen addresses for the servers and the cluster), weblogic clustering will replicate jndi in all the managed servers . So all the jndi objects binded on the targeted server by this application , will be available on the jndi tree of the other man server and applications running on other server will be able to lookup the object in its local tree.. (I think the original error you were seeing was due to a failure of this).
    I think you applied a wrong fix by targeting to the cluster. Hence objects are binded to both the servers without jndi replication. This might have adverse effect on how the above singleton application works. Root cause for the problem should be with the clustering setup.

  • AQMP protocol support for OSB 11g

    Hi all,
       We are using OSB as our middleware tool in our project.we got a new requirement for integration.The requirement is that OSB need to communicate with an application which supports AQMP protocol.I heard that aqmp is JMS based protocol.
    My query is that can we access the AQMP based queue via OSB using foreign jms server.
    Regards,
    Ganesh

    Hello Jay,
    OSB 11g supports SAML V1.1
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15866/saml.htm#i1062321
    Regards,
    Anuj

  • Create approval request  for Delete User operati with oim api -11g Release2

    Hi,
    How I can create an approval request for a User Delete operation usin API? Can anyone quide me? Any help is strongly appreciated..
    BR,
    Aliye

    You can use the exact same technique for any of the other requests submissions through APIs that have been posted on this message forum. Just supply the template name for your request template you plan to use.
    Here is a page of sample code for requests. http://java.net/projects/openptk/sources/svn/show/branches/Oracle/OIM11g/examples/java/OIMClient/src/oim/client/request?rev=1402
    -Kevin

  • SAML Support for OSB 11g

    Is SAML 2.0 supported in OSB 11g?
    Thanks,
    jay

    Hello Jay,
    OSB 11g supports SAML V1.1
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15866/saml.htm#i1062321
    Regards,
    Anuj

  • Oracle OSB 11G. Unable to find Oracle Service Bus Configuration Page.

    Hi All,
    Sorry for the apparent silly question but I am studying and learning the product.
    I have the OSB 11G installed and running with a proxy service working and routing requests. The Oracle ESB documentation http://download.oracle.com/docs/cd/E21764_01/doc.1111/e15866/ui_ref.htm#i1327746 at chapter 4.4.2 New Oracle Service Bus Configuration Project Wizard
    Use this wizard to create an Oracle Service Bus configuration project. For configuration options, see Section 4.4.3, "Oracle Service Bus Configuration Page."
    4.4.3 Oracle Service Bus Configuration Page.
    I don't see the configuration page in anywhere in the left pane of the console. Am I missing something? The project creation works fine but I just don't see the configuration Wizard.
    Thanks.
    Regards
    Salvatore Ilardo

    The link which you are referring is for user interface objects in the Oracle Service Bus plug-ins and OSB plug-ins are used with OEPE (Oracle Enterprise Pack for Ecplise) for OSB development. OEPE is the only supported IDE for OSB development as of now.
    Remember, at a time, one and only one Oracle Service Bus Configuration project can be deployed in a OSB domain which may contain desired number of Oracle Service Bus Projects and that's why there is no provision of creating Oracle Service Bus Configuration Project in sbconsole GUI. In IDE, you may create many Oracle Service Bus Configuration Project and that's why it has a Oracle Service Bus Configuration Project Wizard.
    Regards,
    Anuj

  • Custom OWSM Authorization Policy Not Visible in OSB 11g

    I am trying to configure custom OWSM authorization policies to grant web service access in OSB to userids associated with custom WebLogic groups. Both OSB and SOA are version 11.1.1.5 with an Oracle Enterprise 11g database backend. To help rule out some possible operational errors, here are things that ARE working with the combination of SOA and OSB servcies:
    * the underlying SOA service functions in the /em console test page
    * the OSB proxy service works from the /sbconsole test page with OWSM oracle/wss_username_token_policy enabled
    * the oracle/log_policy can be added to the OSB business service and generates log entries
    * the outer proxy service can be successfully invoked from a remote client with no security policies,
    with HTTP transport security and authorization policies and with OWSM authentication policies
    attached (given the correct request payloads)
    These findings would appear to rule out connection errors from the OSB engine to the jdbc/mds/owsm DataSource or proper startup of the "OWSM Policy Support in OSB Initializer Application" service within WebLogic. (By the way, that deploys with a typo in its registered name -- "Aplication" with a single p.)
    Here are the steps that were performed:
    1) created group myfirmIdentityData in WebLogic console (/console)
    2) created userid myappuser in WebLogic console
    3) added myappuser to the myfirmIdentityData group in WebLogic console
    4) cloned the oracle/component_authorization_permitall Security policy to myfirm/authorize_IdentityData
    using the Fusion console (/em on the SOA domain)
    5) edied myfirm/authorize_IdentityData to add the "role" myfirmIdentityGroup to the
    list of permitted roles (***)
    *** note -- "roles" referenced within the OWSM policy configuration dialogs actually correspond to "groups" at the WebLogic Server level. A bit confusing at first but harmless.
    6) accessed the SOA service in the Fusion console (/em), clicked on the Policies tab and verified
    the myfirm/authorize_IdentityData policy is available for application to the SOA service (BUT DID
    NOT ATTACH IT HERE -- I'm trying to attach it at the "outer" layer in OSB, not SOA Suite)
    7) accessed the Service Bus console (/sbconsole), started a change session, selected the
    proxy service, then clicked on the Policies tab, then clicked the Add button in the
    Service Level Policies section
    At that point, the only services listed are the factory supplied oracle/********* policies. There are two pages listed and flipping between the two doesn't show any other policies other than the oracle/***** policies.
    I even tried stopping and starting the domain thinking maybe OSB caches all of the OWSM policies at startup rather than querying the mds_owsm schema dynamically to no avail. No myfirm/****** policies are displayed after a domain restart.
    Any insight?
    Thanks.

    Once again, I wound up opening a Support Request with the TAC for direction on this issue. The policies were not appearing for assignment to OSB proxy / business services because they were being created against the wrong type of object within OWSM.
    In a nutshell, policies in OWSM can be created to be applied against:
    * Components --- only usable against SOA services
    * Service Endpoints --- against URLs used as access points into services
    * Service Clients -- against consumers of services as identified by credentials
    * All -- all of the above
    However, policies built against Components can only be applied to SOA composite services. When I cloned the existing oracle/component_authorization_permitall Security policy to myfirm/authorize_IdentityData policy then limited it to the myfirmIdentityGroup group, that policy would only be assignable to SOA composities since it applied to only Components.
    To allow the group based authorization policy to be enforced in the outer OSB tier, the oracle/binding_authorization_permitall_policy was cloned to myfirm/authorize_IdentityGroup. That policy was defined to apply to endpoints and once saved, appeared in the GUI of the Service Bus console to assign to the proxy service for the service being implemented. A second component policy named myfirm/componentauthorize_IdentityGroup was cloned from oracle/component_authorize_permitall_policy to perform the group authorization at the SOA layer.
    A different issue is being encountered configuring the OSB business service to forward the OWSM headers from the outer proxy service to the SOA service so the authorization succeeds at the inner layer but that's a different problem. With the SOA layer authorization policy disabled, client tests to the proxy service function correctly with a userid in the myfirmIdentityGroup group and generate an authorization failure when another client credential is used that does not belong to myfirmIdentityGroup.

Maybe you are looking for

  • How to delete pics from Ipad

    I would like to delete several pictures from my photos but do not understand how to do this?

  • Rule Forwarded Messages are NOT in Sent folder

    I have several rules which filter & automatically forward messages elsewhere. The forward works most of the time BUT it does not appear in my Sent folder. Any insight or help would be appreciated... Robyn Message was edited by: derryhumma

  • Delete overlapping requests from ODS

    Hi, Since it iss not possible to delete overlapping requests from an ods by any automated process like in info cube. Can we still delete overlapping request using abap code or the only way to do it is to delete  data (selective deletion) in a start r

  • "Safari can't find the server" - connection issues under Lion

    Hi there, Since upgrading to Lion, Safari has been displaying this odd and annoying behaviour, where, for some links to some web resources (like maybe 2 clicked links out of 10), it throws up a grey error page telling me it can't find the server (scr

  • I have done an erase and install but my printer is there

    Hello all, I have installed Leopard with an erase and install and come across that there is some printer information. Automatically, Leopard has the Photosmart C6100 as the printer and I cannot remove that. Why is that? Thank you