Multiple Archive Directory

Hi All,
Our scenario like....
source directory:
/data/interface/xxx/file1.txt
/data/interface/yyy/file2.txt
/data/interface/zzz/file3.txt
I want file will be archived in different directory.
Archive directory...
/data/interface/xxx/processed/file1_timestamp.txt
/data/interface/yyy/processed/file2_timestamp.txt
/data/interface/zzz/processed/file3_timestamp.txt
I am using one file adapter for sender.
Plz Help needed urgently.
Regards,
Samarjit

Hi,
For each interface you must be having different Communication.
In the sender communcation channel for<b> each</b> of the sender
Specify:
Processing Mode : Archive
<b>Set</b> Add TimeStamp Indicator.
Specify the archive directory path.
Further reference
http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/content.htm
<b>Cheers,
*RAJ*</b>

Similar Messages

  • Multiple Archive directories in Sender file channel

    Hi Experts,
    My requirment is to have multipple archive direcotories in Sender file channel.
    We have multiple source dirs  e.g.
    c:/abc/
    c:/bcd/
    c:/cde/
    and we want to archive the files from these source dirs to corresponding archive directories e.g.
    c:/abc/archive
    c:/bcd/archive
    c:/cde/archive
    I can see that we can have only 1 archive directory when the processing mode is kept as  "Archive"
    How can we achive the same , Please help
    Thanks in Advance,
    Jyoti

    Hello,
    I guess you don't have option to archive files in different directories using single CC.
    You can archive the files in 1 directory and then run a OS script, which will place the files in different directories (using NFS as protocol).
    Some reference:
    http://wiki.sdn.sap.com/wiki/display/XI/SAPXIFileAdapterOSCommandLine+Feature
    http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/10392. [original link is broken] [original link is broken] [original link is broken]
    -Rahul

  • EDIFACT File TO IDOC Archive directory file name.

    HI Experts,
    I have EDIFACT file to IODC scenario. I have  multiple source file locaiton but only one Archive location directory.But I have three different kind of file coming form three different location.
    we can only have one archive directory per service, is it possible to manipulate the file name so we can tell if files were successful or failed?
    For example, FileName1.txt, if it was successful, it would move to the archive directory and rename to u201CFileName1.txt.PASSu201D,
    if it failed it would move to archive directory like u201CFileName1.txt.FAILu201D. Is this functionality possible?
    Or will we just have to rely on Alert Categories to tell us when files have failed?
    Kindly give your valuable suggestion.
    Regards,
    Sumit Gupta

    >
    sumit gupta wrote:
    > HI Experts,
    >
    > I have EDIFACT file to IODC scenario. I have  multiple source file locaiton but only one Archive location directory.But I have three different kind of file coming form three different location.
    >
    > we can only have one archive directory per service, is it possible to manipulate the file name so we can tell if files were successful or failed?
    > For example, FileName1.txt, if it was successful, it would move to the archive directory and rename to u201CFileName1.txt.PASSu201D,
    > if it failed it would move to archive directory like u201CFileName1.txt.FAILu201D. Is this functionality possible?
    > Or will we just have to rely on Alert Categories to tell us when files have failed?
    >
    > Kindly give your valuable suggestion.
    >
    > Regards,
    > Sumit Gupta
    When you say success or failure does it mean a successful IDoc created in SAP? if so you will have to use a BPM and on successful creation fo the IDoc write the file out with the PASS name else FAIL name.
    you can also look at employing  scripts but there is no standard feature for this requirement. I gather alert is a better option.

  • How to monitor available disk space in archive directory

    I need to monitor the available disk space of the archive directory during a long running PL/SQL program which does a lot of inserts and updates. This program is running in a background session and should regularly check for the available space. If there is less then a customizable number of MBs free the program must terminate itself. How can I access this information from the file system? (I'm using 8.1.6 and the application will run on both AIX and NT)

    The directory itself is not taking space (It actually does but in most cases you can neglect its size). It is files that it has that take space. Also, the more files you create the more space gets allocates from the media that holds them. And the last, the media (Hard Drive, Floppy, or other) has free space, not directory. That is how all OS's that I know about work.

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

  • Reg:File adapter archive Directory

    Dear team,
    Our requirement is to read a csv file from a directory and archive the file in archive folder specified in the file adapter.
    If any exception is caught,then we need to read the archieve file from archive directory rename the archive file with source file name and place it in source directory.
    On the receive activity we are able to get the source file name and source file directory.
    <receive name="Receive1" createInstance="yes"
    variable="Receive1_Read_InputVariable" partnerLink="fileRead"
    portType="ns1:Read_ptt" operation="Read">
    <bpelx:property name="jca.file.FileName" variable="srcFileName"/>
    <bpelx:property name="jca.file.Directory" variable="srcDrFolder"/>
    How to get the archive file name and archive file directory from the receive activity so that we can store in local variables.
    Pls do help.
    Thanks

    Hi,
    Another way you can accomplish your scenario. Instead of deleting or archiving in beginning just move the file from inbound to archive location after business flow completion.
    In case of error, the file will remain at original position as moving operation is at the end.
    First read the file using read operation, then at the end create a file adapter with sync read operation. Change the entries in .jca generated with below sample.
    Sample jca file.
    <endpoint-interaction portType="SynchRead_ptt" operation="SynchRead">
    <interaction-spec className="oracle.tip.adapter.file.outbound.FileIoInteractionSpec">
    <!-- Below properties are dummy except Type , it will be changed in runtime -->
    <property name="SourcePhysicalDirectory"
    value="srcdir"/>
    <property name="SourceFileName" value="abc.txt"/>
    <property name="TargetPhysicalDirectory"
    value="targetdir"/>
    <property name="TargetFileName" value="abc.txt"/>
    <property name="Type" value="MOVE"/>
    </interaction-spec>
    Then,in you bpel flow at the invoke for sync read add these two properties.
    <bpelx:inputProperty name="jca.file.SourceFileName"
    variable="varInputFileName"/>
    <bpelx:inputProperty name="jca.file.TargetFileName"
    variable="varArchiveFileName"/>
    <bpelx:inputProperty name="jca.file.SourceDirectory"
    variable="varInputDirectory"/>
    <bpelx:inputProperty name="jca.file.TargetDirectory"
    variable="varArchiveDirectory"/>
    - It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    Thanks,
    Durga

  • Regds : Read archive Directory

    I want to read the archive directory name in sender file adapter at runtime in the message mapping?
    Please suggest how can i achive this?

    Want to read the archive directory name in sender file adapter at runtime in the message mapping?
    Why?
    For a given sender file channel, the Archive Directory is constant. One sender file channel can be used only in one Sender Agreement. That means for given combination Communication Component, Interface, Namespace there is only one Communication Channel (Archive Directory). These three variable can be accessed in UDF using
    map = container.getTransformationParameters();
    headerField = (String) map.get(StreamTransformationConstants.INTERFACE_NAMESPACE);
    /* similarly Communication Component, Interface */
    http://help.sap.com/saphelp_nw04/helpdata/EN/43/09b16006526e72e10000000a422035/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/EN/78/b4ea10263c404599ec6edabf59aa6c/content.htm
    i.e. if this combination of Communication Component, Interface, Namespace then this is Archive Directory, if this combination of Communication Component, Interface, Namespace then this is Archive Directory.
    Now we have 2 option:-
    1. Hard code in UDF for this combination this is Archive Directory.
    2. Store these values in a database (this combination this is Archive Directory) and access it in message mapping by database lookup.
    There is other option, write a Adapter module, which populate the Archive Directory in SOAP header of messages in Adapter Engine. And access Archive Directory in UDF, similar to this http://help.sap.com/saphelp_nw04/helpdata/EN/78/b4ea10263c404599ec6edabf59aa6c/content.htm
    . But, this option is not recommended as it is performance overhead, and as for a Communication Channel, Archive Directory will not change (we have to do manual edit), At least very less in production (we don't change it very day ).

  • FTPAdapter - logical directory name - file not moved to archive directory

    I created a simple ftp service to read the file from remote inbound directory and archive it to an "archive" directory using logical directories. I supplied the input and archive directories. The process reads the file from the input directory, but doesnt move it to archive directory. In the opmn logs i see the following message
    File Adapter::Outbound> Since file could not be copied to specified archive directory, file : CUST__20081113002951.xml is being copied to a default archive directory :/apps/oracle/product/10.1.3.1/OracleAS_1/j2ee/home/fileftp/defaultArchive/
    I checked the a) directory permission - this is the ftp users home directory , so it has all the bits set rwxrxrx- I even tried rwxrwxrwx, but same issue
    b) there is enough space on the box
    c) I can manually move the files around as the same user.
    Secondly, the files under the default archive directories are being created as root. Not sure why. Our server is running as "oracle" user.
    We are on 10.1.3.4
    any idea how to troubleshoot this ?
    Edited by: user9514124 on Nov 13, 2008 5:27 PM

    Just a thought. You are trying to archive to an FTP user's home directory. I assume that you want to archive remotely (on the source server)? If so you need to specify UseRemoteArchive="true" in the WSDL file for the adapter. If you forget that the adapter archives locallly on the SOA Suite server and perhaps there the directories are indeed missing or have the wrong rights?
    If you are using remote archiving and it doesn't work, have you tried to login with an FTP client and upload a file to the archive folder with FTP (as the FTP adapter user)? That is what the FTP adapter will do.
    If you are using local archiving, check all the parent directories and make sure that they are fine as well as the target directory. Also look into the file ownership issue, the files should not be created as root if everything really runs as oracle! Perhaps someone has accidentally started something as root?
    Good luck!

  • Regrdin file transer from al11 to archive directory  URGENT

    HI ,
    my actual require ment is
    in BDC inbound interface i have to read data from applcation server .i did that.
    but now i have to send that file to archive directory after succefully reading that.
    can anybody help on this
    wt is archive directory?
    how to send that application server file to archive directary after succesfull reading it? .......
    is there any function module for this....
    wt is archive directory?

    Hi,
    An archive directory is just a concept where one directory on the operating system holds files that have been processed.  You don't need to do anything special, either take the internal table you already have and write it to a file in this directory or call an operating system command to move the file.
    You just need to find out for your system which directory is the archive directory.
    Regards,
    Nick
    P.S. Please consider the rules of the forum and do not mark your post as URGENT.

  • Weird filename are getting created in archive directory.

    Hi All,
    Weird filename are getting created in archive directory.
    I have one ftp adapter,after the file getting processed the file's are getting moved to archive directory.
    But with some different file name/ filename are randomly generated. But the content of the file remains the same.
    Pls suggest.
    Thanks.

    This is standard functionality, it uses the original filename with a suffix of the datetime.
    cheers
    James

  • Problem in Placing the file in  Archive directory

    Hi,
    I am trying to read a file and after processing , I want to archive and place in other directory. Though i am able to read and insert the data succesfully into database but not able to place in 'Archive' Directory.
    What might be the reason any idea???
    I heard there is a bug in 10.1.3.3.0 version... Is this true???
    Any help in this regard would be appreciated.
    Thanks,
    Pallavi
    Message was edited by:
    user614169
    Message was edited by:
    user614169

    I don't think there is a bug related to this in 10.1.3.3
    I am using SOA and JDeveloper 10.1.3.3 and its working fine
    Are u checking the archive option in file adapter?( Check wsdl for entry)
    Also are you giving the physical location or logical one?
    try with physical path if u are not doing it already.
    And also, i don't think files get archived after processing, they get archived at the same time the file adapter is in action.
    Regards
    Ketan

  • Relation between DB Collector and Archive Directory

    If archive directory could not be read, this would cause DB Collector error. Why so?
    And in what condition will cause the archive directory to be not readable?
    Thank you.

    OS process "saposcol" is responsible to read this irectory.
    if this does not work, this means that:
    1. saposcol is broken
    2. saposcol had problems with shared memory
    3. saposcol has wrong permissions set
    4. archive directory has wrong permissions

  • File Adapter - Error creating archive directory adapter file

    Hello,
    I've a interfase File to RFC. In sender CC i have Archive Directory.
    It occurs the follow error:
    Error creating archive directory adapter file
    The archive directory exists.
    any idea?
    thanks very much

    Hi Silvia,
    Check whether the user you are using for FTPing is having proper authorizations.
    Also, verify whether you have the archive directory in place.
    Regards,
    Neetesh

  • Move File Object to Archive Directory

    I am getting a file FTP'ed into a directory which I read, modify and process the data into a different directory. My question is that the origanal file that I read I would like to move to an archive directory. What is the best way to do this?
    Thank you,
    Mike

    Couple of ways, depending on the platform, and if the machine os a server, work station, etc. Can you please let us know what your config is so we can advise you better. - Bart

  • DB12 not showing archive directory status.

    hi,
    We are having SAP ECC 6.0 production server on Microsoft cluster.
    in st06 I am able to see the free space status on each disk.
    but when I check the archive dir status in DB12
    status of archive directory:
    free space (KB):Unknown
    kindly suggest.
    thanks& reg,
    Gokul

    Please review OSS note 536954, which describes the setup of a separate cluster resource that DB12 will use.  You may also need to review 657999 for DB13 operations.

Maybe you are looking for