BPM process archiving "Processing of archiving write command failed"

Can someone help me with the following problem. After archiving a BPM proces, I get the following messages (summary):
ERROR  Processing of archiving write command failed
ERROR  Job "d5e2a9d9ea8111e081260000124596b3" could not be run as user"E61006".
LOG -> Processing of archiving write command failed
[EXCEPTION] com.sap.glx.arch.xml.XmlArchException: Cannot create archivable items from object
Caused by: java.lang.ClassCastException: ...
Configuration
I've completed the following steps based on a blog item.
1. created an archive user with the corresponding roles
2. updated the destination DASdefault with the created user -> destination ping = OK
3. created an archive store BPM_ARCH based on unix root folder
4. created home path synchornization with home path /<sisid>/bpm_proc/ and archive store BPM_ARCH
5. start process archiving from manage processes view.
Process Archiving
Manage Process -> Select a process from the table -> Archive button -> Start archiving by using the default settings.
Archiving Monitor
The following log is created which describe that the write command failed.
Write phase log:
[2011.09.29 12:00:18 CEST] INFO   Job bpm_proc_write (ID: d5e2a9d9ea8111e081260000124596b3, JMS ID: ID:124596B30000009D-000000000C08) started on Thu, 29 Sep 2011 12:00:18:133 CEST by scheduler: 5e11a5e0df3111decc2d00237d240438
[2011.09.29 12:00:18 CEST] INFO   Start execution of job named: bpm_proc_write
[2011.09.29 12:00:18 CEST] INFO   Job status: RUNNING
[2011.09.29 12:00:18 CEST] ERROR  Processing of archiving write command failed
[2011.09.29 12:00:18 CEST] INFO   Start processing of archiving write command ...
Verify Indexes ...
Archive XML schema ...
Resident Policy for object selection is  instanceIds = [9ca38cb2343511e0849600269e82721e] ,  timePeriod = 1317290418551 ,  inError = false ,
[2011.09.29 12:00:18 CEST] ERROR  Job "d5e2a9d9ea8111e081260000124596b3" could not be run as user"E61006".
[2011.09.29 12:00:18 CEST] INFO   Job bpm_proc_write (ID: d5e2a9d9ea8111e081260000124596b3, JMS ID: ID:124596B30000009D-000000000C08) ended on Thu, 29 Sep 2011 12:00:18:984 CEST
Log viewer
The following message is created in the log viewer.
Processing of archiving write command failed
[EXCEPTION]
com.sap.glx.arch.xml.XmlArchException: Cannot create archivable items from object
at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
Caused by: java.lang.ClassCastException: class com.sap.glx.arch.Archivable:sap.com/tcbpemarchear @[email protected]2@alive incompatible with interface com.sap.glx.util.id.UID:library:tcbpembaselib @[email protected]f@alive
at com.sap.glx.arch.him.xml.JaxbTaskExtension.createJaxbObjects(JaxbTaskExtension.java:69)
at com.sap.glx.arch.xml.JaxbSession.fillFromExtensions(JaxbSession.java:73)
at com.sap.glx.arch.pm.xml.ArchProcessExtension.fillHimObjects(ArchProcessExtension.java:113)
at com.sap.glx.arch.pm.xml.ArchProcessExtension.createArchObjectItem(ArchProcessExtension.java:60)
at com.sap.glx.arch.xml.JaxbSession.createArchObjectItems(JaxbSession.java:39)
at com.sap.glx.arch.xml.Marshaller.createItems(Marshaller.java:29)
... 61 more

Hi Martin,
I don't have a specific answer sorry, however I do recall seeing a number of OSS notes around BPM archiving whilst searching for a different issue last year - have you checked on there for anything relevant to your currnet version and SP level?  There were quite a few notes if memory serves me well!
Regards,
Gareth.

