Weird processing in Oracle B2B

i've sent 1000 msgs out via AS2 to my TP, then all the files in WaitAck state.
after a few minutes, i saw 1 of the 1000 files(msgid = 6511) turn to Complete state.
but when i check again later, file 6511 turned back to WaitAck and retrycount became 2 and this process run in a loop till the retrycount = 0 and file turned into Error state.
it cause my production server goes very slow and create a lot of error.
i hope you can understand my case, and this is our production machine.
i have to fix it fast.
hope anyone here can guide/help me on this.

i face another weird behaviour of Oracle B2B, i wonder this is normal.
i'm testing with my TP, they are sending 9000 msg to us, meanwhile i'm trying to send 5000 msg to them.
my B2B receive document very fast and send back MDN, but i cant send all the document out which i suppose to send them 5000.
currently 300++ file stuck in IP_OUT_QUEUE.
kinwah

Similar Messages

  • Suggestion needed for processing Big Files in Oracle B2B

    Hi,
    We are doing a feasibility study for Using Oracle AS Integration B2B over TIBCO. We are presently using TIBCO for our B2B transactions. Now since my client company planning to Implement Fusion Middleware (Oracle ESB and Oracle BPEL), we are also looking at Oracle AS Integration B2B for B2B transactions (On other words we are planning to replace TIBCO by Oracle Integration B2B if possible).
    I am really concern about one thing that is receiving and processing any "BIG FILE" (15 MB of size) from trading partner.
    Present Scenario: One of our trading partner is sending Invoice documents in a single file and that file size can grow upto 15 MB of size. In our existing scenario when we receive such big files from trading partner (through TIBCO Business Connect - BC), Tibco BC works fine for 1 or 2 files but it crashes once it received multiple files of such size. What exactly happening is Whatever Memory that TIBCO BC is consuming to receive one such big file, are not getting released after processing and as a result TIBCO BC throws "OUT OF MEMORY" error after processing some files.
    My questions:
         1. How robust the Oracle AS Integration B2B is, in terms of processing such big files?
         2. Is there any upper limit in terms of size that Oracle AS Integration B2B can handle for receiving and processing data?
         3. What is the average time required to receive and process such big file? (Lets say we are talking about 15MB of size).
         4. Is there any documentation availble that talks about any such big files through Oracle B2B?
    Please let me know if you need more information.
    Thanks in advance.
    Regards,
    --Kaushik                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Ramesh,
    Thanks for your comment. We will try to do POC ASAP. I will definitely keep in touch with you during this.
    Thanks bunch.
    Regards,
    --Kaushik                                                                                                                                                                                                                                                                                                                               

  • How to get the file name from Oracle B2B 10g

    Hi My requirement is I am getting a CSV file from Trading partner, I am using oracle 10g b2b to translate the data.
    In my BPEL 10g I am using AQ adapter to get the message from IP_IN_QUEUE.
    Now I want to get the file name Eg: SampleFile.dat of the CSV file in my BPEL process.
    I tried using the b2b.filename property in the receive activity and it is not getting the file name.
    <sequence name="main">
        <receive name="Receive_Note" partnerLink="GetB2BNote"
                 portType="ns1:Dequeue_ptt" operation="Dequeue"
                 variable="Receive_Note_Dequeue_InputVariable"
                 createInstance="yes">
                 <bpelx:property name="b2b.fileName" variable="WriteFileName"/>
        </receive>
      </sequence>
    Can you help me to get the file name from Oracle b2b 10g ?
    Thanks,
    b2b user

    Hi My requirement is I am getting a CSV file from Trading partner, I am using oracle 10g b2b to translate the data.
    In my BPEL 10g I am using AQ adapter to get the message from IP_IN_QUEUE.
    Now I want to get the file name Eg: SampleFile.dat of the CSV file in my BPEL process.
    I tried using the b2b.filename property in the receive activity and it is not getting the file name.
    <sequence name="main">
        <receive name="Receive_Note" partnerLink="GetB2BNote"
                 portType="ns1:Dequeue_ptt" operation="Dequeue"
                 variable="Receive_Note_Dequeue_InputVariable"
                 createInstance="yes">
                 <bpelx:property name="b2b.fileName" variable="WriteFileName"/>
        </receive>
      </sequence>
    Can you help me to get the file name from Oracle b2b 10g ?
    Thanks,
    b2b user

  • Unable to transform EDI document to XML payload in Oracle B2B inbound op

    Hi,
    In our current project we would be implementing Oracle B2B.So I am doing simple POC on Oracle B2B inbound operation for a EDI document for a project requirement.Facing issue if Transformation option selected in Oracle B2B console. Would really appreciate if you guys give me some pointer..
    Below is short desacription of POC:
    1) Created ECS file for Purchase Order(EDI_X12 Standard, 850, Version : 4010) in Spec Builder 6.6.0
    2) Created corresponding XSD and dummy test EDI data file(.dat) in Spec Builder 6.6.0
    3) In Oracle B2B Console, created Document Type and Document Definition
    4) Created 2 Trading Partners : Our Organisation(Host) and MyPartner(Remote)
    5) My Partner is Sender and Our Organisation is Receiver
    6) Linked Document Type to both Trading Partners
    7) Created a Listening Channel
    8) Protocol of Listening Channel is Generic File
    9) Mentioned Folder Path and File Type : %From PARTY%_%TO PARTY%_%DOCUMENT TYPE NAME_%DOCUMENT REVISION%.dat
    10) Agrrement validated and deployed
    11)Checked option Transformation for Agreement
    12) In SOA Composite created a simple Asynchronous BPEL process
    13) BPEL process using a B2B Adapter is subscribed to Document Type(Purchase Order) operatioon Receive and Mode Default
    14) Using a simple Assiign activity to map payload
    15) BPEL then inoke a File Adapter service to write sme XML payload(picked from B2B fatre EDI transformed to XML) to a file
    Issue Faced:
    1) B2B could make oput Sender and Receiver Trading Partners
    2) B2B could make out the Agrrement
    3) B2B is picking up EDI file
    4) If Agreemnet has Transformation option selected, then B2B is givinng below Error:
    [oracle.soa.b2b.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@182461f] [userId: <anonymous>] [ecid: 0000JILzvC2E0Va_xLp2iW1EzqZ_0000pg,0] [APP: soa-infra] [dcid: 162dbcacafdb4641:19e705e4:13495b34174:-7fd3-0000000000000070] java.lang.UnsatisfiedLinkError: com.edifecs.xengine.xeobjects.XEHelper.createN2XNative()Lcom/edifecs/xengine/xeobjects/XEDataProc
    at com.edifecs.xengine.xeobjects.XEHelper.createN2XNative(Native Method)
    5) It is unable to transfer EDI payload to XML
    6) Checked payload in Wire Message : still showing EDI payload
    7) Due to this BPEL is facing issue since it is expecting XML payload
    8) In BPEL it is givimng Error: Index Out Of bound.. I guess may be due to EDI payload
    9) If transformation option unchecked in Agreement in B2B console then B2B working good but BPEl failing
    Options Tried:
    1) I Exported Repository,then purged design time data and Reimported and restarted Server and tested..not working
    2) I also created a Parser Scehma for Blank EDI document(that option I found in Spec Builder 6.6.0==>New Document-->Parser Schema(Blank EDI Document) and then placed that Parser Schema file(ECS file) in folder :
    C:\Oracle\Middleware\Weblogic\Oracle_SOA1\soa\thirdparty\edifecs\XEngine\config\schema
    and added an entry in XERegistry.xml
    <Item Name="SchemaFile">${XERoot}/config/schema/Spec2</Item>
    but not working..
    3) Checked namespace in XSd and WSDl for BPEL,they are correct
    Getting no clue how to resolve..Need help...
    Thank you...

    Log File :(Weblogic JDK pointing to 32 bit)
    [2012-01-01T01:32:01.818+05:30] [AdminServer] [ERROR] [] [oracle.soa.b2b.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@182461f] [userId: <anonymous>] [ecid: 0000JILhj4XE0Va_xLp2iW1EzqZ_00002J,0] [APP: soa-infra] [dcid: 162dbcacafdb4641:19e705e4:13495b34174:-7fd3-0000000000000070] java.lang.UnsatisfiedLinkError: com.edifecs.xengine.xeobjects.XEHelper.createN2XNative()Lcom/edifecs/xengine/xeobjects/XEDataProc;[[
         at com.edifecs.xengine.xeobjects.XEHelper.createN2XNative(Native Method)
         at com.edifecs.xengine.xeobjects.XEHelper.createN2X(Unknown Source)
         at oracle.tip.b2b.document.edi.EDIDocumentPlugin.processIncomingDocument(EDIDocumentPlugin.java:1112)
    java.lang.UnsatisfiedLinkError: com.edifecs.xengine.xeobjects.XEHelper.createN2XNative()Lcom/edifecs/xengine/xeobjects/XEDataProc;
         at com.edifecs.xengine.xeobjects.XEHelper.createN2XNative(Native Method)
         at com.edifecs.xengine.xeobjects.XEHelper.createN2X(Unknown Source)
         at oracle.tip.b2b.document.edi.EDIDocumentPlugin.processIncomingDocument(EDIDocumentPlugin.java:1112)
         at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:2348)
         at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1533)
    [2012-01-01T01:32:01.834+05:30] [AdminServer] [ERROR] [] [oracle.soa.b2b.engine] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@182461f] [userId: <anonymous>] [ecid: 0000JILhj4XE0Va_xLp2iW1EzqZ_00002J,0] [APP: soa-infra] [dcid: 162dbcacafdb4641:19e705e4:13495b34174:-7fd3-0000000000000070] java.lang.IndexOutOfBoundsException: Index: 0, Size: 0[[
         at java.util.ArrayList.RangeCheck(ArrayList.java:547)
         at java.util.ArrayList.get(ArrayList.java:322)
         at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:2746)
         at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1533)
    [2012-01-01T01:32:01.846+05:30]
    ]]

  • How to implement callout in Oracle B2B 11g

    Hi,
    I am referring to the document http://docs.oracle.com/cd/E23943_01/user.1111/e10229/callouts.htm#CHDEFBDG and trying to implement callout for a specific requirement.
    Initially i want to implement the callout using simple XML-XML transformation . For this i have done couple of settings in oracle B2B but unfortunately it is not working. Below is the detailed steps.
    1) I have copied a example java Code Example of an XML-to-XML Transformation in section 13-2 of the above mentioned document to JDeveloper, compiled the code and created the jar file (TestCallout.jar).
    2) I have copied the .jar file to a specific path (ex: D:\Oracle\Middleware\user_projects\MyCallout ) and mentioned the same path in B2B UI / Configuration tab/ Callout Direcotry.
    3) Created a New .xsl file using Jdeveloper where i am mapping from one format of XML schema to another format of XML schema.
    4) I have created a new callout in the callout tab and below are the details:
    Implementation Class : com.mycallout.XMLTransform
    Library Name : TestCallout.jar
    Now please suggest me where i can mention the path of .xsl file which i have created, in Oracle B2B callout UI ?
    What parameter name and value should i mention in the parameters section?
    Below are my XSL file :
    <xsl:stylesheet version="1.0"
    xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
    xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
    xmlns:aia="http://www.oracle.com/XSL/Transform/java/oracle.apps.aia.core.xpath.AIAFunctions"
    xmlns:mhdr="http://www.oracle.com/XSL/Transform/java/oracle.tip.mediator.service.common.functions.MediatorExtnFunction"
    xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
    xmlns:oraext="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:ns0="http://www.example.org"
    xmlns:dvm="http://www.oracle.com/XSL/Transform/java/oracle.tip.dvm.LookupValue"
    xmlns:hwf="http://xmlns.oracle.com/bpel/workflow/xpath"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:med="http://schemas.oracle.com/mediator/xpath"
    xmlns:ids="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
    xmlns:bpm="http://xmlns.oracle.com/bpmn20/extensions"
    xmlns:xdk="http://schemas.oracle.com/bpel/extension/xpath/function/xdk"
    xmlns:xref="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
    xmlns:ns1="http://www.example.org"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:ora="http://schemas.oracle.com/xpath/extension"
    xmlns:socket="http://www.oracle.com/XSL/Transform/java/oracle.tip.adapter.socket.ProtocolTranslator"
    xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
    exclude-result-prefixes="xsi xsl ns0 ns1 xsd xp20 bpws aia mhdr bpel oraext dvm hwf med ids bpm xdk xref ora socket ldap">
    <xsl:template match="/">
    <ns0:Input>
    <ns0:OrderType>
    <xsl:value-of select="concat(/ns1:OredrStatusInquiryRequest/ns1:BranchPlant,/ns1:OredrStatusInquiryRequest/ns1:OrderType)"/>
    </ns0:OrderType>
    <ns0:OrderNumber>
    <xsl:value-of select="/ns1:OredrStatusInquiryRequest/ns1:OrderNumber"/>
    </ns0:OrderNumber>
    <ns0:Item>
    <xsl:value-of select="concat(/ns1:OredrStatusInquiryRequest/ns1:LineNumber,/ns1:OredrStatusInquiryRequest/ns1:Item)"/>
    </ns0:Item>
    </ns0:Input>
    </xsl:template>
    </xsl:stylesheet>
    Please help me to move further.

    Now please suggest me where i can mention the path of .xsl file which i have created, in Oracle B2B callout UI ?In the step#4 itself, you need to add callout parameter with name "xsltFile" which should be of type string and value of this parameter should be absolute path of XSL file (including file name). So suppose you have copied the xsl in directory C:\xsl and name of XSL file is abc.xsl then value of parameter "xsltFile" should be C:\xsl\abc.xsl
    Regards,
    Anuj

  • EDIFECS Mapping not found in the X12 Output file in Oracle B2B 11g

    Hi,
    We are using Oracle SOA suite 11g, we have created a outbound process for EDI 855 which is PO Acknowledgement.
    We are using a XML Gateway for the outbound and consuming the message in BPEL. We are mapping the OAG xml to EDIFECS xml to be consumed by Oracle B2B. We had created the EDIFECS xsd and ecs file using Oracle B2B editor and got it validated.
    Now the issue is we have mapped few elements in BPEL and the same data is found in the payload message in Oracle B2B, but we are unable to see the data in the X12 output file.
    Any thoughts will be hightly appreciated.
    Thanks
    Sathish

    Hi,
    Thanks for your update.
    The following were the elements missing in the native X12 flat file. I verified these elements present in ecs using oracle b2b document editor.
    <ns0:Segment-PO1>
    <ns0:Element-355>EA</ns0:Element-355>
    <ns0:Element-235>UI</ns0:Element-235>
    <ns0:Element-234>UPCXREF</ns0:Element-234>
    </ns0:Segment-PO1>
    <ns0:Segment-ACK>
    <ns0:Element-355 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="">EA</ns0:Element-355>
    <ns0:Element-373>20100318</ns0:Element-373>
    </ns0:Segment-ACK>
    Thanks
    Sathish

  • Oracle B2B server is not starting up

    Hi,
    System DSCP no(HOST NAME) has got changed ,after that srever is not running up properly,can you plaese help me on this.We tried to change dscp no in cache and infra eventhough status is same.
    (dscp17512---changed to ---->new dscp no)
    Please find the logs here.
    Server status:
    E:\oraHome_Cache\ip\install>opmnctl startall
    opmnctl: starting opmn and all managed processes...
    ================================================================================
    opmn id=INBAAMPC00962:6201
    4 of 6 processes started.
    ias-instance id=oracleAS_Cache*.dscp17512*.techmahindra.com
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    ias-component/process-type/process-set:
    WebCache/WebCache/WebCache
    Error
    --> Process (pid=1796)
    failed to start a managed process after the maximum retry limit
    Log:
    E:\oraHome_Cache\opmn\logs\WebCache~WebCache~1
    ias-component/process-type/process-set:
    WebCache/WebCacheAdmin/WebCacheAdmin
    Error
    --> Process (pid=4744)
    failed to start a managed process after the maximum retry limit
    Log:
    E:\oraHome_Cache\opmn\logs\WebCache~WebCacheAdmin~1
    E:\oraHome_Cache\ip\install>opmnctl status
    Processes in Instance: oracleAS_Cache.dscp17512.techmahindra.com
    ------------------------------------------------+---------
    ias-component | process-type | pid | status
    ------------------------------------------------+---------
    LogLoader | logloaderd | N/A | Down
    dcm-daemon | dcm-daemon | N/A | Down
    OC4J | home | 5740 | Alive
    WebCache | WebCache | N/A | Down
    WebCache | WebCacheAdmin | N/A | Down
    HTTP_Server | HTTP_Server | 2960 | Alive
    B2B | B2BServer | 5296 | Alive
    B2B | OC4J_B2B | 4016 | Alive
    DSA | DSA | N/A | Down
    Logs:
    2009.04.16 at 14:38:03:708: B2BStarter thread: B2B - (DEBUG) B2BStarter - Exception Error -: AIP-13121: Connection-related error. Please verify that the database server is running.
    2009.04.16 at 14:38:03:708: B2BStarter thread: B2B - (DEBUG) B2BStarter - Leaving ExecutionContext
    2009.04.16 at 14:38:03:708: B2BStarter thread: B2B - (DEBUG) B2BStarter - Sleeping for 30000
    2009.04.16 at 14:38:33:708: B2BStarter thread: B2B - (DEBUG) B2BStarter - Context Initialized
    2009.04.16 at 14:38:35:739: B2BStarter thread: BusinessLogicLayer - (ERROR) java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)
         at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:327)
         at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:429)
         at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:150)
         at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:608)
         at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:217)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:113)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:76)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:58)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getNewPoolOrXAConnection(OracleConnectionCacheImpl.java:493)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getPooledConnection(OracleConnectionCacheImpl.java:368)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:306)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:285)
         at oracle.tip.buslogic.common.DBConnectivity.getConnection(DBConnectivity.java:151)
         at oracle.tip.buslogic.common.ExecutionContextImpl.getService(ExecutionContextImpl.java:379)
         at oracle.tip.buslogic.common.SessionDownException.isSessionDown(SessionDownException.java:79)
         at oracle.tip.common.IPRuntimeException.initIPException(IPRuntimeException.java:146)
         at oracle.tip.common.IPRuntimeException.<init>(IPRuntimeException.java:98)
         at oracle.tip.buslogic.common.BusinessLogicRuntimeException.<init>(BusinessLogicRuntimeException.java:93)
         at oracle.tip.buslogic.common.DBConnectivity.getConnection(DBConnectivity.java:160)
         at oracle.tip.buslogic.common.ExecutionContextImpl.getService(ExecutionContextImpl.java:379)
         at oracle.tip.buslogic.common.ExecutionContextImpl.getMetaManager(ExecutionContextImpl.java:582)
         at oracle.tip.buslogic.common.PredicateManager.createPredicate(PredicateManager.java:45)
         at oracle.tip.configuration.ConfigurationUtil.getConfigurations(ConfigurationUtil.java:273)
         at oracle.tip.configuration.ConfigurationUtil.getRuntimeActiveAndQuiescingConfigurations(ConfigurationUtil.java:436)
         at oracle.tip.adapter.b2b.init.B2BStarter.run(B2BStarter.java:136)
         at java.lang.Thread.run(Thread.java:534)
    2009.04.16 at 14:38:35:739: B2BStarter thread: BusinessLogicLayer - (ERROR) caught error: Error -: AIP-13002: SQL error getting the DataSource
    2009.04.16 at 14:38:35:739: B2BStarter thread: IP - (ERROR) java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)
         at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:327)
         at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:429)
         at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:150)
         at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:608)
         at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:217)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:113)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:76)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:58)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getNewPoolOrXAConnection(OracleConnectionCacheImpl.java:493)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getPooledConnection(OracleConnectionCacheImpl.java:368)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:306)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getConnection(OracleConnectionCacheImpl.java:285)
         at oracle.tip.buslogic.common.DBConnectivity.getConnection(DBConnectivity.java:151)
         at oracle.tip.buslogic.common.ExecutionContextImpl.getService(ExecutionContextImpl.java:379)
         at oracle.tip.buslogic.common.ExecutionContextImpl.getMetaManager(ExecutionContextImpl.java:582)
         at oracle.tip.buslogic.common.PredicateManager.createPredicate(PredicateManager.java:45)
         at oracle.tip.configuration.ConfigurationUtil.getConfigurations(ConfigurationUtil.java:273)
         at oracle.tip.configuration.ConfigurationUtil.getRuntimeActiveAndQuiescingConfigurations(ConfigurationUtil.java:436)
         at oracle.tip.adapter.b2b.init.B2BStarter.run(B2BStarter.java:136)
         at java.lang.Thread.run(Thread.java:534)
    2009.04.16 at 14:38:35:739: B2BStarter thread: B2B - (DEBUG) B2BStarter - Exception Error -: AIP-13121: Connection-related error. Please verify that the database server is running.
    2009.04.16 at 14:38:35:739: B2BStarter thread: B2B - (DEBUG) B2BStarter - Leaving ExecutionContext
    2009.04.16 at 14:38:35:739: B2BStarter thread: B2B - (DEBUG) B2BStarter - Sleeping for 30000
    2009.04.16 at 14:39:05:738: B2BStarter thread: B2B - (DEBUG) B2BStarter - Context Initialized
    2009.04.16 at 14:39:07:785: B2BStarter thread: BusinessLogicLayer - (ERROR) java.sql.SQLException: Io exception: The Network Adapter could not establish the connection
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:174)
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:286)
         at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:327)
         at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:429)
         at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:150)
         at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
         at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:608)
         at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:217)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:113)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:76)
         at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:58)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getNewPoolOrXAConnection(OracleConnectionCacheImpl.java:493)
         at oracle.jdbc.pool.OracleConnectionCacheImpl.getPooledConnection(OracleConnectionCacheImpl.java:368)
         at oracle.jdbc.pool.Orac
    Thanks
    Raj

    Hi Raj,
    Couple of points. Please check,
    1. if the listener is up
    2. the tnsnames.ora to check the right HOST
    3. related services are up
    The following thread may be of use :
    Re: Not able to connect to Oracle B2B database after restart of my system
    Regards,
    Dheeraj

  • Not able to connect to Oracle B2B database after restart of my system

    Hi
    I am getting this problem. Because of this problem I reinstalled B2B in my system 4 times till now.
    This time I want to resolve this problem instead of reinstalling.
    1. I instsalled B2B successfully, able to conenc to database, done some configurations in Oracle B2B, everythign is fine.
    2. Restarted my system, I have kept starting of this database process as automatic.
    3. I stopped the metadatarepository and started again, when I am tryign to connec to B2B database it is giving the below error:
    Listener refused the connection with the following error:
    ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
    The Connection descriptor used by the client was:
    //B4b-5F-154-153Y.bdc4b.co.in:1521/orcl.bdc4b.co.in
    I verified if it is taking the correct ORACLE_HOME for starting the database, it is correct,
    I executed the below command:
    lsnrctl seervices.
    It is showing only the service, PLSExtProc. not the b2b database service: orcl.bdc4b.co.in.
    tnsnames.ora is having the below two entries:
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = B4b-5F-154-153Y.gdnindia.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl.bdc4b.co.in)
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = B4b-5F-154-153Y.gdnindia.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = PLSExtProc)
    could anybody tell me what can be the problem.

    Hi Praveena,
    This appears to be issue database connectivity
    You might want to check if the listener is up. Also check for the error code.
    ORA-12514:     TNS:listener does not currently know of service requested in connect descriptor
    this might of use to you:
    Suddenly getting ORA-12514
    ORA-27101: shared memory realm does not exist
    Regards,
    Dheeraj

  • Oracle B2B to Tibco integration

    Hi,
    I am testing sending message from Oracle B2B to Tibco B2B . I created new trading partners for Tibco and used AS2/Http protocol. The trading partner is under the same DMZ. But when I sent the message I see "MSG_WAIT_TRANSMIT" and it is remaining there, I could not purge this message, since from console Oracle B2B does not allow purging of in-flight messages.
    Also, I have agreements with other TP and I could send message to them earlier. But right now the from the Oracle B2B reports, it looks like no messages are going through.
    So there are several problems
    1) Why it is in MSG_WAIT_TRANSMIT, the log file does show any useful message.
    2) How to purge this message
    3) why new messages are not getting logged in the oracle B2B report.
    Any help will be appreciated.

    Messages with state MSG_WAIT_TRANSMIT cannot be purged from UI. Please purge them using the below procedures
    If PS2, use
    exec B2B_PURGE_INSTANCE_MSGS(p_startDate=>'2010/08/01 23:23',p_endDate=>'2010/09/22 07:30',p_msgState=>'MSG_WAIT_TRANSMIT',p_shouldArchive=>'false'');
    if PS1, use
    purge_runtime ('21-JAN-2008','21-FEB-2008','MSG_WAIT_TRANSMIT')
    Reason for other messages not being picked.
    By default B2B will span only one thread for processing both inbound and outbound messages. In your case, this thread is busy in processing the messages with state MSG_WAIT_TRANSMIT. Hence other messages are not being picked.
    Firstly, we need to analyze why this thread is not getting released. Please check the diagnostic log in TRACE:32 mode (Also, check if there is anything wrong in the channel settings).
    Please increase the number of threads by setting the below mentioned mbean properties. The remaining messages will be processed.
    b2b.outboundThreadCount=<no. of threads>
    b2b.inboundThreadCount=<no. of threads>

  • Partner Self-registration in Oracle B2B 10g

    Hi B2B team,
    Wanted to confirm from you if there is any provision for Partner self-registration in Oracle B2B 10g. We are on the latest patch. I am not aware of this functionality but wanted to get this confirmed from the product team.
    Also, we will require a server restart when a new TP comes onboard in Oracle B2B 10g isnt it? Is my understanding correct or is there something we can do to overcome this?
    Regards
    Kavitha

    Kavitha,
    Drop a mail to B2B product dev team/PM to know more on this part. As far as I know there is no such facility in 10g. Yes, bounce may be required in case of certificate changes involved.
    Regards,
    Anuj

  • How to call a BPEL process from Oracle Apps Java Concurrent program

    Hello,
    I need to trigger a BPEL process from Oracle Apps. Can anybody tell me how to do that? I have two triggering option--
    1. On button click from a Form 6i screen
    2. Using Java Concurrent program.
    Thanks in advance.
    Debkanta

    I am not sure how concurrent program works, but may be one of the way might work out, let me know if Java Concurrent Program works a bit different way
    - [if async] Through concurrent program, you can insert message token to db or aq, and BPEL can be instantiated from there
    or
    - If it supports pure java call, then you can look at multiple documents (e.g. http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial7-InvokingBPELProcesses.pdf) to invoke your process
    - You can also use oracle db utility to invoke soap operation and get the result back
    HTH,
    Chintan

  • Issue in invoking the BPEL process from Oracle using a SOAP Request

    Hi,
    We are facing an issue while invoking a deployed Bpel Process from Oracle Applications 11.5.10..
    Using a concurrent program( Unix / Host program ) we are passing the input variables required for the Bpel process in the ProcessRequest tags and forming this as a SOAP message payload.
    Then trying to invoke the deployed bpel process using the end point location using HTTP POST..but nothing is happening..
    The bpel process is not getting invoked when i look at the Console and also checked for the Manual Recovery queue..it's not stuck there as well..
    Have set the Transfer Time Out to 25 minutes using UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
    Could someone please help us as soon as possible with this ..as this is critical and we are stuck at the moment.
    The logic is mentioned below :
    UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
    UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(ENABLE=>TRUE);     
    soap_request:='<?xml version="1.0" encoding="UTF-8"?>'||
    '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
    '<soap:Header/>'||
    '<soap:Body xmlns:ns1="http://xmlns.oracle.com/bpelprocessname">'||
    '<ns1:bpelprocessnameProcessRequest>'||
    '<ns1:CSONum>'||order_number||'</ns1:CSONum>'||
    '<ns1:CreationDate>'||c_chr_cso_last_run_dte||'</ns1:CreationDate>'||
    '</ns1:bpelprocessnameProcessRequest>'||
    '</soap:Body>'||
    '</soap:Envelope>';          
    http_req:= utl_http.begin_request
    ('http://bpel_server ip:port/orabpel/domain_name/bpelprocessname/1.0' , 'POST', 'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'process');
    utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    dbms_output.put_line(soap_respond);
    Thanks

    check if your soap envelope is correct,check my below procedure which is working fine for me
    procedure xxxxx_BPEL_SCHEDULER
    IS
    soap_request varchar2(30000);
    soap_respond varchar2(30000);
    http_req utl_http.req;
    http_resp utl_http.resp;
    launch_url varchar2(240) ;
    begin
    soap_request:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:star="http://xmlns.oracle.com/xxxxx_BPEL_SCHEDULER">
    <soapenv:Header>
    <add:MessageID>?</add:MessageID>
    <add:ReplyTo>
    <add:Address>?</add:Address>
    <!--Optional:-->
    <add:ReferenceProperties>
    <!--You may enter ANY elements at this point-->
    </add:ReferenceProperties>
    <!--Optional:-->
    <add:PortType>?</add:PortType>
    <!--Optional:-->
    <add:ServiceName PortName="?">?</add:ServiceName>
    <!--You may enter ANY elements at this point-->
    </add:ReplyTo>
    </soapenv:Header>
    <soapenv:Body>
    <star:STARS_BPEL_SCHEDULERProcessRequest>
    <star:SCHEDULER_PARAM1>?</star:SCHEDULER_PARAM1>
    <star:SCHEDULER_PARAM2>?</star:SCHEDULER_PARAM2>
    <star:SCHEDULER_PARAM3>?</star:SCHEDULER_PARAM3>
    <star:SCHEDULER_PARAM4>?</star:SCHEDULER_PARAM4>
    <star:SCHEDULER_PARAM5>?</star:SCHEDULER_PARAM5>
    </star:STARS_BPEL_SCHEDULERProcessRequest>
    </soapenv:Body>
    </soapenv:Envelope>';
    http_req:= utl_http.begin_request('http://xxxxxx.com:16000/orabpel/default/xxxx_BPEL_SCHEDULER/1.0 '
    ,'POST',
    'HTTP/1.1'
    utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
    utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
    utl_http.set_header(http_req, 'SOAPAction', 'initiate');
    utl_http.write_text(http_req, soap_request) ;
    http_resp:= utl_http.get_response(http_req) ;
    utl_http.read_text(http_resp, soap_respond) ;
    utl_http.end_response(http_resp) ;
    dbms_output.put_line(soap_respond);
    END;

  • MULTIPLE ARCHIVER PROCESSES FAQ ( ORACLE 8I NEW FEATURE )

    제품 : ORACLE SERVER
    작성날짜 : 2002-04-19
    MULTIPLE ARCHIVER PROCESSES FAQ ( ORACLE 8I NEW FEATURE )
    =========================================================
    PURPOSE
    1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
    2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
    3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
    4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
    Explanation
    1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
    Oracle 8i에는 다중 archive destination을 지원하며, 단일 archiver의
    부하를 줄여주기 위해 multiple archiver process를 사용할 수 있다.
    LOG_ARCHIVE_MAX_PROCESSES 파라미터로 구동시킬 최대 ARCH 프로세스의
    갯수를 지정하면 된다.
    만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면 인스턴스 구동시
    init 파일에 지정된 LOG_ARCHIVE_MAX_PROCESSES에 지정된 값을 읽어
    들인다. 만약 LOG_ARCHIVE_START 값이 true인데 LOG_ARCHIVE_MAX_PROCESSES
    값이 별도로 지정되어 있지 않을 경우에는 arc0 프로세스만을 구동시킨다.
    LOG_ARCHIVE_MAX_PROCESSES 값이 별도로 지정되었을 경우 (1 - 10 범위),
    arc0, arc1 과 같은 추가 프로세스를 구동시킨다.
    하지만, 이 파라미터 값을 기본값 1이 아닌 다른 값으로 명시적으로 지정할
    필요는 없다. 왜냐하면, 시스템에서 몇개의 ARCn 프로세스가
    필요한지를 판단하여, 추가 ARCn 프로세스를 생성하기 때문이다.
    2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
    alter system 명령에서 set LOG_ARCHIVE_MAX_PROCESSES=n 으로
    지정하여 동적으로 값을 변경할 수 있다. 이때 n은 1 부터 10사이의
    값이어야 한다. 하지만, LOG_ARCHIVE_START 값이 FALSE로 지정되어
    있을 경우에는, 명령을 실행시켜도 아무런 영향을 미치지
    못한다.
    3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
    만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면, 오라클에서는
    구동시 하나의 archiver process (ARC0)를 구동시킨다. 이 파라미터
    값은 필요시 LATER SYSTEM 명령으로 지정된 갯수만큼의
    archive process를 구동시킬 수 있다.
    예)
    SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=4;
    위 명령을 실행 시키면 다음과 같은 절차에 따라 ARC1, ARC2, ARC3를
    추가한다.
    1) Shadow process는 primary archive process에게 프로세스 갯수를
    늘릴 것을 요청한다.
    2) Archiver process는 kcrrschd 함수를 호출한다. (kcrrschd:
    다중 arch process를 schedule)
    3) 만약 요청된 process의 갯수가 현재 사용중인 archiver process
    갯수보다 작은지 확인한다. 만약 새로 지정된 값이 적거나, ARCHIVING이
    DISABLE 된 상태라면 다른 조치를 취하지 않고 return 한다. 그렇지
    않다면 지원되는 최대 갯수인 10을 넘는지 확인하고 10을 넘을 경우에는
    프로세스의 갯수를 10으로 지정한다.
    4) Scheduler 함수는 kcrxs{} structure에 대한 latch를 확보한다.
    여기서 kcrxs{} structure는 ARCH Activation status를 나타낸다.
    5) Scheduler 함수는 지정된 process 갯수 만큼 loop를 돌면서
    schedule된 상태를 structure KCRRSCHED에 반영시킨다.
    6) 그리고 나서 latch를 release 시킨 후 kcrrsmp 함수를 ( kcrrsmp:
    다중 arch processs 구동 ) 호출한다.
    7) kcrrsmp 함수는 kcrrxs{} structure (ARCH 구동 상태)에 대한 latch를
    확보하여 code 실행을 serialize 시켜 이 함수가 동시에 실행되더라도
    한번에 하나씩 실행될 수 있도록 한다.
    8) pending 상태에 있는 archiver process를 스케쥴링 하고, dead process가
    있으면 clean up 시킨다.
    9) 그리고 나서 이 함수는 지정된 process 갯수 만큼 loop를 돌면서
    KCRRSCHED 상태를 KCRRSTART으로 바꾸어, archiver process들을
    구동 준비 상태로 만든다.
    10) latch를 release 시킨 후 ARCH 프로세스를 구동시킨다.
    11) kcrrsmp함수는 latch를 다시 획득한다. 각각의 archiver 프로세스는
    자기 자신을 activate 시킬 것을 통보 받는다. archiver process는
    자기 자신을 activate 시킨 후 alert file에 관련 사항을 기록한다.
    12) 호출을 하는 함수는 모든 archiver process가 자기 자신을
    activate 시키고, kcrrxs structure의 내용을 갱신할 때 까지
    sleep 상태에서 대기한다.
    13) 끝으로, 현재 archiver process의 갯수가 요청된 archiver process
    의 갯수와 일치 하면, latch를 release 시키고 break 한다. ( C
    에서의 break )
    alert. log 에는 위 과정이 다음과 같이 반영된다.
    sql: prodding the archiver
    ALTER SYSTEM SET log_archive_max_processes=4;
    Tue Jul 13 02:15:14 1999
    ARC0: changing ARC1 KCRRNOARCH->KCRRSCHED
    ARC0: changing ARC2 KCRRNOARCH->KCRRSCHED
    ARC0: changing ARC3 KCRRNOARCH->KCRRSCHED
    ARC0: STARTING ARCH PROCESSES
    ARC0: changing ARC1 KCRRSCHED->KCRRSTART
    ARC0: changing ARC2 KCRRSCHED->KCRRSTART
    ARC0: changing ARC3 KCRRSCHED->KCRRSTART
    ARC0: invoking ARC1
    Tue Jul 13 02:15:15 1999
    ARC1: changing ARC1 KCRRSTART->KCRRACTIVE
    Tue Jul 13 02:15:15 1999
    ARC0: Initializing ARC1
    ARC0: ARC1 invoked
    ARC0: invoking ARC2
    ARC1 started with pid=10
    ARC1: Archival started
    Tue Jul 13 02:15:15 1999
    ARC2: changing ARC2 KCRRSTART->KCRRACTIVE
    Tue Jul 13 02:15:15 1999
    ARC0: Initializing ARC2
    ARC2 와 ARC3도 동일한 절차를 따른다.
    흥미로운 사실은 프로세스의 갯수를 줄일 수도 있다는 것이다. 예를 들어
    다음과 같은 명령을 실행시킬 경우
    SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=2;
    다음과 같은 작업이 순서대로 실행된다.
    1) shadow process는 현재 active 상태인 archiver process와 접속을 한다.
    2) archiverprocess는 kcrrxmp 함수를 호출한다. ( kcrrxmp: 다중
    Arch process 정지 )
    3) kcrrxmp 함수는 kcrrxs{} structure에 (ARCH 구동 상태) 대한 latch를 획득하여 다른 프로세스에서 structure를 동시에 병경하지 않도록 한다.
    4) 새로 요청된 archiver process의 갯수가 현재 사용중인 archiver process
    의 갯수보다 작은지 확인한다.
    5) 만약 작다면, archiver process 목록 가운데, 가장 최근에 schedule
    되어, archival 작업에 schedule 차례가 금방 돌아 오지 않을 프로세스를
    찾아낸다.
    6) 각각의 프로세스에 대해 KCRRACTIVE 상태에서 KCRRSHUTDN로 상태를
    변경할 것을 요청한다.
    7) 상태가 바뀌면, OS에서 해당 프로세스를 종료시키도록 하고, 상태를
    KCRRDEAD로 바꾼다. 관련된 상태 정보가 정리되고 kcrrxs{} structure의
    내용이 갱신된다.
    6) ,7) 과정은 지정된 archiver process 갯수로 줄어들 때 까지
    반복된다.
    8) 새로운 archiver process의 갯수로 kcrrxs structure 내용이 갱신된다.
    9) latch를 release 시킨다.
    상태 변동은 다음과 같이 alert. log 파일에 반영된다.
    sql: prodding the archiver
    Tue Jul 13 00:34:20 1999
    ARC3: changing ARC0 KCRRACTIVE->KCRRSHUTDN
    ARC3: sending ARC0 shutdown message
    ARC3: changing ARC1 KCRRACTIVE->KCRRSHUTDN
    ARC3: sending ARC1 shutdown message
    ARC3: received prod
    Tue Jul 13 00:34:20 1999
    ALTER SYSTEM SET log_archive_max_processes=2;
    Tue Jul 13 00:34:20 1999
    ARCH shutting down
    ARC0: Archival stopped
    ARC0: changing ARC0 KCRRSHUTDN->KCRRDEAD
    Tue Jul 13 00:34:20 1999
    ARCH shutting down
    ARC1: Archival stopped
    ARC1: changing ARC1 KCRRSHUTDN->KCRRDEAD
    4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
    Archiver process는 round-robin 방식으로 archiving 작업을 수행하도록
    schedule 된다. 만약 다중 archiver process가 부하에 따라 activate 된
    경우는 여러가지 경우의 수가 있을 수 있다. Oracle 8i에서는 다중
    archive log dest를 지원하면서 archive log에 대한 duplexing을 지원
    하기 때문에, 어떤프로세스가 log file을 archive 시켰는지를 기록할 필요가
    있다.
    Oracle 8i에서 archival 작업은 성공할 때 마다 trace file에 archiver
    process 명을 기록한다.
    다음은 관련 trace file의 주요 내용이다.
    Instance name: v815
    Redo thread mounted by this instance: 1
    Oracle process number: 12
    Unix process pid: 3658, image: oracle@oracle8i (ARC3)
    *** Session ID:(12. 1) 1999. 07. 13. 02. 15. 15. 000
    *** 1999. 07. 13. 02. 15. 15. 000
    *** 1999. 07. 13. 02. 33. 06. 000
    ARC3: Begin archiving log# 1 seq# 38 thrd# 1
    ARC3: VALIDATE
    ARC3: PREPARE
    ARC3: INITIALIZE
    ARC3: SPOOL
    ARC3: Creating archive destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
    dbf'
    ARC3: Archiving block 1 count 1 to : '/bigdisk/oracle8i/dbs/arch/1_38.
    dbf'
    ARC3: Closing archive destination 1 : /bigdisk/oracle8i/dbs/arch/1_38.
    dbf
    ARC3: FINISH
    ARC3: Archival success destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
    dbf'
    ARC3: COMPLETE, all destinations archived
    ARC3: ArchivedLog entry added: /bigdisk/oracle8i/dbs/arch/1_38. dbf
    ARC3: ARCHIVED
    *** 1999. 07. 13. 02. 33. 06. 000
    ARC3: Completed archiving log# 1 seq# 38 thrd# 1
    이 정보를 가지고, archive process 3이 log sequence 38번을
    destination 1 :/bigdisk/oracle8i/dbs/arch 에 archive 시킨 것을 알 수 있다.
    Reference Ducumment
    <Note:73163.1>

    제품 : ORACLE SERVER
    작성날짜 : 2002-04-19
    MULTIPLE ARCHIVER PROCESSES FAQ ( ORACLE 8I NEW FEATURE )
    =========================================================
    PURPOSE
    1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
    2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
    3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
    4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
    Explanation
    1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
    Oracle 8i에는 다중 archive destination을 지원하며, 단일 archiver의
    부하를 줄여주기 위해 multiple archiver process를 사용할 수 있다.
    LOG_ARCHIVE_MAX_PROCESSES 파라미터로 구동시킬 최대 ARCH 프로세스의
    갯수를 지정하면 된다.
    만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면 인스턴스 구동시
    init 파일에 지정된 LOG_ARCHIVE_MAX_PROCESSES에 지정된 값을 읽어
    들인다. 만약 LOG_ARCHIVE_START 값이 true인데 LOG_ARCHIVE_MAX_PROCESSES
    값이 별도로 지정되어 있지 않을 경우에는 arc0 프로세스만을 구동시킨다.
    LOG_ARCHIVE_MAX_PROCESSES 값이 별도로 지정되었을 경우 (1 - 10 범위),
    arc0, arc1 과 같은 추가 프로세스를 구동시킨다.
    하지만, 이 파라미터 값을 기본값 1이 아닌 다른 값으로 명시적으로 지정할
    필요는 없다. 왜냐하면, 시스템에서 몇개의 ARCn 프로세스가
    필요한지를 판단하여, 추가 ARCn 프로세스를 생성하기 때문이다.
    2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
    alter system 명령에서 set LOG_ARCHIVE_MAX_PROCESSES=n 으로
    지정하여 동적으로 값을 변경할 수 있다. 이때 n은 1 부터 10사이의
    값이어야 한다. 하지만, LOG_ARCHIVE_START 값이 FALSE로 지정되어
    있을 경우에는, 명령을 실행시켜도 아무런 영향을 미치지
    못한다.
    3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
    만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면, 오라클에서는
    구동시 하나의 archiver process (ARC0)를 구동시킨다. 이 파라미터
    값은 필요시 LATER SYSTEM 명령으로 지정된 갯수만큼의
    archive process를 구동시킬 수 있다.
    예)
    SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=4;
    위 명령을 실행 시키면 다음과 같은 절차에 따라 ARC1, ARC2, ARC3를
    추가한다.
    1) Shadow process는 primary archive process에게 프로세스 갯수를
    늘릴 것을 요청한다.
    2) Archiver process는 kcrrschd 함수를 호출한다. (kcrrschd:
    다중 arch process를 schedule)
    3) 만약 요청된 process의 갯수가 현재 사용중인 archiver process
    갯수보다 작은지 확인한다. 만약 새로 지정된 값이 적거나, ARCHIVING이
    DISABLE 된 상태라면 다른 조치를 취하지 않고 return 한다. 그렇지
    않다면 지원되는 최대 갯수인 10을 넘는지 확인하고 10을 넘을 경우에는
    프로세스의 갯수를 10으로 지정한다.
    4) Scheduler 함수는 kcrxs{} structure에 대한 latch를 확보한다.
    여기서 kcrxs{} structure는 ARCH Activation status를 나타낸다.
    5) Scheduler 함수는 지정된 process 갯수 만큼 loop를 돌면서
    schedule된 상태를 structure KCRRSCHED에 반영시킨다.
    6) 그리고 나서 latch를 release 시킨 후 kcrrsmp 함수를 ( kcrrsmp:
    다중 arch processs 구동 ) 호출한다.
    7) kcrrsmp 함수는 kcrrxs{} structure (ARCH 구동 상태)에 대한 latch를
    확보하여 code 실행을 serialize 시켜 이 함수가 동시에 실행되더라도
    한번에 하나씩 실행될 수 있도록 한다.
    8) pending 상태에 있는 archiver process를 스케쥴링 하고, dead process가
    있으면 clean up 시킨다.
    9) 그리고 나서 이 함수는 지정된 process 갯수 만큼 loop를 돌면서
    KCRRSCHED 상태를 KCRRSTART으로 바꾸어, archiver process들을
    구동 준비 상태로 만든다.
    10) latch를 release 시킨 후 ARCH 프로세스를 구동시킨다.
    11) kcrrsmp함수는 latch를 다시 획득한다. 각각의 archiver 프로세스는
    자기 자신을 activate 시킬 것을 통보 받는다. archiver process는
    자기 자신을 activate 시킨 후 alert file에 관련 사항을 기록한다.
    12) 호출을 하는 함수는 모든 archiver process가 자기 자신을
    activate 시키고, kcrrxs structure의 내용을 갱신할 때 까지
    sleep 상태에서 대기한다.
    13) 끝으로, 현재 archiver process의 갯수가 요청된 archiver process
    의 갯수와 일치 하면, latch를 release 시키고 break 한다. ( C
    에서의 break )
    alert. log 에는 위 과정이 다음과 같이 반영된다.
    sql: prodding the archiver
    ALTER SYSTEM SET log_archive_max_processes=4;
    Tue Jul 13 02:15:14 1999
    ARC0: changing ARC1 KCRRNOARCH->KCRRSCHED
    ARC0: changing ARC2 KCRRNOARCH->KCRRSCHED
    ARC0: changing ARC3 KCRRNOARCH->KCRRSCHED
    ARC0: STARTING ARCH PROCESSES
    ARC0: changing ARC1 KCRRSCHED->KCRRSTART
    ARC0: changing ARC2 KCRRSCHED->KCRRSTART
    ARC0: changing ARC3 KCRRSCHED->KCRRSTART
    ARC0: invoking ARC1
    Tue Jul 13 02:15:15 1999
    ARC1: changing ARC1 KCRRSTART->KCRRACTIVE
    Tue Jul 13 02:15:15 1999
    ARC0: Initializing ARC1
    ARC0: ARC1 invoked
    ARC0: invoking ARC2
    ARC1 started with pid=10
    ARC1: Archival started
    Tue Jul 13 02:15:15 1999
    ARC2: changing ARC2 KCRRSTART->KCRRACTIVE
    Tue Jul 13 02:15:15 1999
    ARC0: Initializing ARC2
    ARC2 와 ARC3도 동일한 절차를 따른다.
    흥미로운 사실은 프로세스의 갯수를 줄일 수도 있다는 것이다. 예를 들어
    다음과 같은 명령을 실행시킬 경우
    SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=2;
    다음과 같은 작업이 순서대로 실행된다.
    1) shadow process는 현재 active 상태인 archiver process와 접속을 한다.
    2) archiverprocess는 kcrrxmp 함수를 호출한다. ( kcrrxmp: 다중
    Arch process 정지 )
    3) kcrrxmp 함수는 kcrrxs{} structure에 (ARCH 구동 상태) 대한 latch를 획득하여 다른 프로세스에서 structure를 동시에 병경하지 않도록 한다.
    4) 새로 요청된 archiver process의 갯수가 현재 사용중인 archiver process
    의 갯수보다 작은지 확인한다.
    5) 만약 작다면, archiver process 목록 가운데, 가장 최근에 schedule
    되어, archival 작업에 schedule 차례가 금방 돌아 오지 않을 프로세스를
    찾아낸다.
    6) 각각의 프로세스에 대해 KCRRACTIVE 상태에서 KCRRSHUTDN로 상태를
    변경할 것을 요청한다.
    7) 상태가 바뀌면, OS에서 해당 프로세스를 종료시키도록 하고, 상태를
    KCRRDEAD로 바꾼다. 관련된 상태 정보가 정리되고 kcrrxs{} structure의
    내용이 갱신된다.
    6) ,7) 과정은 지정된 archiver process 갯수로 줄어들 때 까지
    반복된다.
    8) 새로운 archiver process의 갯수로 kcrrxs structure 내용이 갱신된다.
    9) latch를 release 시킨다.
    상태 변동은 다음과 같이 alert. log 파일에 반영된다.
    sql: prodding the archiver
    Tue Jul 13 00:34:20 1999
    ARC3: changing ARC0 KCRRACTIVE->KCRRSHUTDN
    ARC3: sending ARC0 shutdown message
    ARC3: changing ARC1 KCRRACTIVE->KCRRSHUTDN
    ARC3: sending ARC1 shutdown message
    ARC3: received prod
    Tue Jul 13 00:34:20 1999
    ALTER SYSTEM SET log_archive_max_processes=2;
    Tue Jul 13 00:34:20 1999
    ARCH shutting down
    ARC0: Archival stopped
    ARC0: changing ARC0 KCRRSHUTDN->KCRRDEAD
    Tue Jul 13 00:34:20 1999
    ARCH shutting down
    ARC1: Archival stopped
    ARC1: changing ARC1 KCRRSHUTDN->KCRRDEAD
    4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
    Archiver process는 round-robin 방식으로 archiving 작업을 수행하도록
    schedule 된다. 만약 다중 archiver process가 부하에 따라 activate 된
    경우는 여러가지 경우의 수가 있을 수 있다. Oracle 8i에서는 다중
    archive log dest를 지원하면서 archive log에 대한 duplexing을 지원
    하기 때문에, 어떤프로세스가 log file을 archive 시켰는지를 기록할 필요가
    있다.
    Oracle 8i에서 archival 작업은 성공할 때 마다 trace file에 archiver
    process 명을 기록한다.
    다음은 관련 trace file의 주요 내용이다.
    Instance name: v815
    Redo thread mounted by this instance: 1
    Oracle process number: 12
    Unix process pid: 3658, image: oracle@oracle8i (ARC3)
    *** Session ID:(12. 1) 1999. 07. 13. 02. 15. 15. 000
    *** 1999. 07. 13. 02. 15. 15. 000
    *** 1999. 07. 13. 02. 33. 06. 000
    ARC3: Begin archiving log# 1 seq# 38 thrd# 1
    ARC3: VALIDATE
    ARC3: PREPARE
    ARC3: INITIALIZE
    ARC3: SPOOL
    ARC3: Creating archive destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
    dbf'
    ARC3: Archiving block 1 count 1 to : '/bigdisk/oracle8i/dbs/arch/1_38.
    dbf'
    ARC3: Closing archive destination 1 : /bigdisk/oracle8i/dbs/arch/1_38.
    dbf
    ARC3: FINISH
    ARC3: Archival success destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
    dbf'
    ARC3: COMPLETE, all destinations archived
    ARC3: ArchivedLog entry added: /bigdisk/oracle8i/dbs/arch/1_38. dbf
    ARC3: ARCHIVED
    *** 1999. 07. 13. 02. 33. 06. 000
    ARC3: Completed archiving log# 1 seq# 38 thrd# 1
    이 정보를 가지고, archive process 3이 log sequence 38번을
    destination 1 :/bigdisk/oracle8i/dbs/arch 에 archive 시킨 것을 알 수 있다.
    Reference Ducumment
    <Note:73163.1>

  • How to set the AS2 fileName for outbound Functional Ack 997 auto generated by Oracle B2B

    Hi Friends,
    How to set the AS2 fileName for outbound Functional Ack 997 auto generated by Oracle B2B.
    External Trading Partner is sending the EDI 856 via AS2 URL to our Oracle B2B Server.
    In the inbound 856 agreement, we have checked the option of Funtional Ack and also Functiona Ack handled by B2B is yes.
    We have the outbound agreement which is sending that Functional ack 997 (auto generated by oracle b2b) and we have specified the Outbound AS2 channel of the Partner.
    997 doc is being sent to external partner using AS2 channel, but the filename is generating as '40101'.
    Please can you let me know how to set the AS2 fileName for outbound Functional Ack 997 auto generated by Oracle B2B.
    Appreciate your valuable answers!!
    Thanks,
    Amirineni

    Amirineni,
    AFAIK, there is no option to set the file name when the 997 is generated automatically by B2B.
    Alternatively, if this is a must requirement, you can generate the FA from backend and  send to B2B with MSG_TYPE =9. In this case, you can set the header with filename (How to set the actionname property in B2B 11g)

  • Setting Message-ID email header from Oracle B2B backend in 11g

    Hi,
    Is it possible to set the Message-ID from the backend application via JMS header? Is there a JMS header exposed to set this message id in case of email transport? Will the email server able to honor this value that we set and send to Oracle B2B in 11g and send it as the email header (Message-ID)? Is this possible?
    The idea here is if my backend application can set this Message-ID value of the request message, then the response message which would be a reply to the initial message will have the value of the Message-ID in the property in-reply-to. Now if this in-reply-to is also exposed an a JMS header to the backend application, then i will be able to co-relate the request and the response messages.
    Please let me know at the earliest if this would be possible.
    Regards
    Kavitha

    Kavitha,
    Is it possible to set the Message-ID from the backend application via JMS header? Yes, please set the MSG_ID header (jca.jms.JMSProperty.MSG_ID). It will be used as Message-ID in Wire Message.
    , then i will be able to co-relate the request and the response messages.Generic Mail does not support correlation as of now. You may consider logging an enhancement request with support. If you are exchanging XML messages then you may consider using content based correlation at B2B.
    Regards,
    Anuj

