DEPRECIATION PROCESS IN ORACLE ASSETS(FADEPR)
제품 : FIN_FA
작성날짜 : 2003-05-20
DEPRECIATION PROCESS IN ORACLE ASSETS(FADEPR)
=============================================
PURPOSE
Oracle Assets 에서의 depreciation process 를 간략하게 기술
Explanation
DEPRECIATION IN ORACLE ASSETS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Depreciation Program (FADEPR) 은 감가상각비 및 자산조정액을 계산하여 감가상각 누계액에 Update 하는 역할을 한다. 감가상각을 실행하면 다음 4가지 독립적인 Request가 실행된다.
=======================================================================
- Generate Accounts (FAGDA - Release 11 and 11i)
- Calculate Gain/Loss (FARET)
- Depreciation (FADEPR)
- Journal Entry Reserve Ledger Report (FAS400) for a Corporate book
or Tax Reserve Ledger Report (FAS480) for a TAX book.
- Process Pending Transactions (11i only)
1.Generate Accounts process (FAGDA)은 필요한 GL code combinations 을 생성하여 FA_DISTRIBUTION_ACCOUNTS table에 값을 입력한다. Generate Accounts (FAGDA)는 감가상각 Process의 성능향상을 위해 Depreciation Program (FADEPR)과는 별도로 실행된다. Generate Accounts Running시간은 자산의 수 Distribution의 수에 따라 달라진다.
2. Calculate Gain/Loss Process(FARET)는 처분된 자산의 손익을 계산하는 과정으로 당기의 처분/취소 자산의 감가상각액을 대상으로 한다. FARET는 꼭 감가상각을 실행하면 실행되는 것은 아니다. 자산의 처분/취소가 일어날 때마다 실행된다.
3. Depreciation process 는 감가상각비 및 자산조정액을 계산한 후 해당기를 마감한다.마감한 Period 에 대해 다시 Open 하는 것이 불가능하므로 감가상각을 돌리기 전 모든 Transaction을 끝내야 한다.
4. Process Pending Transactions program 은 Depreciation request set에 Mass Addtion Post작업을 추가하여, 감가상각이 실행 후 다음기를 Open할 때 Mass Additions Post job 이 자동적으로 실행되도록 한다.
Oracle Assets 은 감가상각비를 계산할 때 다음과정을 거치게 된다.
=================================================================
1. DPIS와 Prorate convention을 이용하여 Prorate Data를 결정한다.
2. Prorate data와 Prorate Calendar를 이용하여 Prorate Period를 결정한다.
3. 감가상각율을 결정한다.
4. 감가대상액을 결정한다.
5. 감가상각비를 결정한다.
6. 당기 감가상각비를 결정한다.
각 과정의 부가적인 설명은 Note:77371.1 를 참조하세요.
Example
Reference Documents
Note:77371.1
Hello.
Set the asset cost to zero.
Octavio
Similar Messages
-
APP-OFA-48392: Depreciation has been processed for this asset
Hi,
we are working in oracle applications 11i.
In Oracle assets module, on the attempt from the user to modify the description of an asset item (from asset workbench -open) , when clicking the DONE button, the following error shows up:
APP-OFA-48392: Depreciation has been processed for this asset for the current period in book...
Please rollback depreciation or close the current period to perform this transaction
Any ideas please...Hi
If you have run depreciation for a particular period and thereafter try to make modification to any asset in the same period - the system will not allow you to do the same.
If you have to make the changes than perform either of the following steps as mentioned below:
1) rollback the depreciation for the current period by running the Rollback Depreciation program from the SRS Window
OR
2) Close the period by running the depreciation and thereafter make the changes to the asset in the next period.
Without doing the above, the system will not allow you to make the changes to the asset.
Hope this helps.
Thanks
Manish Jain. -
FA - Asset accidentally deleted but depreciation process was not run
Hi,
Accidentally I have deleted an asset that I should not delete but I did not run the depreciation process.
If I go to Transaction details, it says in status = “Pending”
Is there any way to rollback this or to cancel the transaction and make the asset active again?
Thanks,
Facundo.This are the steps that I made:
1. Go to Assets -> Asset workbench
2. Look to the asset and click on retirements
3. I complete all needed information and save it.
That´s all what I did. If I go to the transaction, the field status shows "Pending".
Is there any way to cancel this retirement? -
Accounting entries process in Fixed Asset Module
Dear all,
I don't know Accounting entries process in Fixed Asset Module. I don't know how to post accounting entries and manage fixed assets
Anyone can share me documents that is relevant to business transaction in fixed asset module.
My ID: [email protected]
Thank in advance
Minh
Edited by: Tran Binh Minh on Apr 21, 2008 5:04 AMHi,
Good Morning,
We are using Oracle R 12 Version 12.1.3
and the issue i m facing Corporate Book as we have not yet started Tax Book
The Addition posted period is closed, but I want to change life in Open Period Mar 12 ( latest open period).
Yes Depreciation Run for March 12.
Please help
Regards
Anant Danve
9820077180 -
Oracle Assets Conversion Release 12
Hello Experts,
I am going to develop the conversion program for Oracle Assets Conversion for release 12. I am new to Fixed Assets concepts.
Could any one guide me what are all the steps to be followed. I understand by studying the user guide that there are 5 different ways to perform this Oracle Assets conversion.
1.Adjusted current earnings(ACE)information
2.Budget Data
3.Mass addtions of Assets
4.Production Information which is typically related to depreciation. and
5.Physical Inventory data.
Since ,as of now I don't have any requirement from my client. They just said to have a process developed to import the data into oracle apps using Oracle asset conversion using SQL loader.
Any Sample codings will be a great help for me.
Thanks,
Ravi.Hi;
Please follow below(and reference) and see its helpful:
Subject: Suggestions for Converting into the Group Asset Structure in 11i and/or R12
https://metalink2.oracle.com/metalink/plsql/f?p=200:27:7590783145359143218::::p27_id,p27_show_header,p27_show_help:685244.993,1,1
Subject: Data Conversion Of Source Lines into Oracle Assets Doc ID: 265835.1
Regards
Helios -
Expensed Asset in Oracle Assets.
Hi,
We wanted to get more clarification around Expensed assets. If we have some assets,which are of non depreciable nature,say for example Land, then such assets should be treated as expensed assets by attaching them to the expense asset category? or for each of these assets the depreciation check box should be unchecked at the asset level? What should be the ideal approach in such a case?
Kindly provide inputs regarding the same.
ThanksHi,
expensed assets are to be used only for assets which are of insignificant value as decided by management. If a normal asset is treated as expensed asset, it would not be charged to an asset account it would be charged to an expense account directly, and there would be no depreciation computed in the asset module, no jounal entry would be created in asset module, the expensed asset would appear in Asset module for tracking purposes alone ...
For example, say your company has been providing Blackberry device to all its employees, ideally this can be treated as an asset, however when compared to the total value of your assets, you may feel it is less significant to be treated as assets, this could very well be treated as an expenditure... hence this would be taken care in the oracle payables stage itself ... however for the sake of tracking alone you want this to appear in asset module...
for which case you would have a dedicated asset category defined without depreciation checkbox enabled and using mass addition process create expensed assets .... Expensed assets has zero financials impact ...
It is not right to treat LAND or other non depreciaable assets as expensed assets reason being, oracle assets would not generate any accounting entries for expensed assets, which means cost related entries for LAND would not be created by system .... Hence you can either create a zero rate depreciation method and map it against the LAND asset category which is a simple step, hence all assets under LAND category would inherit that depreciation method
.... else you can uncheck depreciation checkbox at asset level i.e. for each and every asset under the LAND category.
Regards,
Ivruksha -
Calculate Depreciation Forecast for Fixed asset
Dear all expert,
I'm new to ASO, would like to know if there's a way to do depreciation forcast for fixed asset in Essbase.
1. Database type is ASO
2. Assuming user will prepare forecast caplitialization of fixed asset then upload to Essbase
3. Attribute dimension "Useful life" has been defined and attached to specific "Accounts" dimension for calcluation
4. Need to calculate the forecast and spread of depreciation for future months
E.g. Input 32000 USD for a fixed asset cost with 32 months useful life
-> should calculate 1000 each month for the coming 32 months
Can any expert suggest how to do this in ASO? meaning only can do calculation in member formula itself, not calculation script.
Thanks for your help in advance,
BillyI haven't used the feature, but the reference to 'local script_file' in the MaxL railroad diagram for the 'execute calculation' command suggests the location is relative to the client, if the semantics are consistent with the 'export data' command (the options for report scripts there are 'server' or 'local', although according to the railroad diagram there is no non-local alternative in this case!).
There is a worked example in a Rittman Mead blog post about this that might help: http://www.rittmanmead.com/2010/04/oracle-epm-11-1-2-essbase-calculations-on-aso-cubes-part-2-maxl-scripts-and-eas/
The DBAG also says that the script files should have suffix .csc, while the Tech Ref example has suffix .txt - helpful!! If they were actually meant to sit in the server's db directory, I would be surprised to find the .csc suffix used, since that is also the suffix for aggregation scripts. Although me being surprised doesn't mean much. -
Oracle Assets Category-wise Report from FA and GL tables
Hi,
I am developing a customized report (Schedule of Fixed Assets) in the Oracle Assets Module, Which includes Category Wise Opening Balance, additions, adjustments, transfer IN, Transfer OUT and Retirements of Cost and Depreciations. I am using FA tables (FA_CATEGORY_BOOKS, FA_CATEGORIES_B) for category_id, category_name (segment1 of category combination) and book_type_code (Book Name). And I am also using GL tables (GL_BALANCES, GL_JE_HEADERS, GL_JE_LINES) for the amount of begin_balance_dr,begin_balance_cr,accounted_dr and accounted_cr.
The report gets the category_id,category_name from FA_CATEGORIES_B and book_type_code, asset_account_ccid, reserve_account_ccid and book_type_code from FA_CATEGORY_BOOKS for a single book. The sum of accounted_dr or sum of accounted_cr is calculated for a single category_id whose asset_account_ccid is matched with code_combination_id of GL_JE_LINES.
There are 15 books each have many projects (FA_CATEGORIE_B.segment6). This report is working as desired for 14 books but in one book there is same asset_account_ccid and reserve_account_ccid for more than one category_id(s). That’s why the same amount is displayed against the multiple category_ids .
As functionally it is possible in Oracle Assets to have same asset_account_ccid or reserve_account_ccid for more than one category_ids, I want to know that is there any other attribute(except asset_account_ccid,reserve_account_ccid and code_combination_id) which can be used to get the separate data for each category_id from GL tables.
Regards,
Fahim
[email protected]hi vijay,
thanks for your quick reply,
i'm preparing a reports,fields from bsis and bseg database tables,
and,my select statement giving error,saying that cluster table can't be joined,
my problem is,how to write the select statement without inner join those tables,is there any alternative,
i heard there is 'select for all entries',but i don't know proper usage of that addition,
regards,
kc -
Hi Gurus,
Can you please tell me the process of Sub Assets in AUC and in normal assets as well?
How to capitalize it, retire it, what to do if any sub assets is gone for repairing?
Please revert asap.
Thank YouHi,
A sub asset is one ore more subs on an main asset.
When you use investment orders/projects I think you can't use sub-assets.
When you have sub-assets for AUC in asset accounting it is possible.
Sub assets you are use to make a group of assets that belongs to one object.
In the fieldstatus you can set up the copy rules from the main asset to the sub-asset and what you can change.
In the sub asset you can have different depreciation rules, cost center,.. from the main asset.
Like the boulding (main asset) depreciation is 40 years. In year 5 you do an investment then you say 35 years
You have to retire the main and sub assets separate
How and if to use sub assets is based on your requeirements, first the requirements and then to found a solution and not the way arround otherwise you have still 100 options -
Depreciation On Retired Fixed Assets
Need assistance in troubleshooting an error reported during depreciation process. Error occurs when starting the process "GAINS/LOSS" section of the run. It reports error in CCID for a particular asset which has been retired due to sales. We've checked already checked all set-up relating to depreciation & retirement, which looks ok. Process goes through without error when we "unretire" the asset.
Any suggestions on what else to look out for?
WY Yap (m'sia)Hi
Th reason for this is that retirement (scrapping) is calculated
as netbook value - less planned depreciation from the start fiscal year
until date of retirement) disregarding depreciation runs for the
period
Note 1162647 it does not explain this particular scenario
but in general refers that retirement is based on calculation on
planned annual values
Example:
Fixed asset values
start fiscal year 2008 (start 01/01/2008) is 1200
the useful life is 24 months = 50 to be depreciated per month
last depreciation run was for period 01/2008 , meaning the
netbook value was after that 1150 =(1200 - 50)
Then post retirement (total scrap) on 01/06/2008
The system will do retirement for the values calculated for the year
950 = (1200- 250 ) being 250 = 50 * 5 months (from start fiscal year
until date of retirement)
The depreciations will also being calculated and executed from
start fiscal year until date of retirement)
If this is not the case, I am afraid that you have to log a message on Sap portal for the assistance. -
Oracle Assets: Transferring Assets between Books
With current 11i functionality there is no way to transfer assets between two corporate books. It would seem that the current workaround is to retire the assets in the "old" corporate book and then load them in the "new" corporate book.
What is the best way of achieving this? What are the things to consider?
Can anyone tell me.
RolandHi Miranga,
Another note in the metalink:
I am not sure whether its applicable for you or note:
But please have a look:
Subject: Uploading Assets from ADI Error YTD Depreciation Value must be less than or same as Reserve
Doc ID: 154569.1 Type: PROBLEM
Modified Date : 25-MAY-2009 Status: PUBLISHED
fact: Oracle Assets
fact: ADI - Applications Desktop Integrator
symptom: Uploading assets using Applications Desktop Intergrator (ADI)
symptom: The YTD Depreciation Value must be less than or same as Reserve
symptom: Cost have a negative YTD Depreciation
cause: Assets can be loaded with a negative cost and YTD amount through the
Asset Workbench but not through ADI.
fix:
To upload negative assets from ADI, use one of the following workarounds:
1. Upload the negative costs assets with the YTD Depreciation and Depreciation
Reserve set to NULL (not zero, null).
2. Update FA_Mass_Additions with the YTD Depreciation and Depreciation Reserve.
Or
1. Upload the negative costs assets with a the YTD Depreciation and
Depreciation Reserve set to NULL (not zero, null).
2. Post the assets.
3. Prior to running depreciation for the book. adjust the YTD Depreciation
and Depreciation Reserve in asset workbench. -
How to call a BPEL process from Oracle Apps Java Concurrent program
Hello,
I need to trigger a BPEL process from Oracle Apps. Can anybody tell me how to do that? I have two triggering option--
1. On button click from a Form 6i screen
2. Using Java Concurrent program.
Thanks in advance.
DebkantaI am not sure how concurrent program works, but may be one of the way might work out, let me know if Java Concurrent Program works a bit different way
- [if async] Through concurrent program, you can insert message token to db or aq, and BPEL can be instantiated from there
or
- If it supports pure java call, then you can look at multiple documents (e.g. http://www.oracle.com/technology/products/ias/bpel/pdf/orabpel-Tutorial7-InvokingBPELProcesses.pdf) to invoke your process
- You can also use oracle db utility to invoke soap operation and get the result back
HTH,
Chintan -
Issue in invoking the BPEL process from Oracle using a SOAP Request
Hi,
We are facing an issue while invoking a deployed Bpel Process from Oracle Applications 11.5.10..
Using a concurrent program( Unix / Host program ) we are passing the input variables required for the Bpel process in the ProcessRequest tags and forming this as a SOAP message payload.
Then trying to invoke the deployed bpel process using the end point location using HTTP POST..but nothing is happening..
The bpel process is not getting invoked when i look at the Console and also checked for the Manual Recovery queue..it's not stuck there as well..
Have set the Transfer Time Out to 25 minutes using UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
Could someone please help us as soon as possible with this ..as this is critical and we are stuck at the moment.
The logic is mentioned below :
UTL_HTTP.SET_TRANSFER_TIMEOUT(1500);
UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(ENABLE=>TRUE);
soap_request:='<?xml version="1.0" encoding="UTF-8"?>'||
'<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'||
'<soap:Header/>'||
'<soap:Body xmlns:ns1="http://xmlns.oracle.com/bpelprocessname">'||
'<ns1:bpelprocessnameProcessRequest>'||
'<ns1:CSONum>'||order_number||'</ns1:CSONum>'||
'<ns1:CreationDate>'||c_chr_cso_last_run_dte||'</ns1:CreationDate>'||
'</ns1:bpelprocessnameProcessRequest>'||
'</soap:Body>'||
'</soap:Envelope>';
http_req:= utl_http.begin_request
('http://bpel_server ip:port/orabpel/domain_name/bpelprocessname/1.0' , 'POST', 'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
utl_http.set_header(http_req, 'SOAPAction', 'process');
utl_http.write_text(http_req, soap_request) ;
http_resp:= utl_http.get_response(http_req) ;
utl_http.read_text(http_resp, soap_respond) ;
utl_http.end_response(http_resp) ;
dbms_output.put_line(soap_respond);
Thankscheck if your soap envelope is correct,check my below procedure which is working fine for me
procedure xxxxx_BPEL_SCHEDULER
IS
soap_request varchar2(30000);
soap_respond varchar2(30000);
http_req utl_http.req;
http_resp utl_http.resp;
launch_url varchar2(240) ;
begin
soap_request:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:star="http://xmlns.oracle.com/xxxxx_BPEL_SCHEDULER">
<soapenv:Header>
<add:MessageID>?</add:MessageID>
<add:ReplyTo>
<add:Address>?</add:Address>
<!--Optional:-->
<add:ReferenceProperties>
<!--You may enter ANY elements at this point-->
</add:ReferenceProperties>
<!--Optional:-->
<add:PortType>?</add:PortType>
<!--Optional:-->
<add:ServiceName PortName="?">?</add:ServiceName>
<!--You may enter ANY elements at this point-->
</add:ReplyTo>
</soapenv:Header>
<soapenv:Body>
<star:STARS_BPEL_SCHEDULERProcessRequest>
<star:SCHEDULER_PARAM1>?</star:SCHEDULER_PARAM1>
<star:SCHEDULER_PARAM2>?</star:SCHEDULER_PARAM2>
<star:SCHEDULER_PARAM3>?</star:SCHEDULER_PARAM3>
<star:SCHEDULER_PARAM4>?</star:SCHEDULER_PARAM4>
<star:SCHEDULER_PARAM5>?</star:SCHEDULER_PARAM5>
</star:STARS_BPEL_SCHEDULERProcessRequest>
</soapenv:Body>
</soapenv:Envelope>';
http_req:= utl_http.begin_request('http://xxxxxx.com:16000/orabpel/default/xxxx_BPEL_SCHEDULER/1.0 '
,'POST',
'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml') ;
utl_http.set_header(http_req, 'Content-Length', length(soap_request)) ;
utl_http.set_header(http_req, 'SOAPAction', 'initiate');
utl_http.write_text(http_req, soap_request) ;
http_resp:= utl_http.get_response(http_req) ;
utl_http.read_text(http_resp, soap_respond) ;
utl_http.end_response(http_resp) ;
dbms_output.put_line(soap_respond);
END; -
MULTIPLE ARCHIVER PROCESSES FAQ ( ORACLE 8I NEW FEATURE )
제품 : ORACLE SERVER
작성날짜 : 2002-04-19
MULTIPLE ARCHIVER PROCESSES FAQ ( ORACLE 8I NEW FEATURE )
=========================================================
PURPOSE
1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
Explanation
1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
Oracle 8i에는 다중 archive destination을 지원하며, 단일 archiver의
부하를 줄여주기 위해 multiple archiver process를 사용할 수 있다.
LOG_ARCHIVE_MAX_PROCESSES 파라미터로 구동시킬 최대 ARCH 프로세스의
갯수를 지정하면 된다.
만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면 인스턴스 구동시
init 파일에 지정된 LOG_ARCHIVE_MAX_PROCESSES에 지정된 값을 읽어
들인다. 만약 LOG_ARCHIVE_START 값이 true인데 LOG_ARCHIVE_MAX_PROCESSES
값이 별도로 지정되어 있지 않을 경우에는 arc0 프로세스만을 구동시킨다.
LOG_ARCHIVE_MAX_PROCESSES 값이 별도로 지정되었을 경우 (1 - 10 범위),
arc0, arc1 과 같은 추가 프로세스를 구동시킨다.
하지만, 이 파라미터 값을 기본값 1이 아닌 다른 값으로 명시적으로 지정할
필요는 없다. 왜냐하면, 시스템에서 몇개의 ARCn 프로세스가
필요한지를 판단하여, 추가 ARCn 프로세스를 생성하기 때문이다.
2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
alter system 명령에서 set LOG_ARCHIVE_MAX_PROCESSES=n 으로
지정하여 동적으로 값을 변경할 수 있다. 이때 n은 1 부터 10사이의
값이어야 한다. 하지만, LOG_ARCHIVE_START 값이 FALSE로 지정되어
있을 경우에는, 명령을 실행시켜도 아무런 영향을 미치지
못한다.
3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면, 오라클에서는
구동시 하나의 archiver process (ARC0)를 구동시킨다. 이 파라미터
값은 필요시 LATER SYSTEM 명령으로 지정된 갯수만큼의
archive process를 구동시킬 수 있다.
예)
SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=4;
위 명령을 실행 시키면 다음과 같은 절차에 따라 ARC1, ARC2, ARC3를
추가한다.
1) Shadow process는 primary archive process에게 프로세스 갯수를
늘릴 것을 요청한다.
2) Archiver process는 kcrrschd 함수를 호출한다. (kcrrschd:
다중 arch process를 schedule)
3) 만약 요청된 process의 갯수가 현재 사용중인 archiver process
갯수보다 작은지 확인한다. 만약 새로 지정된 값이 적거나, ARCHIVING이
DISABLE 된 상태라면 다른 조치를 취하지 않고 return 한다. 그렇지
않다면 지원되는 최대 갯수인 10을 넘는지 확인하고 10을 넘을 경우에는
프로세스의 갯수를 10으로 지정한다.
4) Scheduler 함수는 kcrxs{} structure에 대한 latch를 확보한다.
여기서 kcrxs{} structure는 ARCH Activation status를 나타낸다.
5) Scheduler 함수는 지정된 process 갯수 만큼 loop를 돌면서
schedule된 상태를 structure KCRRSCHED에 반영시킨다.
6) 그리고 나서 latch를 release 시킨 후 kcrrsmp 함수를 ( kcrrsmp:
다중 arch processs 구동 ) 호출한다.
7) kcrrsmp 함수는 kcrrxs{} structure (ARCH 구동 상태)에 대한 latch를
확보하여 code 실행을 serialize 시켜 이 함수가 동시에 실행되더라도
한번에 하나씩 실행될 수 있도록 한다.
8) pending 상태에 있는 archiver process를 스케쥴링 하고, dead process가
있으면 clean up 시킨다.
9) 그리고 나서 이 함수는 지정된 process 갯수 만큼 loop를 돌면서
KCRRSCHED 상태를 KCRRSTART으로 바꾸어, archiver process들을
구동 준비 상태로 만든다.
10) latch를 release 시킨 후 ARCH 프로세스를 구동시킨다.
11) kcrrsmp함수는 latch를 다시 획득한다. 각각의 archiver 프로세스는
자기 자신을 activate 시킬 것을 통보 받는다. archiver process는
자기 자신을 activate 시킨 후 alert file에 관련 사항을 기록한다.
12) 호출을 하는 함수는 모든 archiver process가 자기 자신을
activate 시키고, kcrrxs structure의 내용을 갱신할 때 까지
sleep 상태에서 대기한다.
13) 끝으로, 현재 archiver process의 갯수가 요청된 archiver process
의 갯수와 일치 하면, latch를 release 시키고 break 한다. ( C
에서의 break )
alert. log 에는 위 과정이 다음과 같이 반영된다.
sql: prodding the archiver
ALTER SYSTEM SET log_archive_max_processes=4;
Tue Jul 13 02:15:14 1999
ARC0: changing ARC1 KCRRNOARCH->KCRRSCHED
ARC0: changing ARC2 KCRRNOARCH->KCRRSCHED
ARC0: changing ARC3 KCRRNOARCH->KCRRSCHED
ARC0: STARTING ARCH PROCESSES
ARC0: changing ARC1 KCRRSCHED->KCRRSTART
ARC0: changing ARC2 KCRRSCHED->KCRRSTART
ARC0: changing ARC3 KCRRSCHED->KCRRSTART
ARC0: invoking ARC1
Tue Jul 13 02:15:15 1999
ARC1: changing ARC1 KCRRSTART->KCRRACTIVE
Tue Jul 13 02:15:15 1999
ARC0: Initializing ARC1
ARC0: ARC1 invoked
ARC0: invoking ARC2
ARC1 started with pid=10
ARC1: Archival started
Tue Jul 13 02:15:15 1999
ARC2: changing ARC2 KCRRSTART->KCRRACTIVE
Tue Jul 13 02:15:15 1999
ARC0: Initializing ARC2
ARC2 와 ARC3도 동일한 절차를 따른다.
흥미로운 사실은 프로세스의 갯수를 줄일 수도 있다는 것이다. 예를 들어
다음과 같은 명령을 실행시킬 경우
SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=2;
다음과 같은 작업이 순서대로 실행된다.
1) shadow process는 현재 active 상태인 archiver process와 접속을 한다.
2) archiverprocess는 kcrrxmp 함수를 호출한다. ( kcrrxmp: 다중
Arch process 정지 )
3) kcrrxmp 함수는 kcrrxs{} structure에 (ARCH 구동 상태) 대한 latch를 획득하여 다른 프로세스에서 structure를 동시에 병경하지 않도록 한다.
4) 새로 요청된 archiver process의 갯수가 현재 사용중인 archiver process
의 갯수보다 작은지 확인한다.
5) 만약 작다면, archiver process 목록 가운데, 가장 최근에 schedule
되어, archival 작업에 schedule 차례가 금방 돌아 오지 않을 프로세스를
찾아낸다.
6) 각각의 프로세스에 대해 KCRRACTIVE 상태에서 KCRRSHUTDN로 상태를
변경할 것을 요청한다.
7) 상태가 바뀌면, OS에서 해당 프로세스를 종료시키도록 하고, 상태를
KCRRDEAD로 바꾼다. 관련된 상태 정보가 정리되고 kcrrxs{} structure의
내용이 갱신된다.
6) ,7) 과정은 지정된 archiver process 갯수로 줄어들 때 까지
반복된다.
8) 새로운 archiver process의 갯수로 kcrrxs structure 내용이 갱신된다.
9) latch를 release 시킨다.
상태 변동은 다음과 같이 alert. log 파일에 반영된다.
sql: prodding the archiver
Tue Jul 13 00:34:20 1999
ARC3: changing ARC0 KCRRACTIVE->KCRRSHUTDN
ARC3: sending ARC0 shutdown message
ARC3: changing ARC1 KCRRACTIVE->KCRRSHUTDN
ARC3: sending ARC1 shutdown message
ARC3: received prod
Tue Jul 13 00:34:20 1999
ALTER SYSTEM SET log_archive_max_processes=2;
Tue Jul 13 00:34:20 1999
ARCH shutting down
ARC0: Archival stopped
ARC0: changing ARC0 KCRRSHUTDN->KCRRDEAD
Tue Jul 13 00:34:20 1999
ARCH shutting down
ARC1: Archival stopped
ARC1: changing ARC1 KCRRSHUTDN->KCRRDEAD
4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
Archiver process는 round-robin 방식으로 archiving 작업을 수행하도록
schedule 된다. 만약 다중 archiver process가 부하에 따라 activate 된
경우는 여러가지 경우의 수가 있을 수 있다. Oracle 8i에서는 다중
archive log dest를 지원하면서 archive log에 대한 duplexing을 지원
하기 때문에, 어떤프로세스가 log file을 archive 시켰는지를 기록할 필요가
있다.
Oracle 8i에서 archival 작업은 성공할 때 마다 trace file에 archiver
process 명을 기록한다.
다음은 관련 trace file의 주요 내용이다.
Instance name: v815
Redo thread mounted by this instance: 1
Oracle process number: 12
Unix process pid: 3658, image: oracle@oracle8i (ARC3)
*** Session ID:(12. 1) 1999. 07. 13. 02. 15. 15. 000
*** 1999. 07. 13. 02. 15. 15. 000
*** 1999. 07. 13. 02. 33. 06. 000
ARC3: Begin archiving log# 1 seq# 38 thrd# 1
ARC3: VALIDATE
ARC3: PREPARE
ARC3: INITIALIZE
ARC3: SPOOL
ARC3: Creating archive destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
dbf'
ARC3: Archiving block 1 count 1 to : '/bigdisk/oracle8i/dbs/arch/1_38.
dbf'
ARC3: Closing archive destination 1 : /bigdisk/oracle8i/dbs/arch/1_38.
dbf
ARC3: FINISH
ARC3: Archival success destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
dbf'
ARC3: COMPLETE, all destinations archived
ARC3: ArchivedLog entry added: /bigdisk/oracle8i/dbs/arch/1_38. dbf
ARC3: ARCHIVED
*** 1999. 07. 13. 02. 33. 06. 000
ARC3: Completed archiving log# 1 seq# 38 thrd# 1
이 정보를 가지고, archive process 3이 log sequence 38번을
destination 1 :/bigdisk/oracle8i/dbs/arch 에 archive 시킨 것을 알 수 있다.
Reference Ducumment
<Note:73163.1>제품 : ORACLE SERVER
작성날짜 : 2002-04-19
MULTIPLE ARCHIVER PROCESSES FAQ ( ORACLE 8I NEW FEATURE )
=========================================================
PURPOSE
1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
Explanation
1. LOG_ARCHIVE_MAX_PROCESSES가 하는 역할
Oracle 8i에는 다중 archive destination을 지원하며, 단일 archiver의
부하를 줄여주기 위해 multiple archiver process를 사용할 수 있다.
LOG_ARCHIVE_MAX_PROCESSES 파라미터로 구동시킬 최대 ARCH 프로세스의
갯수를 지정하면 된다.
만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면 인스턴스 구동시
init 파일에 지정된 LOG_ARCHIVE_MAX_PROCESSES에 지정된 값을 읽어
들인다. 만약 LOG_ARCHIVE_START 값이 true인데 LOG_ARCHIVE_MAX_PROCESSES
값이 별도로 지정되어 있지 않을 경우에는 arc0 프로세스만을 구동시킨다.
LOG_ARCHIVE_MAX_PROCESSES 값이 별도로 지정되었을 경우 (1 - 10 범위),
arc0, arc1 과 같은 추가 프로세스를 구동시킨다.
하지만, 이 파라미터 값을 기본값 1이 아닌 다른 값으로 명시적으로 지정할
필요는 없다. 왜냐하면, 시스템에서 몇개의 ARCn 프로세스가
필요한지를 판단하여, 추가 ARCn 프로세스를 생성하기 때문이다.
2. LOG_ARCHIVE_MAX_PROCESSES 값은 동적으로 변경 가능한지 여부
alter system 명령에서 set LOG_ARCHIVE_MAX_PROCESSES=n 으로
지정하여 동적으로 값을 변경할 수 있다. 이때 n은 1 부터 10사이의
값이어야 한다. 하지만, LOG_ARCHIVE_START 값이 FALSE로 지정되어
있을 경우에는, 명령을 실행시켜도 아무런 영향을 미치지
못한다.
3. Archiver process의 갯수가 동적으로 바뀌는 메카니즘
만약 LOG_ARCHIVE_START 값이 TRUE로 지정되어 있다면, 오라클에서는
구동시 하나의 archiver process (ARC0)를 구동시킨다. 이 파라미터
값은 필요시 LATER SYSTEM 명령으로 지정된 갯수만큼의
archive process를 구동시킬 수 있다.
예)
SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=4;
위 명령을 실행 시키면 다음과 같은 절차에 따라 ARC1, ARC2, ARC3를
추가한다.
1) Shadow process는 primary archive process에게 프로세스 갯수를
늘릴 것을 요청한다.
2) Archiver process는 kcrrschd 함수를 호출한다. (kcrrschd:
다중 arch process를 schedule)
3) 만약 요청된 process의 갯수가 현재 사용중인 archiver process
갯수보다 작은지 확인한다. 만약 새로 지정된 값이 적거나, ARCHIVING이
DISABLE 된 상태라면 다른 조치를 취하지 않고 return 한다. 그렇지
않다면 지원되는 최대 갯수인 10을 넘는지 확인하고 10을 넘을 경우에는
프로세스의 갯수를 10으로 지정한다.
4) Scheduler 함수는 kcrxs{} structure에 대한 latch를 확보한다.
여기서 kcrxs{} structure는 ARCH Activation status를 나타낸다.
5) Scheduler 함수는 지정된 process 갯수 만큼 loop를 돌면서
schedule된 상태를 structure KCRRSCHED에 반영시킨다.
6) 그리고 나서 latch를 release 시킨 후 kcrrsmp 함수를 ( kcrrsmp:
다중 arch processs 구동 ) 호출한다.
7) kcrrsmp 함수는 kcrrxs{} structure (ARCH 구동 상태)에 대한 latch를
확보하여 code 실행을 serialize 시켜 이 함수가 동시에 실행되더라도
한번에 하나씩 실행될 수 있도록 한다.
8) pending 상태에 있는 archiver process를 스케쥴링 하고, dead process가
있으면 clean up 시킨다.
9) 그리고 나서 이 함수는 지정된 process 갯수 만큼 loop를 돌면서
KCRRSCHED 상태를 KCRRSTART으로 바꾸어, archiver process들을
구동 준비 상태로 만든다.
10) latch를 release 시킨 후 ARCH 프로세스를 구동시킨다.
11) kcrrsmp함수는 latch를 다시 획득한다. 각각의 archiver 프로세스는
자기 자신을 activate 시킬 것을 통보 받는다. archiver process는
자기 자신을 activate 시킨 후 alert file에 관련 사항을 기록한다.
12) 호출을 하는 함수는 모든 archiver process가 자기 자신을
activate 시키고, kcrrxs structure의 내용을 갱신할 때 까지
sleep 상태에서 대기한다.
13) 끝으로, 현재 archiver process의 갯수가 요청된 archiver process
의 갯수와 일치 하면, latch를 release 시키고 break 한다. ( C
에서의 break )
alert. log 에는 위 과정이 다음과 같이 반영된다.
sql: prodding the archiver
ALTER SYSTEM SET log_archive_max_processes=4;
Tue Jul 13 02:15:14 1999
ARC0: changing ARC1 KCRRNOARCH->KCRRSCHED
ARC0: changing ARC2 KCRRNOARCH->KCRRSCHED
ARC0: changing ARC3 KCRRNOARCH->KCRRSCHED
ARC0: STARTING ARCH PROCESSES
ARC0: changing ARC1 KCRRSCHED->KCRRSTART
ARC0: changing ARC2 KCRRSCHED->KCRRSTART
ARC0: changing ARC3 KCRRSCHED->KCRRSTART
ARC0: invoking ARC1
Tue Jul 13 02:15:15 1999
ARC1: changing ARC1 KCRRSTART->KCRRACTIVE
Tue Jul 13 02:15:15 1999
ARC0: Initializing ARC1
ARC0: ARC1 invoked
ARC0: invoking ARC2
ARC1 started with pid=10
ARC1: Archival started
Tue Jul 13 02:15:15 1999
ARC2: changing ARC2 KCRRSTART->KCRRACTIVE
Tue Jul 13 02:15:15 1999
ARC0: Initializing ARC2
ARC2 와 ARC3도 동일한 절차를 따른다.
흥미로운 사실은 프로세스의 갯수를 줄일 수도 있다는 것이다. 예를 들어
다음과 같은 명령을 실행시킬 경우
SVRMGRL>alter system set LOG_ARCHIVE_MAX_PROCESSES=2;
다음과 같은 작업이 순서대로 실행된다.
1) shadow process는 현재 active 상태인 archiver process와 접속을 한다.
2) archiverprocess는 kcrrxmp 함수를 호출한다. ( kcrrxmp: 다중
Arch process 정지 )
3) kcrrxmp 함수는 kcrrxs{} structure에 (ARCH 구동 상태) 대한 latch를 획득하여 다른 프로세스에서 structure를 동시에 병경하지 않도록 한다.
4) 새로 요청된 archiver process의 갯수가 현재 사용중인 archiver process
의 갯수보다 작은지 확인한다.
5) 만약 작다면, archiver process 목록 가운데, 가장 최근에 schedule
되어, archival 작업에 schedule 차례가 금방 돌아 오지 않을 프로세스를
찾아낸다.
6) 각각의 프로세스에 대해 KCRRACTIVE 상태에서 KCRRSHUTDN로 상태를
변경할 것을 요청한다.
7) 상태가 바뀌면, OS에서 해당 프로세스를 종료시키도록 하고, 상태를
KCRRDEAD로 바꾼다. 관련된 상태 정보가 정리되고 kcrrxs{} structure의
내용이 갱신된다.
6) ,7) 과정은 지정된 archiver process 갯수로 줄어들 때 까지
반복된다.
8) 새로운 archiver process의 갯수로 kcrrxs structure 내용이 갱신된다.
9) latch를 release 시킨다.
상태 변동은 다음과 같이 alert. log 파일에 반영된다.
sql: prodding the archiver
Tue Jul 13 00:34:20 1999
ARC3: changing ARC0 KCRRACTIVE->KCRRSHUTDN
ARC3: sending ARC0 shutdown message
ARC3: changing ARC1 KCRRACTIVE->KCRRSHUTDN
ARC3: sending ARC1 shutdown message
ARC3: received prod
Tue Jul 13 00:34:20 1999
ALTER SYSTEM SET log_archive_max_processes=2;
Tue Jul 13 00:34:20 1999
ARCH shutting down
ARC0: Archival stopped
ARC0: changing ARC0 KCRRSHUTDN->KCRRDEAD
Tue Jul 13 00:34:20 1999
ARCH shutting down
ARC1: Archival stopped
ARC1: changing ARC1 KCRRSHUTDN->KCRRDEAD
4. 어떤 archiver process가 online log를 archive시켰는지 판단 방법
Archiver process는 round-robin 방식으로 archiving 작업을 수행하도록
schedule 된다. 만약 다중 archiver process가 부하에 따라 activate 된
경우는 여러가지 경우의 수가 있을 수 있다. Oracle 8i에서는 다중
archive log dest를 지원하면서 archive log에 대한 duplexing을 지원
하기 때문에, 어떤프로세스가 log file을 archive 시켰는지를 기록할 필요가
있다.
Oracle 8i에서 archival 작업은 성공할 때 마다 trace file에 archiver
process 명을 기록한다.
다음은 관련 trace file의 주요 내용이다.
Instance name: v815
Redo thread mounted by this instance: 1
Oracle process number: 12
Unix process pid: 3658, image: oracle@oracle8i (ARC3)
*** Session ID:(12. 1) 1999. 07. 13. 02. 15. 15. 000
*** 1999. 07. 13. 02. 15. 15. 000
*** 1999. 07. 13. 02. 33. 06. 000
ARC3: Begin archiving log# 1 seq# 38 thrd# 1
ARC3: VALIDATE
ARC3: PREPARE
ARC3: INITIALIZE
ARC3: SPOOL
ARC3: Creating archive destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
dbf'
ARC3: Archiving block 1 count 1 to : '/bigdisk/oracle8i/dbs/arch/1_38.
dbf'
ARC3: Closing archive destination 1 : /bigdisk/oracle8i/dbs/arch/1_38.
dbf
ARC3: FINISH
ARC3: Archival success destination 1 : '/bigdisk/oracle8i/dbs/arch/1_38.
dbf'
ARC3: COMPLETE, all destinations archived
ARC3: ArchivedLog entry added: /bigdisk/oracle8i/dbs/arch/1_38. dbf
ARC3: ARCHIVED
*** 1999. 07. 13. 02. 33. 06. 000
ARC3: Completed archiving log# 1 seq# 38 thrd# 1
이 정보를 가지고, archive process 3이 log sequence 38번을
destination 1 :/bigdisk/oracle8i/dbs/arch 에 archive 시킨 것을 알 수 있다.
Reference Ducumment
<Note:73163.1> -
How to stop and start only the process of Oracle Application Express?
I'd like to know how to stop the process of Oracle Application Express on my server installed oracle express package.
After installed Oracle Express edition, not only oracle database server processes but also Oracle Application Express, such as http server, is started automatically...
I hope to stop and start Application Express on demand but is this feature enabled?Oracle Apex is an API, if that helps you understand / visualize. You do not start Apex process nor stop it.
When an Apex session starts it starts calling the API.
You can however start / stop the listener. It may be OHS, ApexListener and the J2EE container running it, OC4J or any other "server" that you are using.
The built-in EPG is something like an API again, you cannot start / stop it but you can disable/enable it with DBMS_XDB.SETHTTPPORT API.
Regards,
Maybe you are looking for
-
after all ive gone through with it in just a days time of actually being able to use, its stolen,but luckily I got it bac,\k, but then unlucky its disabled when i get it back. didnt have a computer i could downlaod itunes on and connect to my ipod vi
-
I'm traveling in the US, I want to download something, but it tells me I am not authorized to use to US store. How do I switch back to Canadian store?
-
Sneak Preview SAP Netweaver 2004S SR1
Hi All, I installed Sneak Preview SAP Netweaver 2004S SR1. After that I found in sap management console, the second instance has yellow light. In process "jcontrol.EXE", it has status "stopped". The developer Trace is as follows : trc file: "F:\usr\s
-
Hi, Fixed length file to xml files. i have to generate 2 xml files based on a field in the incoming file. structures of both xml files are same. I want to know how many target data type ,target msg interfaces have to be created? Thanks.
-
Sound VI convert from PC to Mac
I don't really understand the help files for using a PC and creating a Mac complatible VI that will play sound files. I am a new to Labview 8.6 and I have created a VI to play sound files on a PC. Now I need it to work on a Mac and I'm having trouble