Wednesday, February 14, 2024
Creating an ACFS file system on OCI DB system
Tuesday, February 6, 2024
adcfgclone.pl Rapid clone Options E-Business suite 11, R12, R12.2
Thursday, November 17, 2022
What does f+++++++++ mean in rsync logs?
Let's take a look at how rsync works and better understand the cryptic result lines:
1 - A huge advantage of rsync is that after an interruption the next time it continues smoothly.
The next rsync invocation will not transfer the files again, that it had already transferred, if they were not changed in the meantime. But it will start checking all the files again from the beginning to find out, as it is not aware that it had been interrupted.
2 - Each character is a code that can be translated if you read the section for -i, --itemize-changes in man rsync
Decoding your example log file from the question:
>f.st......
> - the item is received
f - it is a regular file
s - the file size is different
t - the time stamp is different
.d..t......
. - the item is not being updated (though it might have attributes
that are being modified)
d - it is a directory
t - the time stamp is different
>f+++++++++
> - the item is received
f - a regular file
+++++++++ - this is a newly created item
The relevant part of the rsync man page:
-i, --itemize-changes
Requests a simple itemized list of the changes that are being made to each file, including attribute changes. This is exactly the same as specifying --out-format='%i %n%L'. If you repeat the option, unchanged files will also be output, but only if the receiving rsync is at least version 2.6.7 (you can use -vv with older versions of rsync, but that also turns on the output of other verbose messages).
The "%i" escape has a cryptic output that is 11 letters long. The general format is like the string YXcstpoguax, where Y is replaced by the type of update being done, X is replaced by the file-type, and the other letters represent attributes that may be output if they are being modified.
The update types that replace the Y are as follows:
- A
<means that a file is being transferred to the remote host (sent).- A
>means that a file is being transferred to the local host (received).- A
cmeans that a local change/creation is occurring for the item (such as the creation of a directory or the changing of a symlink, etc.).- A
hmeans that the item is a hard link to another item (requires --hard-links).- A
.means that the item is not being updated (though it might have attributes that are being modified).- A
*means that the rest of the itemized-output area contains a message (e.g. "deleting").The file-types that replace the X are:
ffor a file, adfor a directory, anLfor a symlink, aDfor a device, and aSfor a special file (e.g. named sockets and fifos).The other letters in the string above are the actual letters that will be output if the associated attribute for the item is being updated or a "." for no change. Three exceptions to this are: (1) a newly created item replaces each letter with a "+", (2) an identical item replaces the dots with spaces, and (3) an unknown attribute replaces each letter with a "?" (this can happen when talking to an older rsync).
The attribute that is associated with each letter is as follows:
- A
cmeans either that a regular file has a different checksum (requires --checksum) or that a symlink, device, or special file has a changed value. Note that if you are sending files to an rsync prior to 3.0.1, this change flag will be present only for checksum-differing regular files.- A
smeans the size of a regular file is different and will be updated by the file transfer.- A
tmeans the modification time is different and is being updated to the sender’s value (requires --times). An alternate value of T means that the modification time will be set to the transfer time, which happens when a file/symlink/device is updated without --times and when a symlink is changed and the receiver can’t set its time. (Note: when using an rsync 3.0.0 client, you might see the s flag combined with t instead of the proper T flag for this time-setting failure.)- A
pmeans the permissions are different and are being updated to the sender’s value (requires --perms).- An
omeans the owner is different and is being updated to the sender’s value (requires --owner and super-user privileges).- A
gmeans the group is different and is being updated to the sender’s value (requires --group and the authority to set the group).- The
uslot is reserved for future use.- The
ameans that the ACL information changed.- The
xmeans that the extended attribute information changed.One other output is possible: when deleting files, the "%i" will output the string "*deleting" for each item that is being removed (assuming that you are talking to a recent enough rsync that it logs deletions instead of outputting them as a verbose message).
https://stackoverflow.com/questions/4493525/what-does-f-mean-in-rsync-logs
Thursday, October 13, 2022
FND_CONCURRENT_QUEUE Control Code Meaning
In the FND_CONCURRENT_QUEUE table we have a column named control_code.
To get the details of the code present in the column we can use below script.
SQL> select lookup_code,meaning from apps.fnd_lookups where lookup_type = 'CP_CONTROL_CODE' order by lookup_code;
LOOKUP_CODE MEANING
---------- ------------------------------
A Activating
B Activated
D Deactivating
E Deactivated
H System Hold, Fix Manager before resetting counters
N Target node/queue unavailable
O Suspending concurrent manager
P Suspended
Q Resuming concurrent manager
R Restarting
T Terminating
U Updating environment information
V Verifying
X Terminated
Saturday, October 8, 2022
adop fs_clone failure
adop fs_clone failure
Validating credentials.
Initializing.
Run Edition context : /ascprd/app/applmgr/IRASCPRD_R122/fs1/inst/apps/IRASCPRD_Admin_host/appl/admin/IRASCPRD_Admin_host.xml
Patch edition context: /ascprd/app/applmgr/IRASCPRD_R122/fs2/inst/apps/IRASCPRD_Admin_host/appl/admin/IRASCPRD_Admin_host.xml
Patch file system free space: 696.66 GB
Validating system setup.
[UNEXPECTED]Invalid worker Count: 0
[UNEXPECTED]Error validating worker count
[STATEMENT] Please run adopscanlog utility, using the command
"adopscanlog -latest=yes"
to get the list of the log files along with snippet of the error message corresponding to each log file.
adop exiting with status = 2 (Fail)
Fix : Run with one worker
$ adop phase=fs_clone worker=1
Solution worked for others
The default worker count information(recomm & max) is stored in a file adpawc.xml that can be found under $APPL_TOP/admin/$TWO_TASK/log
Somehow this file has been modified with recommended value as 0 and max value as 1 during node addition.
FileContent:
<?xml version="1.0"?>
<WORKER_COUNT>
<RECOMMENDED>0</RECOMMENDED>
<MAX>1</MAX></WORKER_COUNT>
Update recommended & max value based on cpu count.
Here I updated recommended value as 8 and max value as 64 and saved the file.
Once the changes are made, fs_clone went smoothly.
Friday, September 23, 2022
Post Clone Steps on EBS Environment
Post Clone Steps on EBS Environment
---------------------------------------------
1) Drop the Private Database link using apps user( ie these db link names are depend on your environment, just for example)
drop database link XXTEST.NIZAMAPPSDBA.COM;
drop database link XXTEST1.NIZAMAPPSDBA.COM;
2) Drop the Private Database link using sys user( ie these db link names are depend on your environment, just for example)
exec dropschema_dblinks('NIZAMAPPSDBA);
exec dropschema_dblinks('APPS');
3) Update the Worflow tables and FND table on Clone Environment(depend on your environment, just for example below)
Update apps.wf_systems (This should show the target Instance and not the source Instance)
select name,display_name from apps.wf_systems;
update apps.wf_systems set name=’<SID>’,display_name=’ <SID>.<hostname.domainname>’;
COMMIT;
eg: update apps.wf_systems set name='TEST.NIZAMAPPSDBA.COM',display_name='TEST.AU123.NIZAMAPPSDBA.COM’;
update apps.wf_systems set name='UATTEST.NIZAMAPPSDBA.COM',display_name='UATEST.DX123.NIZAMAPPSDBA.COM’;
UPDATE wf_notifications SET status ='CLOSED',mail_status ='SENT', end_date ='26-JAN-16' WHERE mail_status in ('MAIL','INVALID','OPEN');
update wf_agents set address = replace (address,'PROD','DEV') ;
eg: update wf_agents set address = replace (address,'HRD','TEST') ;
update wf_agents set address = replace (address,'HRD','UATTEST') ;
select name ,display_name from wf_systems;
update wf_systems set DISPLAY_NAME = replace (DISPLAY_NAME,'PROD.DBALOUNGE.COM','DEV.DBALOUNGE.COM');
eg:update wf_systems set DISPLAY_NAME = replace (DISPLAY_NAME,'PROD.NIZAMAPPSDBA.COM','TEST.NIZAMAPPSDBA.COM');
update wf_systems set DISPLAY_NAME = replace (DISPLAY_NAME,'PROD.NIZAMAPPSDBA.COM','UATTEST.NIZAMAPPSDBA.COM');
Commit;
Update the target node in CM fnd_concurrent_queues table using below post_clone.sql script. values will be different and it is based on our environment
WHENEVER SQLERROR EXIT FAILURE
WHENEVER OSERROR EXIT FAILURE
SET echo OFF
SET linesize 150
set verify off
SET show OFF
define Backup_date = "&Backup_Date"
UPDATE fnd_profile_option_values
SET profile_option_value = 'Production Copy '||'&BACKUP_DATE'
WHERE profile_option_id=125;
UPDATE fnd_concurrent_queues
SET node_name='TEST1243'
WHERE node_name in('PROD252','PROD253','PROD214','PROD215','PROD258','PROD259','PROD250','PROD251');
UPDATE fnd_concurrent_queues
SET node_name2='TEST1243'
WHERE node_name2 in('PROD252','PROD253','PROD214','PROD215','PROD258','PROD259','PROD250','PROD251');
UPDATE fnd_concurrent_queues
SET node_name2='TEST1243'
WHERE node_name2 in('PROD252','PROD253','PROD214','PROD215','PROD258','PROD259','PROD250','PROD251');
UPDATE fnd_concurrent_queues
SET target_node='TEST1243'
WHERE target_node in('PROD252','PROD253','PROD214','PROD215','PROD258','PROD259','PROD250','PROD251');
UPDATE fnd_concurrent_queues
SET target_node='TEST1243'
WHERE target_node in('PROD252','PROD253','PROD214','PROD215','PROD258','PROD259','PROD250','PROD251');
commit;
4) Cleaning the Clone Setup and Change the password in Clone Environment
FNDCPASS apps/****** 0 Y system/**** SYSTEM APPLSYS apps
FNDCPASS apps/***** 0 Y system/****** USER sysadmin Welcome123456789
perl $FND_TOP/patch/115/bin/txkManageDBConnectionPool.pl
exec FND_CONC_CLONE.SETUP_CLEAN;
Run cmclean.sql
1. Change the value for context variables s_url_protocol, s_local_url_protocol,s_webentryurlprotocol in context file from https to http.
3. Change the value of s_help_web_agent, s_login_page, s_external_url context variables to point to http url and the port in the url refers to s_webport.
4. Change the value of s_enable_sslterminator to - <sslterminator oa_var="s_enable_sslterminator">#</sslterminator>
AUTOCONFIG
-----------
Run adautocfg.sql in DB and Apps Tier
$FND_TOP/bin/txkrun.pl -script=SetSSOReg -removereferences=yes -appspass=apps
Run adautocfg.pl in DB and Apps Tier
Start the application services.
5) Profile change if SSO to disabled on Clone Environment
------------------------------------------------------
Application Authenticate Agent to NULL
Applications SSO Type to SSWA
Applications SSO Login Types to Local
Applications Single Sign On Hint Cookie Name to ORASSO_AUTH_HINT
Application SSO LDAP Synchronization to NULL
Applications SSO Auto Link User to NULL
Applications SSO User Creation and Updation Allowed to NULL
6) Disable_concurrent_request on Clone Environment
--------------------------------------------------
update fnd_concurrent_requests
set phase_code = 'C', status_code = 'X'
where status_code in ('Q','I','P','R')
and requested_start_date > SYSDATE
and hold_flag = 'N';
update fnd_concurrent_requests
set phase_code = 'C', status_code = 'X'
where requested_start_date > SYSDATE
and hold_flag = 'N';
update fnd_concurrent_requests
set phase_code = 'C', status_code = 'X';
define Backup_date = "&Backup_Date"
UPDATE fnd_profile_option_values
SET profile_option_value = 'Production Copy '||'&BACKUP_DATE'
WHERE profile_option_id=125;
7) Data Masking on Clone Environment, ie it depend on the evironment and organization requirement
-------------------------------------------------------------------------------------------------
login to database using HR schema, run below scripts
create table Per_all_people_f_nomask as select *from Per_all_people_f;
update Per_all_people_f
set full_name=dbms_random.string('U', 20),
first_name=dbms_random.string('U', 20),
last_name=dbms_random.string('U', 20),
middle_names=dbms_random.string('U', 20),
global_name=dbms_random.string('U', 20),
local_name=dbms_random.string('U', 20);
create table per_phones_nomask as select *from per_phones;
update per_phones
set phone_number=trunc(dbms_random.value(1000000000,9999999999));
create table per_analysis_criteria_no_mask as select *from per_analysis_criteria;
update per_analysis_criteria
set segment1=trunc(dbms_random.value(1000000000,9999999999)),
segment5=trunc(dbms_random.value(1000000000,9999999999)),
segment6=trunc(dbms_random.value(1000000000,9999999999));
ewallet p12 vs cwallet sso
The ewallet.p12 stores credentials and certificates protected by a user password, while cwallet.sso provides an obfuscated, random passw...