Friday, August 21, 2026

10 TOracle OIC Gen-3: Things to Know Before You Start

 

Day 1 of my Oracle Integration Cloud (OIC) Gen 3 Learning Journey 🚀

Today I started revisiting Oracle Integration Cloud Gen 3, beginning with the fundamentals: “10 Things to Know Before You Start.”

Here are my key takeaways from today's learning:

🔹 1. Integration is about automating business processes

Oracle Integration can connect applications, move data between cloud and on-premise systems, automate business processes, monitor processes, and help recover from errors.

🔹 2. Projects help organize integrations

A Project provides a structured workspace where related integrations and components can be designed, managed, observed, and deployed.

🔹 3. Integration Pattern determines how an integration starts

Three important patterns I learned today:

Application Integration – triggered by a specific business event or application change.

Event Integration – follows a publish/subscribe approach where one integration publishes an event and another subscribes to it.

Schedule Integration – runs at a specific time or can be triggered on demand.

🔹 4. Synchronous vs Asynchronous

This was one of my important takeaways:

Synchronous → Immediate response

Asynchronous → Request is accepted and processing happens independently

For complex business processes, these patterns can also be combined—for example, return an immediate confirmation to the caller and then perform the heavier processing asynchronously.

🔹 5. Keep integrations simple

A good integration is not necessarily a complicated integration.

Keeping integrations small, simple, and properly scheduled can improve maintainability and avoid unnecessary resource competition.

💡 My key takeaway from Day 1:

Before building an integration, don't immediately start dragging and dropping components.

First ask:

What event should start the integration?

Does the caller need an immediate response?

Should the process run asynchronously?

Does it need to run on a schedule?

Understanding these decisions first makes the actual integration design much clearer.

I'm continuing this journey one concept at a time, with the goal of strengthening my Oracle Integration Cloud skills and applying these concepts to real-world integration scenarios.

📚 Day 1 completed. More to learn tomorrow!

#Oracle #OracleIntegration #OIC #OracleCloud #OracleIntegrationCloud #Integration #CloudIntegration #OracleFusion #LearningJourney #OICGen3

Thursday, February 28, 2019

How to Remove Files in Linux

 To remove (or delete) a file or directory in Linux from the command line, use the rm(remove) command.
Be extra careful when removing files or directories with the rm command, because once the file is deleted it cannot be recovered.
  • To delete a single file use, the rm command followed by the file name:
rm filename
Copy
If the file is write protected you will be prompted for confirmation as shown below. To remove the file type y and hit Enter. Otherwise, if the file is not write protected it will be deleted without prompting.
rm: remove write-protected regular empty file 'filename'?
Copy
  • To delete multiple files at once use the rm command followed by the file names separated by space.
rm filename1 filename2 filename3
Copy
You can also use a wildcard (*) and regular expansions to match multiple files. For example to remove all .pdf files in the current directory, use the following command:
rm *.pdf
Copy
When you use rm with wildcards (*) and regular expansions, it is recommended to list the files with the ls command so that you can see what files will be deleted before running the rm command.
  • Use the -i option to confirm each file before deleting it:
rm -i filename(s)
Copy
  • To remove files without prompting even if the files are write-protected use the -f(force) option:
rm -f filename(s)
Copy
  • You can also combine rm options. For example, to remove all .txt files in the current directory without a prompt in verbose mode, use the following command:
rm -fv *.txt
Copy

How to Remove Directories (Folders)

  • To remove an empty directory use the -d option.
rm -d dirname
Copy
  • To remove non-empty directories and all the files within them, use the r (recursive) option.
rm -r dirname
Copy
If a directory or a file within the directory is write-protected, you will be prompted to confirm the deletion.
  • To remove non-empty directories and all the files without being prompted use the r(recursive) and -f options.
rm -rf dirname
Copy
  • To remove multiple directories at once, use the rm command followed by the directory names separated by space.

rm -r dirname1 dirname2 dirname3
Copy
Same as with files you can also use a wildcard (*) and regular expansions to match multiple directories
Thanks - linuxize.com

Monday, January 7, 2019

HOW TO FIND/VIEW SYSADMIN PASSWORD – R12

CREATE OR REPLACE PACKAGE XXtest_GET_PWD AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2;
END XXtest_GET_PWD;
/

CREATE OR REPLACE PACKAGE BODY XXtest_GET_PWD AS
FUNCTION decrypt (KEY IN VARCHAR2, VALUE IN VARCHAR2)
RETURN VARCHAR2 AS
LANGUAGE JAVA NAME 'oracle.apps.fnd.security.WebSessionManagerProc.decrypt
(java.lang.String,java.lang.String) return java.lang.String';
END XXtest_GET_PWD;
/


