Friday, October 25, 2013

How to enable archivelog mode in 11g

ERROR:

SQL> alter system set log_archive_dest_1='/archivelogs/OTMTESTA' scope=spfile;
alter system set log_archive_dest_1='/archivelogs/OTMTESTA' scope=spfile
*
ERROR at line 1:
ORA-32017: failure in updating SPFILE
ORA-16179: incremental changes to "log_archive_dest_1" not allowed with SPFILE

Solution:
SQL> select  name from v$database;
NAME
---------
OTMTESTA

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     7
Current log sequence           9

SQL> alter system set log_archive_start=TRUE scope=spfile;

System altered.

SQL> alter system set log_archive_dest_1='LOCATION=/archivelogs/OTMTESTA' scope=spfile;

System altered.

SQL> show parameter log_archive_format

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      %t_%s_%r.dbf

SQL> alter system set log_archive_format='arch_%t_%s_%r.arc' SCOPE=spfile;

System altered.

SQL> shut immediate;
SQL> startup mount;
SQL> show parameter log_archive_format

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      arch_%t_%s_%r.arc

SQL> alter database archivelog ;

Database altered.

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /archivelogs/OTMTESTA

SQL> alter database open;

Database altered.

++++++++++++++++++++++++++++

Tuesday, October 22, 2013

ORA-10631 When Trying To Shrink A Table That Has A Function-based Index. (Doc ID 732013.1)

ERROR:
SQL> ALTER TABLE APPLSYS.FND_LOBS SHRINK SPACE CASCADE;
ERROR at line 1:
ORA-10631: SHRINK clause should not be specified for this object

Solution:

To implement the solution, please execute the following steps:

1. Get the DDL of the function-based index on the table.
select INDEX_NAME, INDEX_TYPE
  from dba_indexes
 where table_owner = '<owner>'
   and table_name = '<tabname>';

To find  the DDL creation statement :
Sytax:
SQL> select DBMS_METADATA.GET_DDL('INDEX','< Index_name>') from DUAL;

2. Drop the function-based index.
Syntax:
SQL> drop index applsys.<index_name>;

3. Shrink the table.

4. Recreate the index again on the table.

+++++++++++++++++++++++++++++
How to Shrink (make less sparse) a LOB (BASICFILE or SECUREFILE)? (Doc ID 1451124.1)
How to Determine what storage is used in a LOBSEGMENT and should it be shrunk / reorganized? (Doc ID 1453350.1)
386341.1
+++++++++++++++++++++++++++++

Tuesday, October 15, 2013

11i-12 Unable to Connect to Mail Store in Workflow Notification Mailer Logs (Doc ID 741352.1)

SYMPTOMS

Following error appears in the log files of Workflow Notification Mailer:

GSM-WFMLRSVC-66669-10006 : oracle.apps.fnd.wf.mailer.IMAPInboundProcessor.open(): Unable to connect to mail store
OR

[May 29, 2008 5:12:35 PM EDT]:1212095555750: Thread[outboundThreadGroup1,5,outboundThreadGroup]:0:-1:myhostname:123.43.67:-1:-1:
ERROR:[SVC-GSM-WFMLRSVC-1630247-10006: oracle.apps.fnd.wf.mailer.SMTPOutboundProcessor.send(Message)]:Problem encountered when sending to {[[xxxxxx@domain.com]]} -> javax.mail.MessagingException: 451 Timeout waiting for client input.
OR

Thread[inboundThreadGroup1,5,inboundThreadGroup]:0:-1:erpdb1:10.100.0.8:-1:-1:ERROR:[SVC-GSM-WFMLRSVC-185502-10006 : oracle.apps.fnd.wf.mailer.IMAPInboundProcessor.read()]:Problem encounted when reading new messages -> javax.mail.FolderClosedException: * BYE Connection down
OR

Notifications remain in the inbox.

CAUSE

