Multiple RO processes accessing replicated client?

Hi. I have a question about using replication. (Under Linux if it makes any difference).
Is it possible to have multiple processes sharing a set of replicated db files? I would only have one process updating the environment, and only to the extent of running the replication manager
to get updates from the master; we would never have the clients write anything out. The other processes would only open the files read only. The docs are a bit unclear on the subject and as to whether this is a supported configuration.

Hey Matthew,
That configuration is supported. The only constraint on multi-process access relates to processing incoming messages (which the replication manager takes care of). As long as only one process calls DB_ENV->repmgr_start, other processes can open the environment for read-only access.
Michael.
P.S. For future reference, we've got a separate forum for Berkeley DB HA:
Berkeley DB High Availability (Replication)

Similar Messages

  • Can Multiple DOE users access same client

    Dear All,
    I have a use case where manager and his team have to use the same physical device ( It mean same client in the handheld and also the same application). Manager and all the team members are DOE Users.
    As far as i know, we will have multiple local users in the client and mapped to single doe user, where as synchronization will happen through DOE sync user, who is configured in the client. During Sync DOE authenticates this user.
    But in my use case, DOE should authenticate all the users (user with which i am synchronizing the data). Is this possible in the standard client? Is there any possibility to achieve this?
    Regards,
    Kiran.

    HI,
    Your requirement is a standard behavior and there is nothing like  all the local client users are mapped to DOE users in default client.
    If each local client user has a corresponding DOE server username(i guess it need to be the same username or so) , with a user logged in , he/she can provide their own sync password which will take sync user as the currently logged in local client user.
    Only catch here that irrespective of which user is synching, all the messages in the queue (new data,modifications etc ) created by all the users will be send to server with this sync.
    Regards,
    Liji

  • Multiple processes accessing a replicated database

    Hi
    I am after some help with multiple processes and replicated databases.
    I have a primary and secondary database replicated across a pair of servers and this seems to be working well. I'm trying to run another process on one of the machines that opens the environment and databases to view and/or modify the data.
    The problem is that when I run this process it causes some sort of corruption such that the server process on the same box gets a DB_EVENT_PANIC the next time it accesses the database. I would like to understand what I am doing wrong.
    The servers and standalone process all use the same code to open and close the environment and databases (see below). Just calling
         open_env();
         open_databases();
         close_databases();
         close_env();
    in the utility process causes DB_EVENT_PANIC in the server process.
    Can anybody spot what I am doing wrong? I am using DB Version 4.7
    Thanks
    Ashley
    open_env() {
    db_env_create(&dbenv, 0);
    dbenv->app_private = &my_app_data;
    dbenv->set_event_notify(dbenv, event_callback);
    dbenv->rep_set_limit(dbenv, 0, REPLIMIT);
    dbenv->set_flags(dbenv, DB_AUTO_COMMIT | DB_TXN_NOSYNC, 1);
    dbenv->set_lk_detect(dbenv, DB_LOCK_DEFAULT)
    int flags = DB_CREATE | DB_INIT_LOCK |
              DB_INIT_LOG | DB_INIT_MPOOL |
              DB_INIT_TXN | DB_RECOVER | DB_THREAD;
    flags |= DB_INIT_REP;
    dbenv->repmgr_set_local_site(dbenv, listen_host, port, 0);
    dbenv->rep_set_priority(dbenv, 100);
    dbenv->repmgr_set_ack_policy(dbenv, DB_REPMGR_ACKS_ONE);
    for (x = 0; x < num_peers; x++) {
    dbenv->repmgr_add_remote_site(dbenv, peers[x].name, peers[x].port, &peers[x].eid, 0);
    dbenv->rep_set_nsites(dbenv, num_peers + 1);
    dbenv->open(dbenv, ".", flags, S_IRUSR | S_IWUSR);
    dbenv->repmgr_start(dbenv, 3, DB_REP_ELECTION);
    sleep(SLEEPTIME);
    close_env() {
    dbenv_p->txn_checkpoint(dbenv_p, 0, 0, 0);
    dbenv_p->close(dbenv_p, 0);
    open_databases() {
    db_create(&dbp, dbenv_p, 0)
    flags = 0;
    if (app_data->is_master)
    flags |= DB_CREATE;
    dbp->open(dbp, NULL, "primary", NULL, DB_HASH, flags, 0);
    ... Wait for db if slave and ENOENT ...
    primary = dbp;
    dbp->open(dbp, NULL, "secondary", NULL, DB_BTREE, flags, 0);
    ... Wait for db if slave and ENOENT
    secondary = dbp;
    while (app_data->client_sync) {
    sleep(SLEEPTIME);
    close_databases() {
         secondary->close(secondary, 0);
         primary->close(primary, 0);
         dbenv_p->txn_checkpoint(dbenv_p, 0, 0, 0);
    }

    Running recovery (DB_RECOVER flag to env->open()) must be done only in the first process to open the environment.
    This is a general rule of Berkeley DB, not specific to replication. You can read more about it in the Reference Guide, on the page entitled "Architecting Transactional Data Store applications".

  • Memory issue on replica client

    I am using bdb 4.7.25 on freebsd 7.0 C++ api.
    I have applied patch from Link: Re: Question on replication error like "DB_ENV->rep_process_message: DB_NOTF.." to fix log_archive issue. I have also applied the patch suggested in the reply to above message.
    On master node, I am doing lot of write operation with periodic checkpointing.
    Case 1:
    =======
    Later, when master node archives (deletes) log files after checkpointing, after few minutes of transaction, I get following error on client node.
    Log sequence error: page LSN 0 0; previous LSN 25 1048356
    Recovery function for LSN 26 4263441 failed on forward pass
    Client initialization failed. Need to manually restore client
    PANIC: Invalid argument
    DB_ENV->rep_process_message: DB_RUNRECOVERY: Fatal error, run database recovery
    message thread failed: DB_RUNRECOVERY: Fatal error, run database recovery
    PANIC: fatal region error detected; run recovery
    DB_ENV->rep_process_message: DB_RUNRECOVERY: Fatal error, run database recovery
    message thread failed: DB_RUNRECOVERY: Fatal error, run database recovery
    PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
    PANIC: DB_RUNRECOVERY: Fatal error, run database recovery
    Please advice, what could be possibly wrong and how can I fix it?
    Case 2:
    =====
    On similar instances, when I dont do log_archive'ing on master node to delete the log file, the memory footprint of client process periodically increases a lot and then decreases back to normal. I suspect this happens around the checkpointing, where master sends burst of messages to client to replicate. But gradually the footprint increases too high and starts using swap space and there is not enough memory to allocate. Is this fluctuation of memory footprint on client node an expected behaviour?
    Potentially following output for db_stat-4.7 -MA might help.
    This is the statistics from the replica client node machine.
    Mpool REGINFO information:
    Mpool Region type
    3 Region ID
    __db.003 Region name
    0x28710000 Original region address
    0x28710000 Region address
    0x287100c0 Region primary address
    0 Region maximum allocation
    0 Region allocated
    Region allocations: 4094 allocations, 12894388 failures, 4007 frees, 1 longest
    Allocations by power-of-two sizes:
    1KB 34
    2KB 1
    4KB 0
    8KB 12898447
    16KB 0
    32KB 0
    64KB 0
    128KB 0
    256KB 0
    512KB 0
    1024KB 0
    REGION_JOIN_OK Region flags
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    MPOOL structure:
    9 MPOOL region mutex 2 / 26M 0% 11489 / 674238720
    401 / 2533580 Maximum checkpoint LSN
    37 Hash table entries
    11 Hash table last-checked
    496749207 Hash table LRU count
    497385622 Put counter
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    Please help me resolve both cases.
    Regards,
    Sury

    Thanks very much! It's long, Is there an rignt <font face="tahoma,verdana,sans-serif" size="1" color="#000">answer</font> for the problem?

  • Multiple BPEL Process Managers in one environment?

    Hi,
    I'm quite new to the Oracle SOA product line, so please be gentle when my question doesn't make sense.
    I’m in the process of designing a new enterprise architecture based on service orientation. I’m looking at the Oracle SOA Suite software to get a better understanding of what things will look like when getting to the actual implementation.
    Some internal projects are moving fast, so I’m trying to get an understanding on how things will work out in the future. One case has my current attention, related to the BPEL Process Manager.
    A 3rd party vender is offering a specific solution which is using or based on the BPEL Process Manager. This solution can be purchased as a black-box. From the perspective of my new architecture I would like to purchase the SOA suite as a whole. New developments will most likely be using the BPEL Process Manager for orchestration. But when purchasing the black-box application, the environment will be extended with an extra BPEL Process Manager. My first thought is to try and incorporate the BPEL processes from the 3rd party vendor onto one single BPEL Process Manager. But I also think two BPEL Process Managers can have advantages.
    I’m not sure how to go forward with this. How should I handle this? Is it common to have multiple BPEL Process Managers in one environment or should I pursue maximum integration and only go for one BPEL Process Manager?

    Hi,
    We have similar situation at my current client site and we are going with two seperate BPEL PM installs for various reasons. One of the main driver in our case is conflicting in timelines of two seperate projects.
    But my suggestion is to go with single enterprise install if that's not breaking the 3rd-party vendor supporting contracts. This has obviously benefits of redecued infrastructure/administrative and other related costs. How many processes does the vendor has as part of their solution? If they are handful you know it doesn't justify having seperate environments.
    On the otherhand having two seperate installs isn't bad either depending on how big or small your SOA service/process orchestration footprint is. We don't have complete handle on the performance/scalability aspects of BPEL PM based on number of processes deployed. But as you can see that may be one of drivers to have redundancy in BPEL PM servers.
    End of the day there is no clear cut answer. If you have funding and resources, go with two seperate instances. But from architectural perspective better to have single install with clustering for better performance/scalability.
    HTH
    Regards,
    Rajesh

  • Multiple BPEL processes polling one inbound directory ?

    Hi All-
    Somewhere it mentioned that :
    "Multiple BPEL processes or multiple file adapters polling one inbound directory are not supported. Ensure that all are polling their own unique directory."
    Is this issue still there in 10.1.3.3.0?
    Please advice.
    Regards,
    Sreejit

    Hi,
    I have one directory say c:/files and I have two BPEL process accessing this folder say BPELA and BPELB.
    BPELA looking for the file with pattern file_A*.xml
    BPELB looking for the file with pattern file_B*.xml
    Still this phrase *"Multiple file adapters polling one inbound directory are not supported. Ensure that each is polling its own unique directory."* is a problem?
    Please advice.
    Regards,
    Sreejit

  • How to allow multiple domains under Access-Control-Allow-Origin

    Hi,
    We have a domain where will get CORS request from another domain hosted on seperate DC. We can't set
    Access-Control-Allow-Origin as * due to security concerns & IIS can't take more than 1 value at a time. Kindly suggest how to pass multiple httpheader  for
    Access-Control-Allow-Origin.
    Regards,
    Dhiraj

    Hello Dhiraj,
    This is not the suitable forum for your question, you may post in
    IIS forums for more help.
    Thanks for your understanding.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Can ASA5505 forward remote-access-VPN clients to LAN

    I currently have ASA-5505 and 2911-Router and I'm trying to configure VPN topology.
    Can ASA5505 forward remote-access-VPN clients to LAN operated by a different router?
    Are these two cases possible?:
    (1) ASA-5505 and 2911-Router are on separate WAN interfaces, each directly connected to ISP. But then can I connect one of other LAN interfaces of ASA-5505 into a switch managed by 2911-Router to inject remote-SSL-VPN clients into the LAN managed by the router?
    (2) ASA-5505 is behind 2911-Router. Can 2911 Router assign a public ip address or have public ip address VPN-access attempts directly be forwarded to ASA-5505 when there is only one public ip address available?
    Long put short, can ASA-5505 inject its remote-access-VPN clients as one of hosts on the LAN managed by 2911-router?
    Thanks.

    I could help you more if you can explain the purpose of this setup and the connectivity between the ASA and router.
    You can enable reverse-route on the Dynamic map on the ASA. The ASA will install a static route for the client on the routing table. You can use a Routing protocol to redistribute the static routes to your switch on the LAN side of the ASA.

  • Getting error-"Process Access denied" while invoking Process as web service

    Hi,
    I have a very simple Business Process, just to take some input & give some String as output. I published this BP as web service on Oracle BPM - Process Administrator. I got its WSDL also. I can invoke startSession operation. But when I invoke the operation that is exposed by BP as web service, I am getting an error - "Process Access denied".
    Please help to solve the issue, as I need it urgently.
    Thanks,
    Sujata

    Hi Ariel,
    Thanks for reply and sorry for delay on updating status. Actually our process server was having a problem, so I could not check the same in last 4 days. Now coming to the point....
    I changed Process web service by changing authentication type as "Usernname token profile". I have not checked "Required HTTP Basic Authentication". As you said, WSDL got changed, it has removed startSession(). But when I invoke my actual operation, I am supposed to send authentication data (user name & password) in header.
    I tried to send correct authentication info in header. But still I am getting an exception.
    soapenv:Server.generalException - WSDoAllReceiver: Request does not contain required Security header
    I feel header might be going wrong. I have taken header format from web service guide. I am attaching the entire request message taht I am sending, please tell me where I am going wrong...
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sim="http://bea.com/albpm/Sample/SimpProc">
    <soapenv:Header>
    <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wsswssecurity-secext-1.0.xsd">
    <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created> 2010-06-01T19:23:29.774Z </wsu:Created>
    <wsu:Expires> 2010-07-02T15:02:29.774Z </wsu:Expires>
    </wsu:Timestamp>
    <wsse:UsernameToken>
    <wsse:Username>bpr_user</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wssusername-token-profile-1.0#PasswordText">bpruser12</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soapenv:Header>
    <soapenv:Body>
    <sim:sayHello>
    <argInput>ss</argInput>
    </sim:sayHello>
    </soapenv:Body>
    </soapenv:Envelope>
    I cehcked with & without wsu:Timestamp. But same.....
    Please give your suggestion.
    Thanks
    Sujata

  • Error invoking bpel process using axis client

    When I am trying to invoke bpel process using axis client I'am having following error:
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: org.xml.sax.SAXException: Bad envelope tag: html
    faultActor:
    faultNode:
    faultDetail:
         {http://xml.apache.org/axis/}stackTrace: org.xml.sax.SAXException: Bad envelope tag: html
         at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:109)
         at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:976)
         at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
         at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
         at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
         at org.apache.axis.client.Call.invoke(Call.java:2553)
         at org.apache.axis.client.Call.invoke(Call.java:1753)
         at com.oracle.sample.ws.ArrayClient.main(ArrayClient.java:44)
    org.xml.sax.SAXException: Bad envelope tag: html
         at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:543)
         at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
         at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
         at org.apache.axis.client.Call.invoke(Call.java:2553)
         at org.apache.axis.client.Call.invoke(Call.java:1753)
         at com.oracle.sample.ws.ArrayClient.main(ArrayClient.java:44)
    Caused by: org.xml.sax.SAXException: Bad envelope tag: html
         at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:109)
         at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:976)
         at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
         at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
         at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
         at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
         at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
         at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
         at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
         at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:242)
         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
         ... 5 more
    My client code is following:
    Service service = new Service();
    Call call = (Call) service.createCall();
    call.setTargetEndpointAddress(new java.net.URL("http://localhost:9700/orabpel/default/Array"));
    SOAPEnvelope env = new SOAPEnvelope();
    Name bodyName = env.createName("ArrayRequest", "tns", "http://localhost/");
    SOAPBodyElement request = body.addBodyElement(bodyName);
    Name childName = env.createName("input","tns","http://localhost/");
    SOAPElement input = request.addChildElement(childName);
    input.addTextNode("ORCL");
    call.invoke(env);
    MessageContext mc = call.getMessageContext();
    System.out.println("\n============= Response ==============");
    XMLUtils.PrettyElementToStream(mc.getResponseMessage().getSOAPEnvelope().getAsDOM(), System.out);
    I'am having the same error with client generated by wsdl2java.
    Regards

    Hi -
    A few things that you may want to try to troubleshoot this issue:
    1) Run our sample of calling a BPEL process from Axis, located in:
    C:\orabpel\samples\interop\axis\AXISCallingSyncBPEL
    2) Run your client through a TCP tunnel to see the specific SOAP request message that is being sent to the BPEL process and the SOAP response that is being generated. This should help you determine which side of the communication is causing the problem, as well as to rule out proxy server or other issues that are very common problems for this situation.
    Dave

  • Is it possible to use certutil to export multiple certificates from a local client machine store, to a .p7b file?

    Is it possible to use certutil to export multiple certificates from a local client machine store, to a .p7b file?
    Scenario: We have a few legacy certificates based on some legacy templates (2012 R2). Some belong to an old SubCA (2008 R2).
    I’ve can manually export them using certmgr mmc on the local machine to a single .p7b e.g.
    cert_backupNEW.p7b. But this is not a practical solution for me and I want to achieve this remotely via certutil or some other util that comes with Windows 7 machines.
    I’ve already worked out how to run a certutil command to add the certs back into the store e.g.
    certutil.exe -addstore -f my cert_backupNEW.p7b
    Is there a way to export multiple certs to a single backup cert, or is what I’m trying to do not possible with multiple certs?
    TC

    Something like this:
    $store = New-Object Security.Cryptography.X509Certificates.X509Store "my","localmachine"
    $store.Open("ReadOnly")
    Set-Content -Path exportedcerts.pfx -Value $store.Certificates.Export("pfx","password")
    $store.Close()
    note that this command will fail, if there are certificates with non-exportable keys. You cannot export certificates with non-exportable keys.
    My weblog: en-us.sysadmins.lv
    PowerShell PKI Module: pspki.codeplex.com
    PowerShell Cmdlet Help Editor pscmdlethelpeditor.codeplex.com
    Check out new: SSL Certificate Verifier
    Check out new:
    PowerShell FCIV tool.

  • 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>

  • Photoshop elements 8 not proceeding at multiple file processing

    Hi everyone,
    I've got the following problem with photoshop elements 8. I worked for a long time with it. Using the multiple file processing functionality a lot. I do quite a lot of big shoots and I only use the raw settings for processing. After that I let photoshop elements do the rest of the work, which is converting all my raw images into jpegs and resizing them to prepare them for uploading. These shoots often contain more then 200 photographs.
    As of this last weekend when I start up the multiple file processing window it starts opening the first file but does not proceed. Which means that I have to edit all the images by myself and resize them to the proper size etc etc etc. I really don't want to do this. This funcionality is one of the main reasons why I use photoshop. Anyone got any idea why it suddenly stopped working? Anyone else experienced this and solved it?
    Thanks a lot.
    Ben

    One thing to check is the bit depth that camera raw is set to.
    Open a raw photo in the camera raw dialog and look down along
    the bottom of the dialog where it says bit depth. If it says 16bit,
    change to 8 bit and press done.
    Photoshop elements sometimes won't process 16 bit files using process
    multiple files.
    MTSTUNER

  • Automatic Payment Programme for multiple vendors process

    Hi SAP FICO Experts,
    Please send Automatic Payment Programme for multiple vendors process
    Step by step
    Regards
    Maran

    Hi,
    You need to follow same process.
    Regards,
    Tejas

  • Host in DMZ try to access VPN Client.

    ASA5510,
    VPN client 192.168.250.249 have only port 1433 access to DMZ host 192.168.250.8.
    DMZ host 192.168.250.8 have all ports access to VPN Client 192.168.250.249
    I added the following rules into VPN Group policy
    access-list AM_SVR02_EXT extended permit tcp host 192.168.250.249 host 192.168.250.8
    access-list AM_SVR02_EXT extended permit tcp host 192.168.250.8 host 192.168.250.249 eq 1433
    but doesn't work.. VPN client access host 1433 is ok.. but host can't access VPN client ..
    How to do what I want?
    Thanks in advance.

    There is not much point in adding 192.168.22.0/24 to the split tunnel ACL because it is already included in 192.168.0.0/16. It might be helpful to add 192.168.22.0 to the VPN_Routes ACL. Can you tell us what is 192.20.3.0/24 that is currently specified in that ACL?
    Can you verify that devices in the DMZ have a route to the address pool for VPN?
    HTH
    Rick

Maybe you are looking for