SELECT Usr.User_Name,
Usr.Description,
XXtest_GET_PWD.Decrypt (
(SELECT (SELECT XXtest_GET_PWD.Decrypt (
Fnd_Web_Sec.Get_Guest_Username_Pwd,
Usertable.Encrypted_Foundation_Password)
FROM DUAL)
AS Apps_Password
FROM applsys.Fnd_User Usertable
WHERE Usertable.User_Name =
(SELECT SUBSTR (
Fnd_Web_Sec.Get_Guest_Username_Pwd,
1,
INSTR (Fnd_Web_Sec.Get_Guest_Username_Pwd,
'/')-1)
FROM DUAL)),
Usr.Encrypted_User_Password)
Password
FROM applsys.Fnd_User Usr
WHERE Usr.User_Name = 'SYSADMIN';

How To Change/Reset The Password For The SYSADMIN User

Through Backend
DECLARE
   l_flag   BOOLEAN;
 BEGIN
   l_flag := fnd_user_pkg.changepassword ('sysadmin', 'sysadmin');
  DBMS_OUTPUT.put_line (   'l_flag = '||CASE 
                               l_flag
                              WHEN TRUE
                                THEN 'true'
                              ELSE 'false'
                            END
                        );

 END;
 /



Through unixbox

Change the SYSADMIN password:


applmgr@[unixhost]-> FNDCPASS apps/PASS12011 0 Y system/PASS11445 USER SYSADMIN PASSs54lpRd





Thursday, June 14, 2018

How to bounce (start/stop) Apache Server in Oracle EBS R12

1. Login to your EBS Instance with putty tool or any other software.
2. Switched to applmgr user (using sudo su - applmgr)
3. set Apps env (by running /u01/PROD/app/apps/apps_st/appl/APPS<$ORACLE_SID>_$HOSTNAME.env file)
4. Go to $INST_TOP/admin/scripts
5. run script adapcctl.sh for stopping Apache server first, and then run the same script to start it again.

cd $INST_TOP/admin/scripts

./adapcctl.sh stop

./adapcctl.sh start


6. You can check the status of Apache server using below command

./adapcctl.sh status

Item Category Query

-- To Retrieve item category details -- 



SELECT distinct  msi.segment1 item_code, msi.description item_desc,
       mc.segment12 item_category, mc.CONCATENATED_SEGMENTS
  FROM mtl_item_categories mic,
       mtl_category_sets_tl mcst,
       mtl_category_sets_b mcs,
       --mfg_lookups ml,
       mtl_categories_b_kfv mc,
       mtl_system_items_b msi
 WHERE mic.category_set_id = mcs.category_set_id
   AND mcs.category_set_id = mcst.category_set_id
   AND mcst.LANGUAGE = USERENV ('LANG')
   AND mic.category_id = mc.category_id
   --AND mic.organization_id = 3
   --and upper(mc.concatenated_segments) like '%CAPITAL%'
   AND msi.organization_id = mic.organization_id
   AND msi.inventory_item_id = mic.inventory_item_id
   --and mcst.category_set_name='PURCHASING CATEGORY SET'
   AND ( mc.segment12 IN ('COMPONENT', 'NONE') OR mc.segment12 LIKE '%TOOL%') 

Tuesday, May 29, 2018

utl_smtp.mail sample code

CREATE OR REPLACE PROCEDURE SEND_MAIL (
msg_to varchar2, 
msg_subject varchar2,
msg_text varchar2 )
IS
c utl_smtp.connection;
rc integer; 
msg_from varchar2(50) := 'Oracle9.2'; 
mailhost VARCHAR2(30) := '127.0.0.1'; -- local database host 

BEGIN
c := utl_smtp.open_connection(mailhost, 25); -- SMTP on port 25 
utl_smtp.helo(c, mailhost);
utl_smtp.mail(c, msg_from);
utl_smtp.rcpt(c, msg_to);

utl_smtp.data(c,'From: Oracle Database' || utl_tcp.crlf ||
'To: ' || msg_to || utl_tcp.crlf ||
'Subject: ' || msg_subject || 
utl_tcp.crlf || msg_text);
utl_smtp.quit(c);

EXCEPTION
WHEN UTL_SMTP.INVALID_OPERATION THEN
dbms_output.put_line(' Invalid Operation in Mail attempt 
using UTL_SMTP.');
WHEN UTL_SMTP.TRANSIENT_ERROR THEN
dbms_output.put_line(' Temporary e-mail issue - try again'); 
WHEN UTL_SMTP.PERMANENT_ERROR THEN
dbms_output.put_line(' Permanent Error Encountered.'); 
END;
/