Workflow Notification Mailer is not able to connect to the associated account in order to process users responses.

SOLUTION

There is not a single potential root cause when 'Unable to Connect to Mail Store' error is noticed in the log files. Set the Workflow Mailer Log Level to Statement and restart the Workflow Mailer Service container to collect trouble shooting diagnostics to determine the cause as many of the reasons for the failure are due to exception and unexpected events which will not be written to the Workflow Mailer Service log when it is set to Error.

1. Log into E-Business as a user assigned the System Administrator responsibility and navigate:

System Administrator > Oracle Applications Manager > Workflow > Notification Mailers > Edit > Advanced

Click Next to get to page 2 and set Log Level: Statement

2. Shutdown and restart the Workflow Mailer Service container so it will create a new Workflow Mailer Service log:

System Administrator > Oracle Applications Manager > Workflow > Notification Mailers > Workflow Mailer Service

Select Workflow Mailer Service and click Stop then wait for State=Deactivated then click Start

Following should be checked in order to solve this issue:

A. Make sure that associated Workflow Mailer account is not locked:

1. Stop the mailer.

2. Connect to the IMAP administration tool and change the Workflow Mailer account password. Make sure nobody uses this new password to connect to the account using any mail client tool.

3. Go to Oracle Applications Manager and change the Workflow Mailer configuration so that the new password is entered there.

4. Start the mailer.

B. Make sure that there are no emails sitting in the Inbox folder of Workflow Mailer account that are not responses to Workflow Email Notifications (e.g. spam messages, out of office responses, undeliverable messages and/or other non-workflow related messages).

Use the Workflow Mailer configuration screens in OAM and change the TAG section to create entries to ignore junk and spam e-mails:
(In Oracle Applications Manager (OAM) --> Navigate to Workflow Manager --> Notification Mailers --> Edit --> Advanced --> Step 6)

For instance, if one of the e-mails that are bugging the mailer has the abstract "AUTOREPLY MESSAGE: The user JSMITH is on holidays" then the text of the new entry can have 'AUTOREPLY MESSAGE' (no quotes) and the action can be ignored.

This way all the messages coming from users with similar subject will be ignored by the java mailer.
How to clean out the imap account

1. Shut down the mailer using the Oracle Applications Manager / Workflow manager console.

2. Using any desktop imap client such as Outlook, logon to the imap account and review the contents of the inbox. Remove any spam messages from the inbox. Ensure that any valid message responses are set to 'unread' when you're done. Each IMAP message carries a read / unread flag in the message header and the mailer will not pick up any messages marked as ‘read’.

3. Use the IMAP client tools to delete and purge excess messages from Process and Discard Folders. Don’t delete these folders and don’t use Unix command line utilities to truncate folders from the file system. Use the IMAP client tool instead.

4. When the account is cleaned up, log off of the account and remove the account from your desktop mail client so that you don’t accidentally automatically log in while the mailer is ever running.

5. Start the mailer using the OAM Workflow manager console.
C. Make sure that no other instance is using the same Workflow Mailer account as set in the instance where the issue appears. You may check this by running below SQL statement on each instance that exists (development, test, clone, production, etc). The same applies in case you are having multiple Workflow Notification Mailers on same instance. You need to set a different account for each and every Workflow Mailer on same instance or different instances.

set pagesize 100
set linesize 132
set feedback off
set verify off

col value format a35
col component_name format a30

select c.component_id, c.component_name, p.parameter_id, p.parameter_name, v.parameter_value value
from fnd_svc_comp_param_vals_v v, fnd_svc_comp_params_b p, fnd_svc_components c
where c.component_type = 'WF_MAILER'
and v.component_id = c.component_id
and v.parameter_id = p.parameter_id
and p.parameter_name in ( 'INBOUND_SERVER','ACCOUNT', 'REPLYTO')
order by c.component_id, c.component_name,p.parameter_name;