Similar Messages

  • BPM 11g support process archive

    Hi,
    Is BPM 11g suppots process archive?
    Can anyone help me on that?
    Regards,
    Anandh P

    Hi Raj
    1. Terminate means you want to End that Process no matter where it is at any instance of time. Say if I have BPM Process with 10 SwimLanes it can be at any of the Lanes with any User. I am taking simple Example with Human Tasks, but you can apply for other component like Timer servces etc.
    2. I hope you are aware of 2 things specially for Human Tasks: Action named "Withdraw" and a role named "Process Owner". For any human task, under Actions menu you should See a Withdraw option. You can code your application to capture this output using XOR gateway and if outcome is "WITHDRAW" directly end the process and go to End Node. If you have many places like this, there is easy way instead of running wires eveywhere. Create a simple throw even that goes to End Node. And after each human task check outcome if Withdraw, that that error, which will end the process. I hope you got the point.
    b) The reason I mentioned Process Owner is, generally I do NOT give Withdraw control to each User who can work on any Task. If accidentally that User do this action, thats it. The process ENDS and you can never retriive it back. So under .TASK file, I preven Withdraw action to Asssignee and Instead give this action only to OWNER (Process Owner). Process owner is like admin who can pretty much see any tasks and I would give him all the permissions like these Withdraw, Reassing, Suspend etc etc. This gives more controlled power to your application. Anyhow, in bpm workspace, login as process owner and search for any Task aged for long time and jus Withdraw it.
    You can do all the above using APIs also as far as you have Withdraw action going to the End Node.
    If your requirement is something else, ignore above notes. But still you can think along the above lines, if all you want is to Kill a Running Process anytime.
    Thanks
    Ravi Jegga

  • Process Order Deletion and Archiving process

    Hi all,
    I just want to ask what is the proper process in deleting and archiving process orders and what are the possible impacts on the other modules?
    Thanks!

    Using SARA, Archiving object is PR_ORDER or t-code COAC.  Follow the step pre-process, write archive file, and delete from database.
    I don't recall any prerequisite for archiving process orders.   However, costing guys/girls often yelled to keep process orders for a very long while so you might want to check with their requirement (Note that archiving is more business-oriented than you think).
    Before you can do so, you must follow the steps of process order life cycle (from create, release, tech.comp., close, deletion flag, deletion indicator, accordingly).
    For deletion flag, and deletion indicator, you can set via COAC t-code.  There is a set up for period lapse between deletion flag to deletion indicator to archive in order type configuration (residence time 1, 2).  Process order, for example,  must reside in database for 1 month after deletion flag and another 1 month after deletion indicator before you can archive them out if you set residence time 1,2 to 1.
    Hope it helps.

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

  • Purchase Order is not deleted after archive process

    Hi,
    I want to delete completely a specific purchase order from the system so I followed the next steps to do that but is not working.. not sure if I'm doing something wrong.
    Steps:
    1) I marked up the PO as deleted in the ME22 transaction:
    2) In the transaction SARA I followed these steps:
    Step 1: Create variant for Archiving. Give it a name. Enter your PO number. Flag One step procedure. Flag detailed log. Erase flag for test run.
    Step 2: Maintain your start date, you can use Immediate in such a small case.
    Step 3: Maintain spool parameters. Enter your printer and set the values if you want to print immediatly and if you want keep the print. I suggest to hold the spool in the system. This helps you to determine any error.
    Step 4. Execute the variant.
    3) If I go to the transaction ME23N it says that the PO is archived but is there yet. Also, I can see it in the "Docuement Overview". How can I delete this PO completely from the system??
    Thanks for the help!!

    HI Carlos,
    Since you archived PO, it is stored in archive physical drive not in SAP drive.
    when u use me23n, the archived PO is picking from physical drive and it says "Already archived" message.
    I'm sure there will be no table level entries for the archived documents
    Go to SARA transaction - information system--> Archive Explorer - MM_EKKO and execute.
    Check your PO is listed here.
    So if you dont want to see your PO, then you need to De-activate information system
    in SARA-Information System-->Customizing -
    search infrastructure by Object name and use activate/deactivate icon -
    A question i really need to know - Why you want to delete a particular PO, Archival process is not a small thing and usually it takes place as a MASS activity.
    reg,
    bhg

  • Archive process number

    In my DB every redo log group have 3 member and i set the log_archive_max_processes=3. when log switch trigger then the archive process start working,it can let one process to read one redo member and add efficient.... right??
    if every group only have 2 member,i set the parameter=3 isn't has any efficiency help...true??
    thankx~

    Hi,
    Same post Re: Standby Database
    Still not yet resolved..
    Still you need to check your network bandwidth whenever this happenes.
    Regards,
    vijayaraghavan K

  • How to start Archiving process in production system.

    Dear Experts,
    As i was new to archiving process need help regarding this.as our client as 1.3 Tb of data with them,as they want to clean the unwanted data from the database.as they are using windows 2003 as server, oracle as database and using sapr/3 4.6 c.i want to know from where i have to start the process.i have read so many threads regarding this.they are helpful for me.i have some queries that i have to clarify.
    1) I have found which table increasing more in database.,i have checked (DB15 ,SAARA).how to find this has to archive.
    2) Data which is not important who has to delete that data.i heard data deletion is not basis work.
    3) After deleting data in datbase without reorganising space will not be empty is this may be the cause??
    4) is there any data loss in  reoraganising??
    5) is there any way to do reorganising with brtools in oracle.??
    Please clarify me.
    Regards,
    Naveen  N

    Dear Naveen,
    Data archiving is an inter-departmental activity.
    The person responsible for each application (which he/she is using in SAP Solution to carry out the business process) should be involved in SAP Data Archiving Process/Activities.
    The team should be grouped with the persons responsible for each application.
    After the planned Analysis, The team grouped for executing the Data Archiving process produce the checklist for Archive Data (based on your business process and other dependent factors). They will provide the inputs (archiving objects) for Data Archiving requirements.
    Moreover, As a part of Data Archiving process, you will have to delete the planned archive data from the actual Database. So, some spaces will become free in Database but all will be scattered in its respected Tablespace(s) in random manner. You will have to perform Database Reorganization to regain the free space.Because, The Data is stored in Database in form of Fragmented database objects (Tables/Indexes) in its respective Tablespace (s).Reorganization is generally performed to defragment these database objects. By doing so, one can improve performance and regain the space within tablespaces that was being unused due to fragmentation.
    I hope this information will be helpful.
    Regards,
    Bhavik G. Shroff

  • Date range for archive process for infotype

    Hello All,
    My User wants to remove  employee information in info type for terminated employees, so we decided to go for archive process but basis team is asking for date range.
    Can anyone suggest me how to give date range, even to provide to-date unable to get any points.
    Regards
    Ananthi.M

    Hello Kenneth,
    As you aware, we cannot delete info types Basic pay, Garnishment document  likewise there are around 15 info types which I am unable to delete due to time constraints etc.., for this process also the SM35 batch session is the better way.
    User wants to remove from table level ,the information is not required and no one should see the information.

  • QM Sample archive process and Flexible Reports

    Hi
    I'm looking for help in QM, regarding.
    1) QM Flexible Reports with t-codes please.
    2) Sample archive process with t-codes please.
    Thank you.

    Few QM reoprts:
    QA33,QGA1,QGA2,QGP1,QS58,QDH2,QM11,QI06.
    Archiving tcode:SARA.
    Hope this will help.

  • Can data be purged without the archiving process in BW system?

    Dear all,
    can anybody give me some comments on the data purging process?  After checking some materials about BI data archiving,  I am wondering:
    if data can be purged skipping the archiving process?  As long as no requests to retain the historical data, it should be good for performance reason to purge some useless data.
    My doubt to this question is:
    1. Will there be any inconsistency if we do the data purging manually without instruction of SAP standard process?
    2. Will there be any particular issues for DSO and Cube data purging?  Since there should be some business related dependencies.
    It would be highly appreciated for sharing the best practice in data purging or archiving in BW system!
    thanks in advance!
    Jennifer

    Hi,
    as others are pointing you should never delete data with other means than SAP standard procedures (request, selective, archiving....); in other words, do not delete data directly from the the BW DB tables!! This would definitively lead to big troubles... I am not sure what you mean exactly by "manually"...
    Deleting data (purging and or archiving) should always been considered carfully:
    - is the cube/dso a source of data for other targets (datamart)? If this is the case then the deletion should be carefully analyzed
    - for DSO/ODS it is particularly important to ensure that the keys of the records to be deleted will never be loaded again in the DSO; because of the overwrtie capabilities for these containers, this situation will obviously lead to incorrect data posted in subsequent targets
    Currently we've never used the archiving functionalities of BW... We monitor closely the data genererated by BW itself in datamart scenarios (PSA in between providers can grow very fast) and have implemented a customized process for that since it wasn't possible to archive PSA in BW3x....
    Most of the data stored in our providers are still used by our consummers (six years of data, some 3TB) and we use the logical partitionning extensively on the calendar year; this enable us to "move" "old" data to less expensive storage line.
    hope this helps....
    Olivier.

  • Archival process not running on physical stand by

    for physical stand by database we dont have archival process not running. but both primary and stand by database are in sync.
    though log_archive_max_processes is set 2.
    any help appriciated.

    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
    PL/SQL Release 10.2.0.4.0 - Production
    CORE 10.2.0.4.0 Production
    TNS for Linux: Version 10.2.0.4.0 - Production
    NLSRTL Version 10.2.0.4.0 - Production
    and
    select process, client_process, sequence#, status from v$managed_standby;
    PROCESS CLIENT_P SEQUENCE# STATUS
    MRP0 N/A 4930 WAIT_FOR_LOG
    RFS UNKNOWN 0 IDLE
    it doesnt shiw any archival process running.

  • HOW TO CREATE PROCESS CHAIN FOR PSA ARCHIVING

    SDN EXPERTS,
    i like to create process chain for archiving. but i dont see any event for archiving when i go to create a process chain for PSA archiving. please let me know.
    thanks

    Hi,
    In the below document on the 14th page it says it is not possible to archive the master data & PSA.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f47fec9f-0501-0010-ce84-8a7231715ae6
    As per my understanding..
    But one thing you can do is use another ODS and load the same data that you're loading to something else and try to archive that data(Only if you have transformations in the current CUBE/ODS).
    Correct me if i was wrong and eloborate your requirement.
    Regards, Siva

  • File Archiving process in ODI

    Is there any delivered process in ODI for archiving files that are coming from several sources ? I would appreciate for your response.
    Thanks,

    Hi Ram,
    Hope you are fine and doing well. Can you give your requirements? I will give you the process of Archiving the files which may be useful to you. [www.odiguru.com]
    you can use the odi open tool odizip to archive the files.
    The process is totally depend on your requirement
    RAM KUMAR LANKE
    Edited by: 855243 on May 2, 2011 8:47 PM

  • Find resource utilized in archive process....

    Hello I am new to oracle.
    I am deciding to configure standby database for my production database( oracle 9.2.0.6).
    My database is running in archive log mode and its currently archiving in one location.
    I was questioned by my line manager ?..
    what will be the resource utilized at the production server if you try to archive redologs at 2 location (ie mandatory). interms of cpu, io and performance of current database running.
    what difference it makes if I archived to second destination which can be local or on remote server.
    I need to understand impact on performance of my production server if I archived to more than one location.
    Is there any specific views that I have to query at database level or at os level.
    Plz help.

    Hi,
    If you don't mind, I won't answer your questions in the order you asked them.
    what difference it makes if I archived to second destination which can be local or on remote server.The destination for the 2nd set of archived redo log files must be remote (IMNSHO) if you want to set up anything close to a DR scenario. Standby Databases are used in case of crash of the Primary Database, when it can't be started up again fast, to failover to the standby in order to continue working. If you set up the Standby on the prod server, odds are 99% for it to be useless when the crash happens. And you don't want that, do you?
    So, in that case, it'll "cost" nework badwidth. Up to you to check how much archive volume is generated on average per hour, to know what kind of bandwidth you need. I posted a query to compte that some time ago, but can't seem to find it anywhere in the Forum. Anyway it can be achieved by:
    SELECT
      TRUNC(ARCHIVED.NBARCHIVEDBLOCKS * BLOCKSIZE.VALUE /1024/1024/24/3600,2) "MebiBytes per Second"
    FROM
    (SELECT VALUE FROM V$PARAMETER WHERE NAME='db_block_size') BLOCKSIZE,
    (SELECT SUM(BLOCKS) NBARCHIVEDBLOCKS FROM V$ARCHIVED_LOG WHERE TRUNC(FIRST_TIME) = TRUNC(SYSDATE)-1 AND STANDBY_DEST='NO') ARCHIVED;(as you're archiving to one destination only atm).
    what will be the resource utilized at the production server if you try to archive redologs at 2
    location (ie mandatory). interms of cpu, io and performance of current database running.There's no ROT to compute such things, they depend on way too much info. But you can count on a small overhead in CPU and memory (ram) usage on the production server. Though this will not have any noticeable impact on the production database. Except of course if you're realy running low on those resources!
    Anyway, the first thing you should do if you want to set it up is to start 2 archiver processes (log_archive_max_processes=2) in order to archive fast enough. oh, and of course you should first try it yourself on a test server!
    HTH,
    Yoann.
    Message was edited by:
    Yoann Mainguy

  • Table for Payroll Archive process

    Hi ,
    I need the table in which the data for payroll archive process is stored.

    Payroll Archive Information goes in "PAY_ACTION_INFORMATION" Table .
    Important Points about this table :
    1. When the value of the column "ACTION_CONTEXT_TYPE" is 'PA' then the row stores Payroll Level Information and the corresponding ACTION_CONTEXT_ID is the "PAYROLL_ACTION_ID" of the Payroll Archiver run. Note that "PAYROLL_ACTION_ID" is the primary key of PAY_PAYROLL_ACTIONS
    2. When the value of the column "ACTION_CONTEXT_TYPE" is 'AAP' then the row stores Assignment Level Information and the corresponding ACTION_CONTEXT_ID is the "ASSIGNMENT_ACTION_ID" of the Archiver for the assignment. Note that "ASSIGNMENT_ACTION_ID" is the primary key of the table "PAY_ASSIGNMENT_ACTIONS" .
    The following query can be used to fetch all the archived information for a particular run for a particular assignment :
    SELECT pai.*
    FROM pay_action_information pai,
    pay_payroll_actions ppa,
    pay_assignment_actions paa
    WHERE ppa.request_id = :request_id
    AND ppa.payroll_action_id = paa.payroll_action_id
    AND paa.assignment_id = pai.assignment_id
    AND paa.assignment_action_id = pai.action_context_id
    AND pai.action_context_type = 'AAP'
    AND pai.assignment_id = :assignment_id
    The following query can be used to fetch all payroll level information pertaining to a particular run .
    SELECT pai.*
    FROM pay_action_information pai,
    pay_payroll_actions ppa
    WHERE ppa.request_id = :request_id
    AND ppa.payroll_action_id = pai.action_context_id
    AND pai.action_context_type = 'PA'
    Please note that for 'Year End Archiver' all the information is stored in FF_ARCHIVE_ITEMS

Maybe you are looking for