Archiveing working LOG_ARCHIVE_START=FALSE
Dear Friends,
Today I was going through the parameters in my database and found that the
LOG_ARCHIVE_START is set to FALSE . Inspite of this my database is working fine and automatic archiving and rman backups are running successfully.
My OS is windows 2003 and Oracle database is 10.2.0.1.0
Can anyone explain how this is happening.
>> In that case how to disable archiving in 10g?
Disabling Archive log in 10g is as good as enabling.
SQL> archive log list
SQL> shutdown immediate
SQL> startup mount
For Enablining
SQL> alter database archivelog;
For Disabiling
SQL> alter database noarchivelog;
SQL> alter database open;
SQL> archive log list
Note: Strongly recommended to have backups before and after the above changes.
Refer Oracle Documentations.
http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/archredo.htm#sthref1040
Regards,
Sabdar Syed.
Similar Messages
-
How Do I Make Import Address Book Archive Work Properly?
I have several address books archived. I have one for Christmas cards, I have another for my neighborhood watch program and others that I use at various times. Some of the archives were made using Tiger and some I have created in Leopard. When I Export an Address Book Archive it does so without a problem. When I Import one of my Address Book Archives, to replace whatever address book is currently located in Address Book, the import does not work. Once I try to import, I must quit Address Book then reopen it and I still have the Address Book resident that I was trying to replace. The only way I have found to replace the resident address book is to first archive the current book for the sake of having it backed up, then delete all the names in the book by selecting all then deleting by hitting the delete key or by selecting Delete Cards using the Menu. After the names are deleted, then Importing an archive works fine.
Is anyone else having this problem or possibly have a solution to making Address Book work properly without having to delete all the current names before Importing an archive?
Information: I have deleted the Address Book Folder located within the Home/Library/Application Support folders and rebuilt it under Leopard OS and then pasted the names that were resident before deleting the folders. So far, I still cannot get the Import Address Book Archive function to work properly. Thanks in advance for any helpful information or hints.Ok! Hmm... I indeed have tried to import an archive, did get the message, replaced all and had it working fine for me so it should for you I would think.
Have you tried to log in your computer as a different user, launch AB and try to toggle back and forth between archives to see if you experience the same issue? If not, then it is a user specific issue, if yes, then it may be more a case of app/system issue.
If you are able to overwrite in AB under a different user, then I would suggest you log in back to your main user and repair permissions (applications/utilities/disk utility repair permissions.
As for your use of AB and different archives, I am sure no one is bothered by that. We are all users here trying to learn and/or help others. I would only point out that if you cannot find a solution to your problem, you may want to consider working with AB in a different manner than you have in the past and by your description of usage groups and smart groups will more than handle your contacts while avoiding mixing apples and doughnuts - but I am sure you have thought of that already !!
hope this helps -
Delete/Archive Work Centers
Dear All,
How do I do a MASS delete for all work centers under a certain plant?
Also, if I have a Work Center that I try to delete and it says it is in USE, where can I see where it's used? If it is used and I still want to delete it, what can I do?
Please inform,
thank youDear,
You can just set "Deletion Flag" in the change mode of the resource (extras>Status>Deletion Flag) and then follow the archiving method to delete from the database. For archiving and latter deleting you can use transaction code "CR41" (CRA2 and CRA1)
You need to get the authorisation for directly deleting from "CR02".
CR41 The Archiving steps :-
Archiving object PP_WKC for work center.
You can display the archived data, but not reload it.
Type in a variant name and click Maintain. (Tick the Test Mode for archive simulation).
Save the variant.
Maintain the Start date and Spool parameters and click execute.
Click Goto Job Overview to check the archive status.
To do a permanent delete, goto transaction CR41and click Delete button.
Maintain the Archive Selection, Start date and Spool parameters.
Click Test Session for testing or click execute to start the deletion program.
Click Goto Job Overview to check the delete status.
Hope clear to you.
Regards,
R.Brahmankar -
How to make peazip (file archiver) work on 64 bit?
Hello Archers!
How do I make peazip run on my 64bit arch?
The AUR packages are only for 32bit, so I downloaded the portable gtk version (http://downloads.sourceforge.net/peazip … TK2.tar.gz) and I get this
$ ./peazip
(peazip:7797): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libindustrial.so: wrong ELF class: ELFCLASS64
(peazip:7797): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libindustrial.so: wrong ELF class: ELFCLASS64
(peazip:7797): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libindustrial.so: wrong ELF class: ELFCLASS64
(peazip:7797): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libindustrial.so: wrong ELF class: ELFCLASS64
(peazip:7797): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libindustrial.so: wrong ELF class: ELFCLASS64
[WARNING] Out of OEM specific VK codes, changing to unassigned
[WARNING] Out of unassigned VK codes, assigning $FF
Runtime error 231 at $081BF44D
$081BF44D
$08065B2A
$0837B0DA
$0813FF72
$08142419
$0807A403
$0807C11B
$0807E1A6
$080853C8
$0805CFE8
$ file peazip
peazip: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
Do I miss the 32bit gtk librarys?
I have this "lib32" gtk
$ sudo pacman -Qi lib32-gtk2
Password:
Name : lib32-gtk2
Version : 2.20.1-2
URL : http://www.gtk.org/
Licenses : LGPL
Groups : lib32
Provides : None
Depends On : lib32-libtiff lib32-atk lib32-pango lib32-libxcursor
lib32-libxinerama lib32-libxrandr lib32-libxi lib32-libcups
lib32-heimdal lib32-openssl lib32-pcre
Optional Deps : None
Required By : foxitreader
Conflicts With : None
Replaces : None
Installed Size : 6348.00 K
Packager : Ionut Biru <[email protected]>
Architecture : x86_64
Build Date : Wed 05 May 2010 06:23:55 PM CEST
Install Date : Thu 15 Jul 2010 04:10:24 PM CEST
Install Reason : Installed as a dependency for another package
Install Script : No
Description : The GTK+ Toolkit (v2)
Or do I need other libraries?
What do I have to do? Thanks!
Last edited by cyberius (2010-07-15 15:02:33)I think you need lib32-gtk-engines.
EDIT: Never mind doesn't work for me either, lib32-gtk-engines fixes only the wrong elf class message.
Last edited by Celar (2010-07-18 03:22:41) -
Why isn't Create Archive working for dv file?
I have a 9GB dv file that I like to archive. I highlight the file and "create archive". A .zip file is created immediately, but when I check the file, it is zero byte length. I tried with another file which is a small .pdf file, a valid zip file was created for me. Looks like I did the right thing, but the software didn't. I used Apple help, it suggests checking permission. I have read write permission on the file and its containing folder.
Any suggestion? Can a .dv file file achived in the first place?It turns out not the file size. I later found out that the archive does not start until like 5 minutes after the empty zip file is created. It estimates that the 9GB will take 22 hours to compress. I guess the 5 minutes delayed response is also due the slow CPU of my old G5 iMac.
Thanks anyway. -
Disabling Log_Archive_Start in Archive Log Mode
Guys,
I have a Database running in Archive Log mode.
I have a situation where in I have to do bunch of bulk updates for which I dont want any logs generated.
sO I was thinking to set the intialization parameter log_archive_start to false before I run the DML updates
ALTER SYSTEM SET log_archive_start = false
after the DML is run I will turn it back on
ALTER SYSTEM SET log_archive_start = True
Do you think if this is the right to go about or would I have to switch from Archive Log Mode to No Archive Log Mode
run the DML update and then switch back to Archive Log Mode
Any comments/suggestions/inputs wooHello,
I would use some other way to get a full nologing behaviour.
First, ensure your tablespace is in force logging mode.
ALTER TABLESPACE data FORCE LOGGING NOLOGGING;
ALTER TABLESPACE index FORCE LOGGING NOLOGGING;
This will ensure that you're usually logging.
Set all tables/indexes to be nologging
BEGIN
FOR vRes IN (SELECT OWNER,TABLE_NAME FROM DBA_TABLES WHERE TABLESPACE_NAME='data')
LOOP
EXECUTE IMMEDIATE 'ALTER TABLE ' || vRes.OWNER || '.' || vRes.TABLE_NAME ' NOLOGGING';
END LOOP;
END;
Do even for indexes.
From now on, when you want to do your huge amount of updates/... targetting objects in tablespaces data and index, jou just have to:
ALTER TABLESPACE data NO FORCE LOGGING;
ALTER TABLESPACE indexes NO FORCE LOGGING;
- Your DML
ALTER TABLESPACE data FORCE LOGGING;
ALTER TABLESPACE indexes FORCE LOGGING.
4 commands to disable logging for every object in the tablespace.
Beware, when in NOLOGGING mode, you won't be able to "RECOVER" any of the tables. Thiis is not crash-friendly, but you'll have no redo info generated, which is what you require.
Regards,
Yoann. -
Address Book Archive not working
I am trying to move my Address Book from my G4 to my MacBook Pro (both running 10.5.8). The archive creates, I move it over on a USB stick, and then use import/address book archive. It gives me a popup saying that reverting to the archive will wipe out my existing addresses, I respond OK and then nothing happens. The Address Book shows that I still have the original 21 cards, only one shows up. Nothing else happens.
When I close Address Book and then reopen it, it shows the same initial 21 cards.
I've tried this several times, with new archive files.
Thanks,
EricThe archive works, the unarchive doesn't.
To get around this, right-click on the archive and choose "Show Package Contents." Replace everything in your username/Library/Application Support/AddressBook/ folder with the contents of the archive package. -
Bug: Auto-archive does not work in Outlook 2010
The Auto-Archive feature does not seem to work. In my case, I'm creating a mail folder in my inbox and setting the auto archival to "2 weeks, then delete". I run Auto Archival manually. It seems to progress without any error, but I know better.
It should take the process more than a few minutes to process the mail I have stored up for almost a year. No error and my mail has been untouched.
I noticed this thread in the Outlook 2010 beta forums
I'm having the same issue. I'd like this bug fixed if possible? I keep archival folders to manage my mail.Hi Canovac,
Auto Archive works as expected in my environment. I noticed you said that you created a new mail folder in your inbox. Did you just create the folder and move the mail to that folder? Auto archive looks at modified date and if you
move the mail to that folder that changed the modified date so the mail will not archive.
To determine the modified date, do the following:
While on the folder in question:
Click View > View Settings > Columns
In the Select available columns from dropdown choose
All Mail Fields locate Modifed in the Available colums: and click
Add
If the mail has not been modified within the last two week span, please test the following for me.
Start Outlook with the /safe switch and then run Auto-Archive.
Does auto-archive work when starting with the /safe switch?
Regards, Teresa Microsoft Online Community Support Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community
members reading the thread. -
Gmail archiving in iOS doesn't work as expected
Hello,
In the IOS Mail app I can use archive to move my mails to an archiving folder so I can review them afterwards. This works for Outlook.com or exchange accounts but not for Gmail.
In mail advanced options I can set an archive mailbox, for example "Archive" instead of "All Mail".
But then whenever I archive an email it disappears from my inbox but it's not moved to the archive folder I selected ("Archive").
If I check the Gmail website I can see the "inbox label" is removed for that mail but the "[imap]\archive" label isn't added, forcing me to go to the All Mail folder to recover the mail. I understand that's the way archiving works in the Gmail website but having an option to choose an archiving folder in Mail and then not using it gets confusing.
Archiving in OSX Mail works as expected (archive button moves mail to a mailbox called [imap]\Archive).
Also, in iOS, when browsing mailboxes from the settings app the Archive icon is next to the archive mailbox but in the Mail app it's next to the "All Mail" mailbox. That seems like an inconsistent behavior to me.When you archive email in Gmail, it gets moved out of the In Box. Gmail uses "All Mail" to archive mail, not a folder called "Archive". My experience is that the Mail app on iOS devices exactly mirrors the folder structure of my Gmail account. My interpretation of that setting was that you chose to move the mail to deleted or to whatever folder the mail service uses to archive its mail. And, "All Mail" is that folder for Gmail. I would find it terribly disconcerting if the Mail app on my phone created a folder that didn't exist in my Gmail account.
I haven't used the Mail application on my Mac in years because I hate it so I can't comment on that.
Submit your feedback directly to Apple using the appropriate link on the Feedback page:
http://www.apple.com/feedback -
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> -
Oracle 10g - switch off archive logs
Hi,
I understand in oracle 10g, the following parameter is not longer available:
LOG_ARCHIVE_START=FALSE
Can i confirm that for now, only way to disable archive log is to execute the following command when in mount stage:
alter database noarchivelog;
There's not other parameter we can specify in pfile to disable it permantely?
thanksYou are correct. No other parameters.
-
Chane archive mode to non archive mode
hi
how can i change a an archived database to n on_archive databaseIssue the following commands to put a database into ARCHVELOG mode:
1) Take Back up of Present SPfile by creating pfile " pfile path " from present spfile.
2) Shutdown the database by SUTDOWN IMMEDIATE.
3) Take Cold backup of the database in repsective place .
4) Change the parameter in the pfile.
log_archive_start = FALSE
log_archive_dest_1 = 'LOCATION=F:\Backup\Archive'
log_archive_dest_state_1 = DISABLE
log_archive_format = %d_%t_%s.arc
5) And make a spfile from the modified pfile in default location .
6) Start the database with spfile.
SQL> CONNECT sys AS SYSDBA
SQL> STARTUP MOUNT ;
SQL> ALTER DATABASE NOARCHIVELOG;
SQL> ARCHIVE LOG STOP;
SQL> ALTER DATABASE OPEN;
NOTE 1: Remember to take a baseline database backup right after enabling archivelog mode. Without it one would not be able to recover.
Also, implement an archivelog backup to prevent the archive log directory from filling-up. -
Missing inbox / sent items in users online archive
Hi, I have quite an alarming problem with a users online archiving setup in exchange 2010 SP1.
I have online archiving setup for a relatively small group of users. Its working fine for everyone except 1 - everyone has email moved to the archive after 2 years.
The one user with the problem however has no inbox and no sent items on the archive mailbox. They have subfolders from the "root" with mail in them, but no inbox / sent items.
Email are however being deleted from these folders after 2 years from the regular inbox!
I have tried logging in through OWA (same) and other machines (same). I've tried using MFCMapi to check for the hidden properties on the archive mailbox (both false). I've tried using powershell to view statistics on the folders, and it appears to have 1
item in the inbox on the archive at least.
Can anyone help me? Frankly I've ran out of ideas at this point.Hi,
It is so strange that there is no Inbox and Sent Items folder in a user’s online archive mailbox. Please check whether there are no older than 2 years emails in Inbox and Sent items folders.
Generally, within the archive mailbox, Exchange will automatically create the complete folder structure that was present in the user’s primary mailbox. The folder structure is not created within the archive mailbox until messages need to be moved into a
given folder from the primary mailbox to the archive mailbox.
I don’t know whether disable archive then enable it for this mailbox can recover Inbox and Sent Items folders or not. We can back up this archive mailbox firstly like exporting mailbox data to a PST file. Then try re-configure online archive
for the mailbox to have a try.
Thanks,
Winnie Liang
TechNet Community Support -
Auto-archiving streams with H.264 video
My CDN is running FMS, and my customers and I stream a lot of live traffic through it. We've got FMS configured to auto-archive our live streams, but that only works for stream using VP6 video. When I look at the archived files captured from H.264 streams I get audio but no video.
Is it possible to get FMS to autoarchive H.264 streams? Or is this planned for a future release of FMS?Yes, that does help, thanks!
We do indeed have a script running to do our auto-archving. It currently doesn't recognize h.264, but with the info you provided I should be able to modify it to do so.
What we are currently running is:
* (C) Copyright 2007 Adobe Systems Incorporated. All Rights Reserved.
* NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the
* terms of the Adobe license agreement accompanying it. If you have received this file from a
* source other than Adobe, then your use, modification, or distribution of it requires the prior
* written permission of Adobe.
* THIS CODE AND INFORMATION IS PROVIDED "AS-IS" WITHOUT WARRANTY OF
* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
* PARTICULAR PURPOSE.
* THIS CODE IS NOT SUPPORTED BY Adobe Systems Incorporated.
/* Adobe Flash Functions */
/* Load webservices.asc */
load("webservices/WebServices.asc");
trace(" * Loaded webservices/WebServices.asc");
trace(" * Started Application");
application.onConnect = function( client ) {
/* Connection has started */
client.getStreamLength = function( streamName ) {
trace(" * Length => " + Stream.length( streamName ));
return Stream.length( streamName );
trace(" * Camera Connected");
application.acceptConnection( client );
application.onPublish = function (p_c, p_stream) {
/* Publishing has started */
trace(" * p_c => " + p_c);
trace(" * p_stream => " + p_stream);
trace(" * Publishing started for stream " + p_stream.name);
p_stream.archiveStart();
application.onUnpublish = function (p_c, p_stream){
/* Publishing has stopped */
trace(" * Publishing stopped for stream " + p_stream.name);
p_stream.archive();
/* Our Custom Functions */
/* Last Modified Tue Dec 1 2:55 pm */
trace(" * Loading Custom Functions ... ");
Date.prototype.unixTime = function () {
/* Create and returl unix timestamp */
trace(" * Getting UNIX Timestamp ... ");
return Math.round(this.getTime() / 1000);
Stream.prototype.archiveStart = function() {
/* Start archiving stream */
this.record(); // start recording live stream
trace(" * Recording started for stream");
this.startTime = (new Date()).unixTime();
// attach start time in unix time to object
Stream.prototype.archive = function() {
trace(" * Function => Stream.prototype.archive");
this.record(false);
// stop recording live stream
trace(" * Setting this.record to false");
f = "/streams/_definst_/" + this.name + ".flv";
// current name of file that was recorded
trace(" * f => " + f);
src = new File(f); // create a new file object of for sourse
if(src.exists){
/* src file exists */
trace(" * Src for " + f + " exists");
/* Create new unique name for recorded stream */
f1 = '/streams/_definst_/live_event_archives/auto_archive_' + this.name + '_' + this.startTime + ".flv";
trace (" * New file name => " + f1);
/* Copy src file to new file */
try{
src.copyTo(f1);
trace(" * Copied src to " + f1);
catch(error){
trace(" * ERROR copying src to " + f1 + ": " + error.message);
/* Remove src file */
try{
src.remove(); // remove source file
trace(" * Removed src");
catch(error){
trace(" * ERROR deleting file: " + error.message);
/* Make web service request to vod server */
trace(" * Preparing to send to vod server ... ");
this.sendToVOD(this.name,f1,this.startTime,new Date().unixTime());
else{
trace(" * ERROR! Src does not exist! " + src);
Stream.prototype.sendToVOD = function(n,f,s,e) {
trace(" * Preparing to submitting data to vod server ... ");
trace(" * n => " + n );
trace(" * f => " + f );
trace(" * s => " + s );
trace(" * e => " + e );
/* URL for web service call */
var cst_url = "http://cst.{OUR DOMAIN}.net/gateway/point/?name=" + n + '&file=' + f + '&start=' + s + '&end=' + e;
trace(" * URL => " + cst_url);
/* Init new webservice url call */
var web = new WebService(cst_url);
/* Make web service request */
web.onLoad = function(wsdl){
trace(" * Connected to vod web service");
web.onFault = function (wsdl){
trace(" * Could not connect to vod web service!");
So, I will see if I can't modify it to decide whether it need to do mp4 or flv, and see if that helps. -
Disabling Archiving in Oracle 9i
Have checked google and found out how can I see if archiving is enabled on Oracle 9i:
Select NAME,
CREATED,
LOG_MODE,
CHECKPOINT_CHANGE#,
ARCHIVE_CHANGE#
from V$DATABASE;
NAME CREATED LOG_MODE CHECKPOINT_CHANGE# ARCHIVE_CHANGE#
ORCLDB *11/21/2007 4:17:56 PM ARCHIVELOG 8762540610649 *8762539839755
Need help on how to disable archiving. Hope someone can provide me the detailed steps. ThanksYou can also check archive status by,
SQL> ARCHIVE LOG LIST;
To disable,
set the parameter log_archive_start=FALSE;
SQL> alter system set log_archive_start=false scope=spfile;
SQL> shut immediate;
SQL> startup mount
SQL> alter database noarchivelog;
SQL> alter database open;
refer this,
http://download.oracle.com/docs/cd/A97630_01/server.920/a96521/archredo.htm
Thanks
Edited by: Cj on Dec 13, 2010 1:24 AM
Maybe you are looking for
-
Trying to do a clean re-install on my macbook and
I got an error that my "drive cannot be cleaned up and to try again"!!!!!! What to do?
-
Total of actula product cost to total of target cost
Hi all Total of actula product cost to total of target cost .... How can we get data for this report plz provide me , is there any standard report available for considering this data Many Thanks MvNr
-
Creating a thread for 64bit Windows7 users to post in regards to support for the DNG codec on 64bit-Win7. Currently 64bit nor Win7 is supported for the RC codec. Adobe supports 64 bit, in CS4, LR 2.x and LR3 beta. I expect 64bit and Win7 for the cod
-
Updated to iOS 8, now Facebook app won't open
I have an iPhone 5c. After doing the update, my Facebook app won't stay open. What to do?
-
Hi Experts, Crystal report an error has occurred in the script on this page
Hi, I am using Crystal Reporter Integration add-on 2.0.07 to show crystal report but getting " an error has occurred in the script on this page error " Installed in PC- 1) FRAMEWORK 3.5 SP 1 2) CRYSTAL REPORT 2008 RUNTIME SP1 3) XP SP 3 Thanks Raj