NOTE: Run $FND_TOP/sql/wfmlrdbg.sql for a Test Mailer notification_id <NID> to obtain a complete view of ALL you Workflow Mailer configurations.

sqlplus apps/<apps_pwd> @$FND_TOP/sql/wfmlrdbg.sql <NID>

This is a sample of the output of a Workflow Mailer that has processed an iExpense (APEXP) notification response where multiple Dedicated Mailers are configured: wfmlrdbg891806.html


D. Make sure that Workflow Mailer account is not monitored using an email client while Workflow Notification Mailer is up and running. Folders of this account should be monitored only having the Workflow Notification Mailer stopped to prevent locking it.

E. Make sure that "Processor Close on Read Timeout" and "Expunge Inbox on Close" parameter is checked (In OAM --> Navigate to Workflow Manager --> Notification Mailers --> Edit --> Advanced --> Step 2)

To check current value you may execute below SQL statement and the value field should be 'Y':

set pagesize 100
set linesize 132
set feedback off
set verify off

col value  format a35
col component_name    format a30   
 
select c.component_id, c.component_name, p.parameter_id, p.parameter_name, v.parameter_value value
from   fnd_svc_comp_param_vals_v v, fnd_svc_comp_params_b p, fnd_svc_components c
where  c.component_type = 'WF_MAILER'
and    v.component_id = c.component_id
and    v.parameter_id = p.parameter_id
and  p.parameter_name = 'PROCESSOR_READ_TIMEOUT_CLOSE' 
 order by c.component_name,p.parameter_name;

NOTE: Run $FND_TOP/sql/wfmlrdbg.sql for a Test Mailer notification_id <NID> to obtain a complete view of ALL you Workflow Mailer configurations.

sqlplus apps/<apps_pwd> @$FND_TOP/sql/wfmlrdbg.sql <NID>

This is a sample of the output of a Workflow Mailer that has processed an iExpense (APEXP) notification response where multiple Dedicated Mailers are configured: wfmlrdbg891806.html
F. Make sure that concurrent manager node is able to reach IMAP server on port 143 or 993. You may check this by logging in on the concurrent manager node as the concurrent managers owner (usually applmgr user) and executing:

1. telnet <imap_server_name> 143

or

2. $AFJVAPRG -classpath $AF_CLASSPATH -Ddebug=Y -Dprotocol=imap \
-Ddbcfile=$$FND_SECURE/<filename>.dbc \
-Dserver=<imap_server_name> -Dport=143 \
-Daccount=<workflow_account> -Dpassword=<password for this account> -Dconnect_timeout= 120 \
-Dfolder=INBOX oracle.apps.fnd.wf.mailer.Mailer

Before running this command, make sure you enter the correct values for the following parameters:
-Ddbcfile=$FND_SECURE/<filename>.dbc \
-Dpassword=<password for this account>
-Dserver=<IMAP server name as defined in Step 3 of mailer configuration>
-Daccount=<Workflow Mailer account>

G. Make sure that there are no users defined that are having white space(s) in the email address. Mailer is erroring out while trying to process responses from these users and is loosing the connection to IMAP server.

If below SQL statement is returning rows you need to correct the email addresses for associated users:

col name  format a25 
col email_address    format a35   

select name, '['||substr(email_address, 1, 25)||']', orig_system from wf_local_roles where email_address like '% %';

NOTE:  The Originating System (orig_system) of the record indicates the product where the email_address was entered i.e PER_ROLE (HR People - HR),  HZ_PARTY (TCA Parties - AR).

H. Increase the Inbound connection time out parameter to 200 or higher (default value is 120) (In OAM --> Navigate to Workflow Manager --> Notification Mailers --> Edit --> Advanced --> Step 3)

I. Check with your IMAP server administrator that there is no time out parameter set to a low value at IMAP server level. This may prevent Workflow Notification Mailer to keep the connection active in order to process the responses.