Maybe you are looking for

  • Voice chat program

    After a few days work, I have completed the mian voice chat program. I know there are so many people like me that wants that. I post these program. i will complete gui work later. and there is a problem in the program. if the speaking one do not spea

  • How to make windows 8.1 compatible with dng converter 8.1?

    I have installed the DNG Converter 8.1 so that I can view/edit RAW files on Photoshop Elements 12, but Windows 8.1 states "the source folder does not contain any supported camera raw files".  I have an Sony Alpha 6000 (version 8.4), and have moved th

  • The message sequence of JMS adapter and BPM

    This is my scenario: AP1 -> MQ -> JMS Adapter -> XI BPM -> SAP But if AP1 sends 10 messages to MQ server, how to make sure the received message sequence of SAP is the same as AP1 ? Because JMS adapter doesn't have synchronous ability, or I can set be

  • I want to downgrade to Snow Leopard from Lion

    Hi Can someone please tell me how I can downgrade from OSX Lion to Snow Leopard on my brand new 27" iMac. I spoke to Apple over a week ago on the phone and explained that I wanted to downgrade to Snow Leopard and the chap I spoke to sold me the Snow

  • Hidden files in Time Machine...

    I've lost my bookmarks in Firefox and I'd like to restore them from my last time machine backup.  The 'bookmarks.html' file (in time machine) is unfortunately in my Library which is now hidden.  How can I view this file in timemachine so that I can r