J. Unsolicited emails in the INBOX can cause the inbound thread used by the mailer to be orphaned.  This thread locks the account and prevents any new connection from being made. A new exception was discovered in the latest version of the mailer code:

UNEXPECTED:[SVC-GSM-WFMLRSVC-224280-10006 : oracle.apps.fnd.wf.mailer.IMAPResponseHandler.handleUnsolicited(EmailParser)]:Problem encounted when handling an unsolicited email -> java.io.IOException: Error in encoded stream, got 1

OR

UNEXPECTED:[SVC-GSM-WFMLRSVC-224280-10006 : oracle.apps.fnd.wf.mailer.IMAPResponseHandler.handleUnsolicited(EmailParser)]:Problem encounted when handling an unsolicited email -> java.io.IOException: Error in encoded stream, got 3


 Note: The patch that fixes the error is documented in Note 974088.1.

Sunday, October 13, 2013

How To Effectively Remove An Oracle Applications Printer (Doc ID 370372.1)

I. Login Into Oracle Applications 

1. Select the the System Administrator responsibility.
II. Remove Any Concurrent Program References

1. Navigate to Concurrent: Programs: Define
2. Query the target printer name under the "Printer" field under the "Output" block.
3. Remove and/or replace the target printer and save the record
4. Advance to the next record and perform step three again.
III. Remove Any Concurrent Request Set References

1. Open SQL*Plus session as Apps and executed the following SQL statement in order to identify which request sets, stages, and program names reference the target printer. Replace the word 'TargetPrinter' with the actual printer name registered in Oracle Applications.
set long
set pagesize 5000
select r.user_request_set_name, s.user_stage_name,
c.user_concurrent_program_name
from fnd_request_sets_tl r, fnd_request_set_stages_tl s,
fnd_request_set_programs p,
fnd_concurrent_programs_tl c
where p.request_set_ID = r.request_set_ID
and p.request_set_stage_id = s.request_set_stage_id
and p.concurrent_program_id = c.concurrent_program_id
and printer = 'TargetPrinter';


2. Navigate to Concurrent: Set
3. Query the request set names returned in the above SQL statement.
4. Drill down to the stage and programs name, remove and/or replace the target printer and save the record
5. Query the next request set and perform step four again.
 
IV. Remove Any Profile References 

1. Run the Sysadmin "User Profile Option Values" report to search the value of the "Printer" profile.
2. Navigate to Profile: System
3. Query the "Printer" profile and profile setting returned in the above reports.
4. Remove and/or replace the target printer associated with the profile setting and save the record.
5. Query the next profile setting and perform step four again.
Note:    Some Oracle Applications product modules can have different printer profiles, such as "CSD: Printer Name", "IEX: Fulfilment Printer", "OTS: Default Collateral Printer", etc. You may have to run the Sysadmin "User Profile Option Values" report on any product specific profile that assigns a printer.
Note 2:    The following SQL statement may be helpful in identifying printers set with the "Printer" profile, at the all profile levels (thanks to J.Reed).
select distinct
      t.user_profile_option_name "Profile Option Name",
      decode(v.level_id, 10001,'Site Level',
      10002,'Application Level --> ' ||application_name ,
      10003,'Responsibility level-->'||responsibility_name,
      10004,'User Level-->'          ||u.user_name,
      'XXX') "Profile Option Level",
      profile_option_value "Value"
from  fnd_profile_options o,
      fnd_profile_option_values v,
      fnd_profile_options_tl t,
      fnd_responsibility_tl r,
      fnd_application_tl a,fnd_user u
where o.profile_option_id = v.profile_option_id
and   o.application_id    = v.application_id
and   start_date_active  <= SYSDATE
and   nvl(end_date_active,SYSDATE) >= SYSDATE
and   o.profile_option_name = t.profile_option_name
and   a.application_id(+)   = decode(level_id,10002,level_value,null)
and   r.responsibility_id(+)= decode(level_id,10003,level_value,null)
and   u.user_id(+)          = decode(level_id,10004,level_value,null)
--and nvl(u.end_date, sysdate) >= sysdate
and   t.user_profile_option_name = 'Printer'
order by 2, --v.level_id,
      t.user_profile_option_name,
      decode(v.level_id, 10001,'Site Level',
      10002,'Application Level --> ' ||application_name ,
      10003,'Responsibility level-->'||responsibility_name,
      10004,'User Level-->'          ||u.user_name,
      'XXX');
 Steps:
1. You need to get the profile_option_id for the profile Printer. 
   (The default is 109) 
    
   SQL> select profile_option_id,profile_option_name 
       from fnd_profile_options 
         where profile_option_name like '%PRINTER%'; 
 
2. You need to determine how many users have this profile option set to this 
   printer. 
 
   SQL> select level_id,profile_option_id,profile_option_value,level_value 
       from fnd_profile_option_values 
         where profile_option_id= <&&profile_option_id from #1> 
         and profile_option_value = <&&exact printer name>; 
 
3. Get the username that has the profile option Printer set to the printer you 
   want to delete. 
    
   SQL> select user_id,user_name 
       from fnd_user where user_id = <&&level_value from #2>; 
 
4. Now that you have identified all users that have the profile option Printer 
   set to the printer you want to delete, log on as System Administrator 
   Responsibility.
 
5. Go to:  Profile -> System.
 
6. Query by User and enter Printer for the profile value.  Do that for all 
   users that step #3 has returned. 
 
7. You should be able now to delete the printer. 
You can also setup the default printers for users. 
Go to OC -> Admin -> users -> Oracle Accounts ,
for each user you can setup the default printers. If none is specified OC will use the printer defined for RXC_PRINTER.
+++++++++ 105260.1+++++++++
How to Register Printer:
1.      Responsibility - System Administrator
Navigation - Install - Printer – Register  Ã  F11 , %PrinterName%
à Ctrl+F11
Add Printer = PRINCE96, Type = LABEL, Description = PrinceHouston - US - Label Printer
è Save
 V. Remove The Registered Printer
1. Navigate to Install: Printer: Register
2. Query the target printer name
3. On the menu tool bar, select Edit: Delete


++++++ 60936.1, 416224.1

Thursday, October 3, 2013

How to Retrieve APPS password in R12 :

Note : It is very easy to break / decrypt the apps password ,who are well deserved on APPSDBA:

Step by step to retrieve apps password:

Step 1: To create function for encrypt password

Log in   DB-node on oracle user / as sysdba

SQL> create FUNCTION apps.decrypt_pin_func(in_chr_key IN VARCHAR2,in_chr_encrypted_pin IN VARCHAR2)
RETURN VARCHAR2
AS
LANGUAGE JAVA NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt(java.lang.String,java.lang.String) return java.lang.String';
  /

Function created.

Step 2: To find the encrypt password

SQL> set linesize 10000;
SQL> select ENCRYPTED_FOUNDATION_PASSWORD from apps.fnd_user where USER_NAME='GUEST';

ENCRYPTED_FOUNDATION_PASSWORD
----------------------------------------------------------------------------------------------------
ZG6E0BA81F7BB8B47EF79CD47E3A9F1FB25FB8D95055EEC767BB88E54B90F3B30A85C577614C0D62C0442A4CC7F3979B1F65

Step 3:To find  converted  Decrypt  password

SQL>  SELECT apps.decrypt_pin_func('GUEST/ORACLE','ZG6E0BA81F7BB8B47EF79CD47E3A9F1FB25FB8D95055EEC767BB88E54B90F3B30A85C577614C0D62C0442A4CC7F3979B1F65') from dual;

APPS.DECRYPT_PIN_FUNC('GUEST/ORACLE','ZG6E0BA81F7BB8B47EF79CD47E3A9F1FB25FB8D950
--------------------------------------------------------------------------------
SUPTAPPS01

Step 4: Please test the apps password

SQL> conn apps/SUPTAPPS01
Connected.
SQL> show user
USER is "APPS"


++++++++++++++++Manjunatha++++++++++++++++

How to Create Read Only Apps User:

-bash-3.2$ sqlplus / as sysdba

SQL> create user abc identified by abc DEFAULT TABLESPACE APPS_TS_TX_DATA TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON APPS_TS_TX_DATA;

User created.

SQL> grant connect to abc;

Grant succeeded.

SQL> spool abc_sesp.sql
SQL> set pagsize 10000;
SQL> set linesize 1000;
SQL> select 'grant select on '|| 'APPS.'||object_name ||' to '||'abc; 'from dba_objects where owner='APPS';

SQL> spool off;

Verify the abc_sesp.sql & if require edit (vi) the file change the changes

SQL> @ abc_sesp.sql
SQL> conn abc/abc
Connected.         

To verify all the connect responsibilities should be same as apps user:

To Know Concurrent Request Details :

To check the Conc - Request details :
SQL> set lines 180
 set pages 1000
 set verify off
undef spid
column req_id format 99999999999
select /*+ CHOOSE*/
      'Node Name..............................: ' || q.node_name                          || chr(10) ||
      'Req id.................................: ' || Request_Id                           || chr(10) ||
      'Requestor..............................: ' || User_Name                            || chr(10) ||
      'Manager................................: ' || Q.User_Concurrent_Queue_Name         || chr(10) ||
      'Status code............................: ' || decode(status_code,'A', 'Waiting','B',
      'Resuming','D', 'Cancelled','E', 'Error', 'G', 'Warning', 'H',
      'On Hold', 'R', 'Normal','S', 'Suspended', 'T', 'Terminating',
                      'W', 'Paused', 'X','Terminated', status_code)                                       || chr(10) ||
      'Phase code.............................: '  || decode(phase_code, 'C', 'Completed',
      'I', 'Inactive', 'P', 'Pending', 'R', 'Running', phase_code)                        || chr(10) ||
      'Priority...............................: ' || Fcr.priority                         || chr(10) ||
      'Program................................: ' || Fcp.User_Concurrent_Program_Name     || chr(10) ||
      'Time so far ...........................: ' || trunc((sysdate-Fcr.actual_start_date)*24*60,2)||' min'|| chr(10) ||
      'Avg execution time in  30 days.........: ' ||  trunc(AVG_TIME,2)  ||' min'          || chr(10) ||
      'Max execution time in 30 days..........: ' ||  trunc(MAX_TIME,2)  ||' min'         || chr(10) ||
      'Fastest execution Time in 30 days......: ' ||trunc( MIN_TIME,2) || ' min'          || chr(10) ||
      'Number of executions in last 30 days...: ' ||occurance                             || chr(10) ||
      'ClientPID..............................: ' || Fcr.OS_PROCESS_ID                    || chr(10) ||
      'ServerPID..............................: ' || Fcr.ORACLE_PROCESS_ID     || chr(10) ||
      'Arguments passed to the program .......: ' ||Fcr.argument_text
                     from apps.Fnd_Concurrent_Requests Fcr,
    apps.Fnd_Concurrent_Programs_vl Fcp,
    apps.Fnd_Oracle_Userid O,
    apps.Fnd_Concurrent_Processes P,
    apps.Fnd_Concurrent_Queues_vl Q,
    apps.Fnd_User,(select
    concurrent_program_id
    ,count(concurrent_program_id) occurance
    ,min(actual_completion_date-actual_start_date)*24*60 MIN_TIME
    ,max(actual_completion_date-actual_start_date)*24*60 MAX_TIME
    , avg(actual_completion_date-actual_start_date)*24*60 AVG_TIME
    from apps.fnd_concurrent_requests
    where status_code='C' and phase_code='C'
    and trunc(actual_start_date)>trunc(sysdate-30)
    group by concurrent_program_id
    having max(actual_completion_date-actual_start_date)*24*60 >5) CREQ
    where Controlling_Manager = Concurrent_Process_ID
    and ( P.Concurrent_Queue_ID=Q.Concurrent_Queue_ID AND P.Queue_Application_ID = Q.Application_ID )
    and O.Oracle_Id = Fcr.Oracle_Id and Request_Id in ('&REQID')
    and( Fcr.Program_Application_Id=Fcp.Application_Id
    and  Fcr.Concurrent_Program_Id=Fcp.Concurrent_Program_Id)
    and Requested_By = User_Id
    and Phase_Code = 'R' and status_code in ('R','T')
    --adding joins with new
    and Fcr.Concurrent_Program_Id=CREQ.Concurrent_Program_Id(+)
                                          Order By   Q.User_Concurrent_Queue_Name,q.node_name, Actual_Start_Date,Request_Id;
--------
Enter the Request-id.
++++++++++++++++++++++++++++++++
Find Concurrent Request picked up by which Concurrent Manager
++++++++++++++++++++++++++++++++
select a.user_concurrent_queue_name
from fnd_concurrent_queues_vl a,
FND_CONCURRENT_QUEUE_CONTENT b,
fnd_concurrent_programs_vl c
where a.concurrent_queue_id=b.concurrent_queue_id
and b.type_id = c.concurrent_program_id
and c.user_concurrent_program_name='& Concurrent Program Name';
++++++++++++++++++++++++++++++++
Terminate the concurrent Request 

Note:If you have Approval / Confirmation  Please go-ahead
Login to dbnode  as apps user

update applsys.fnd_concurrent_requests
   set phase_code = 'C',
       status_code = 'X',
    actual_completion_date = sysdate
  where request_id = '&R';

Enter the Request-id.

commit;

Wednesday, October 2, 2013

How To Create A New User From Existing User With Same Responsibilities in R12 :

FNDLOAD can be used to achieve this task. SYSADMIN is used for example purposes only. Steps below can be used for any Application user you have defined. For the example below the new user SVRADMIN will be created.

To Find the RESPONSIBILITY on particular "USER" to use bellow query :
SQL> set pages 1500
SQL> set linesize 400
SQL> set lines 400
spool Usr_resp.csv
SELECT frt.RESPONSIBILITY_NAME, furg.end_date
FROM
fnd_user_resp_groups furg,
FND_RESPONSIBILITY fr,fnd_responsibility_tl frt,fnd_user fu
WHERE fu.user_name = '&&username'
AND   fu.user_id = furg.user_id
AND   furg.responsibility_id = fr.RESPONSIBILITY_ID
AND   frt.responsibility_id = fr.RESPONSIBILITY_ID
ORDER BY 1;
SQL> spool off;

1. Use FNDLOAD to download user SYSADMIN from your instance:

FNDLOAD apps/<apps password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct  SYSDMIN.ldt FND_USER USER_NAME=SYSADMIN

2. Modify the ldt file (SYSADMIN.ldt for the example above).  Change the line <BEGIN FND_USER "SYSADMIN"> to <BEGIN FND_USER "SVRADMIN">

FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct  SVR_DMIN.ldt FND_USER USER_NAME=SYSADMIN

3. Use FNDLOAD to upload new user to your instance:

FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct  SVR_ADMIN.ldt  FND_USER   USER_NAME=SVRADMIN

Note : Doc ID 1474294.1

+++++++++++++++++++++++++++++++++++++
Missing SYSADMIN Responsibility After Upgrade To 12.1.3 (Doc ID 1246824.1)
++++++++++++++++++++++++++++++++++++++
SOLUTION

Please run the below concurrent programs in the order given, with the respective values of the parameters, and then retest the issue.

1. Workflow Directory services user/role validation with argument values as 10000:Yes:Yes:No:NULL.

2. Synchronize WF Local Tables with default values for the arguments.

3. Run adadmin - Compile/generate menu and rebuild JAR files.

4. Rerun:  FNDLOAD APPS/<apps_password> 0 Y UPLOAD @FND:patch/115/import/afscursp.lct @FND:patch/115/import/US/wfssresp.ldt

++++++++++++++++++++++++++
Can FNDLOAD Migrate User Accounts Without Forcing Users To Change Their Passwords? (Doc ID 376469.1)
 Here is the syntax used:

Create datafile (download):

FNDLOAD apps/<passwd> 0 Y DOWNLOAD  $FND_TOP/patch/115/import/afscursp.lct  $FND_TOP/patch/115/import/userlist.ldt FND_USER USER_NAME='TEST'

Upload to target system:

FNDLOAD apps/<passwd> 0 Y UPLOAD  $FND_TOP/patch/115/import/afscursp.lct  $FND_TOP/patch/115/import/userlist.ldt FND_USER

+++++++++++++++++
http://docs.oracle.com/cd/E18727_01/doc.121/e12843/T156458T156460.htm

745920.1

743719.1
Understanding HRMS Seed Data (Doc ID 422525.1)
Note 140511.1 How to Install Legislative Data Using Data Installer and hrglobal.drv
Note 145837.1 Latest HRMS (HR Global) Legislative Data Patch Available

Very Slow Response Time For Item Search In iProcurement :

Very Slow Response Time For Item Search In iProcurement / 
How to Recuce the Size of the ICX.DR$ICX_CAT_ITEMSCTXDESC_HDRS$I Table 

 CAUSE

The index ICX_CAT_ITEMSCTXDESC_HDRS, which is used for iProcurement item search has slow performance poor performance.

This may be due to excess data in CTXSYS.DR$PENDING and CTXSYS.DR$WAITING or related causes:

select u.username, i.idx_name
from dr$index i, dba_users u
where u.user_id=i.idx_owner#
and idx_id in (select pnd_cid from dr$pending);


select u.username, i.idx_name
from dr$index i, dba_users u
where u.user_id=i.idx_owner#
and idx_id in (select wtg_cid from dr$waiting);

SOLUTION

*** DO THIS IN A TEST INSTANCE FIRST ***
Login to the apps user
Sqlplus apps/apps

1. Synchronize the index used for item search:

  EXEC ad_ctx_ddl.sync_index(IDX_NAME => 'ICX.ICX_CAT_ITEMSCTXDESC_HDRS');

2. Optimize the index:

EXECUTE ad_ctx_ddl.optimize_index(IDX_NAME =>
'ICX.ICX_CAT_ITEMSCTXDESC_HDRS', optlevel => 'FULL');

3. Retest the issue and confirm improved item search performance.

IF THE PERFORMANCE IS STILL SLOW
4.  Recreate the index as follows:

4.1 Run this query and take note of the results

   SELECT * FROM all_objects WHERE object_name='ICX_CAT_ITEMSCTXDESC_HDRS';

4.2 If an index is shown from action 4.1 query above (it should be shown unless the index is already dropped), then drop the existing index as follows:

   exec ICX_CAT_INTERMEDIA_INDEX_PVT.drop_index;

4.3 Ensure no record (no index) is retrieved by following sql, before proceeding to the next step.  This ensures the drop_index command has completed.

   SELECT * FROM all_objects WHERE object_name='ICX_CAT_ITEMSCTXDESC_HDRS';

4.4 Run the following script to create the index:

   exec ICX_CAT_INTERMEDIA_INDEX_PVT.create_index;

5.  Retest again, and confirm the item search performance is improved.


*** DO THIS IN A TEST INSTANCE FIRST ***
(Doc ID 1292406.1 & 1553418.1)