Showing posts with label My Interview Preparations. Show all posts
Showing posts with label My Interview Preparations. Show all posts

Saturday, November 14, 2020

Oracle Rac Interview Questions

Oracle Rac Interview Questions


  1. How end-user can connect to the RAC Database?
  2. What is a Voting Disk and why we keep an odd number of VD?
  3. What is a split-brain syndrome in RAC? If this issue is there for a longer time, then what happens??
  4. Explain high-level steps to install Oracle 3 node RAC database?
  5. Explain patching types in oracle RAC and steps to apply a patch?
  6. Can we use a different Operating system when configuring RAC?
  7. Clusterware fencing is available from which version?
  8. What are the two methods of Clusterware communication?
  9. How many nodes we can configure in RAC?
  10. Can you use IPv6 for Private IP?
  11. Differences between Single Instance Vs RAC?
  12. What files store in the Clusterware?
  13. What is the File system that certified for RAC?
  14. What protocol used in the oracle RAC interconnect network?
  15. What do you need to plan before migrating Single Instance to RAC?
  16. How many nodes we can configure in RAC?
  17. Can we use a different Operating system when configuring RAC?
  18. Clusterware fencing is available from which version?
  19. What is two methods for Clusterware communication?
  20. How Many IP needed for 2 node RAC according to Oracle best practices?
  21. What is Cache Fusion?
  22. What is GRD?
  23. What is the role of the Voting Disk?
  24. How to check resources in the cluster?
  25. How to check clusters are up ON all nodes?
  26. How to check the cluster is UP on a particular node?
  27. How to bring Down the one specific node in RAC?
  28. What will you check if the query is running slow?
  29. DIfference between Bitmap & B-tree Index?
  30. Tell me Wait Event in RAC?
  31. How many disks in ASM Normal Redundancy?
  32. How to create Data Guard?
  33. How to fix the gap in Data Guard?
  34. Difference between DBFile Sequential and Scattered Reads?
  35. What is Fragmentation in Oracle Database?
  36. Table Fragmentation in Oracle Database?
  37. How to recover Table in oracle database?
  38. Can we transfer the data between Linux to windows?
  39. Difference between b-tree and bitmap index?
  40. What is gc cr request in RAC?
  41. What is the Library cache lock? When it will occur?
  42. How you solve Library cache lock issues?
  43. Library cache Lock issues In AWR which section you will look in to?
  44. In Library cache lock how connection management call elapsed time will impact?
  45. One user fire select statement for the long table after that one user drop that table. then what will happen for a select query?
  46. Rolling Upgrade in Oracle RAC?
  47. How to Fix the log switches problem?
  48. Oracle Database “19c New Features”?
  49. How to check ASM status?
  50. Have you done ASM metadata backup?
  51. What is SQL BaseLine?
  52. What are the two source attributes for SQL Base Line?
  53. How to Create a SQL Base Line?
  54. In one Table Index is there but Optimizer is not using index what will be the reason?
  55. What are Deadlocks? How it will be resolved?
  56. One user A Started a Transaction after that user B started the transaction on the same row in that table. So Deadlock occurs. Which user Transaction will rollback? DBA will rollback or it happens automatically?
  57. What are the Locks? Tell me the name Object Type of Lock?
  58. If user Fire Select query Statement so Lock will happen or not?
  59. When the user fires the Select statement than in backend how it will execute?
  60. What is the SQL patch? Why did we use it?


Oracle Database Interview Questions

Oracle Database Interview Questions

  1. What is the section you will look into in the AWR Report to improve the DB performance?
  2. What is the basic parameter you will set for RMAN?
  3. What is the troubleshooting you did in your daily activities?
  4. Why we do CF Multiplexing?
  5. How you can replace Optimizer EP for your Query?
  6. How you will get the datafile block corruption information?
  7. For SQL Query Improvement what you will do?
  8. For SQL Query Problem what section you will look into?
  9. What is Bind Peeking Variable?
  10. What is Free Buffer Busy Wait?
  11. How to change the DB name?
  12. What are things you look into when you are creating a Test Environment from a Production Environment? (loading production data in a test environment)
  13. How to attach any parameters in the running job if you don’t know ENCRYPTION_PASSWORD?(my dump file has an encryption password)
  14. How to Attaching a parameter to a running Job?
  15. How to Identifying data pump jobs?
  16. How to Refresh Database from PROD to TEST?
  17. What are the types of Hints we can use for Optimizer?
  18. In the Oracle SQL execution plan what columns you will look into?
  19. How to read & understand the EP?
  20. Why do bind variables matter for performance?
  21. If your standby database is lagging relative to the primary database, you should focus on which areas?
  22. How You Determining transport or apply lag is done on the standby database?
  23. How you Find local time on the standby database when the datum used to compute the metric was received it means (the lag metrics are computed based on data that's periodically received from the primary database)?
  24. How you will Find out the history of apply lag values since the standby instance was last started?
  25. How to monitor and assess redo apply performance?
  26. What are the RECOVERY PROCESS WAIT EVENTS in Data Guard?
  27. Which Script creates the standby statspack schema to hold the standby snapshots?
  28. Which script generates the standby statistics report?
  29. Which script is used to purge a set of snapshots in the Data Guard?
  30. Which script drops the stdbyperf user and tables?
  31. Can A logical standby accept archived logs while a rolling upgrade is taking place?
  32. How to determine whether any tables involved in a rolling upgrade performed with the
  33. DBMS_ROLLING PL/SQL package contains unsupported data types?
  34. Can we transport of redo data to a Recovery Appliance?
  35. For rolling upgrades which Procedure Support?
  36. Can we rename the data file on the standby site when the STANDBY_FILE_MANAGEMENT initialization parameter is set to AUTO?
  37. If the standby site is not receiving redo data, Which view you will check for error messages?
  38. Can we mount the standby database if the standby control file was not created?
  39. If you specify REOPEN for a MANDATORY destination, and redo data is not transmitted then what will happen on Primary Database?
  40. Which tool(Procedure) you will use for handling logical standby database failures?
  41. If the switchover does not complete successfully, which view you will check?
  42. Can we move an online datafile in a data guard from one physical file to another physical file while the database is actively accessing the file?
  43. Can we create a physical standby of a Multitenant container database(CDB)?
  44. Can we use SYNC & NOAFFIRM ATTRIBUTES use together in maximum availability mode?
  45. Using CURRENT LOGFILE clause is required to start real-time apply in data guard?
  46. Can we do DML operations on global temporary tables on Oracle Active Data Guard standbys?
  47. Can we use sequences in an Oracle Active Data Guard environment?
  48. When you perform a switchover from an Oracle RAC primary database to a physical standby database, it is necessary to shut down all but one primary database instance?
  49. Can we use Application Continuity Feature for Oracle Data Guard switchovers to physical standby databases?
  50. Can we use Application Continuity Feature for fast-start failover to physical standbys in maximum availability data protection mode?
  51. Can we create a logical standby of a CDB?
  52. What is the prerequisite required for data pump export and Import?
  53. If performance is slow in the Data pump, what will you do?
  54. How you will monitor the Data pump activity?
  55. What are the migration's high-level steps in Azure?
  56. What are the factors DBA should look into Migration?
  57. We are using RMAN backup for migration but it is taking too much time and we have 4 hrs window to migrate, What will be your approach and Will data guard be beneficial for this problem?
  58. How you will improve RMAN performance?
  59. Difference between OEM 12c and 13c?
  60. If we remove a database target from OEM does it remove the database from the host or just monitoring?
  61. How to remove an agent from the host?
  62. How does authentication happen in Oracle Database? Where it will authenticate in DB and OS system?
  63. Tell me about Oracle Architecture? & What are the Instance and Database?
  64. What is LGWR? How many LGWR is there, can we increase LGWR?
  65. If LGWR is slow then what could be the reason for that? How you will troubleshoot? What would the solution you could give?
  66. How you will export the 8i database to 12c? In testing, it is taking 2 hours and in production, now it is taking 4 hours what you will check? how you could improve the performance of this activity?
  67. How you will migrate the database using RMAN? If it is slow, how you will increase the performance?
  68. How you will Migrate using a Data pump?
  69. What is the prerequisite required for data pump export and Import?
  70. If performance is slow in the Data pump, what will you do?
  71. How you will monitor this Data pump activity?
  72. Data-pump is an optional process in GG, then why Oracle recommends it to use?
  73. How you will log in to the GG console?
  74. How will you check GG is running on the server or not?
  75. What you will check if the SELECT query is running slow?
  76. You generate an explain plan and found that full table scan, how you can avoid that, what is your suggestion on this?
  77. What is the difference between a full table scan and an index scan?
  78. Which one is better, a full table scan, or Index scan?
  79. What are db file sequential read  Wait Event & db file scattered read  Wait Event?
  80. If I have to update one column value, what will happen in the background? How many memory components and processes will involve in this transaction?
  81. Can we increase the DB writer process and MAX DB writer processes? What will be the benefit I will get if I increase it?
  82. What are the karnal parameters dba will set in the database Installation?
  83. What is shmmni, shmall & shmmax?
  84. What is MMAN, MMON processes?
  85. Data got deleted from a table, how you will recover?
  86. Can we perform the table recovery in 11g or not?
  87. The value of the Standby management parameter is manual, and activities are going on in production, what will you do to sync standby?
  88. What is the data guard protection mode? and what are the difference among all?
  89. What are the processes involved in Data guard?
  90. If the archive is not being applied on DG, from where you will start troubleshooting? and which is the dynamic view to check an error?
  91. What are the main processes of the golden gate?
  92. What is the difference between exp/imp and expdp/impdp?
  93. What is the difference between delete and truncate command?
  94. What is cache fusion? Which process do cache fusion?
  95. Earlier we had a buffer option to speed up logical backup. Which option do we use now in 11g?
  96. What is the ORA-01555 error?
  97. What is a flashback and what is mandatory for a flashback?
  98. We have two database D1 and D2 and the D1 database doesn't have space so how will you take an export of D1?
  99. You are using Toad and you are running procedure and you get a TNS error what is the reason?
  100. Where is the location of the RAC CRS cluster alert log?
  101. If the undo file is corrupted what will you do?
  102. How to create ACFs?
  103. What is async noaffirm?
  104. What is the backup location of OCR?
  105. What is the actual size and mirror size in V$ASM_DISKGROUP?
  106. How many IPs are configured in HAIP and why it is used and can we replace it with something?
  107. How to check if HAIP is up and down?
  108. Public and private are on the same subnet mask or different?
  109. What is block change tracking and when it is used before level 0,level1, or after that?
  110. How to set FRA?
  111. How to set a recycle bin?
  112. How to do schema refresh?
  113. How to check the backup completed or not?
  114. How to check which query is taking a long time?
  115. How to check tablespace is full or not?
  116. How to unlock the schema?
  117. How you will check about the patch?
  118. What is the snapshot too old error?
  119. If we take a full backup on Wednesday and after that, we take incremental backup on Tuesday and Friday, and on Sunday database crashed so how you will perform recovery?
  120. How to add datafile?
  121. How to resize tablespace?
  122. How to resize the logfile member?
  123. What happens if we kill SMON process?
  124. What is the diffrent b/w user and schema?
  125. What is the diffrent b/w rman back and import export?
  126. How to check the location of CRSD files?
  127. If we create a new database which parameter is important to check?
  128. What is the process of the startup?
  129. What is the different b/w incremental and cumulative backup?
  130. What is the hot and cold backup.?
  131. How to resize the redo log member?
  132. Tell me the mandatory background process?
  133. We have multiple control files in multiple locations. and we lost
  134. control file so how to recover control file?
  135. How to give permission to access the database?
  136. What is cloning?
  137. What is Rman cloning?
  138. What is a materialized view?
  139. What is the undo management? What happens if we delete some rows and give commit? How to rollback data?
  140. What is the prerequisite of RAC?
  141. What is cache fusion?
  142. What is the prerequisite of the data guard?
  143. What is Fragmentation in Oracle Database?
  144. What is Table Fragmentation in Oracle Database?
  145. Can we transfer the data between Linux to Windows?
  146. Difference between b-tree and bitmap index.
  147. How to troubleshoot a slow running query in Oracle?
  148. What is GC cr request in RAC?
  149. Which BR strategy is good for prod DB?
  150. 2 Tb schema how you will refresh?
  151. How will you ensure your patch is applied successfully?
  152. What are the minimum required parameters in pfile?
  153. What is Rolling Upgrade in Oracle RAC?
  154. How to Fix the log switches problem?
  155. Tell me Oracle Database “19c New Features”?
  156. How to check ASM status?
  157. How you will do ASM metadata backup?
  158. How many disks in ASM Normal Redundancy?
  159. How to fix the gap in the data guard?
  160. How to create a data guard?
  161. Difference between DBFile Sequential and Scattered Reads?
  162. How to recover Table in oracle database?
  163. If your current redo member got corrupted, will the database hang? If yes, how will you overcome this situation?
  164. If you have increment level 0 backup and you have to restore it on a fresh server, how will you do it?
  165. When do you propose a RAC solution to your business client? Why RAC environment is beneficial over a single instance database?
  166. What is the difference between maximum performance, maximum protection & maximum availability in Data Guard?
  167. What is the Default mode in Data Guard?
  168. What is the Difference between Incremental Differential and Incremental Cumulative backup?
  169. If LOB object is taking much time to export what will be your action?
  170. If node evictions occur? what will be your approach?
  171. How many voting disks are required to set up the RAC?
  172. If you have added datafile in the primary database but it was not added in standby due to space issue, then what will you do to correct it?
  173. If the Archiver process killed, then what will be the impact on the database?
  174. Why do you prefer the data pump over exp/imp?
  175. What is the parameter to make data pump operation faster?
  176. What is the parameter used to take consistent backup?
  177. What flashback_scn does?
  178. If you came in shift and you have to monitor an ongoing import job, how will you do it?
  179. How to resume a data pump job and from where it will take info?
  180. Tell me common wait events in the database?
  181. What precautions will you take before upgrading the production database?
  182. If your upgrade is failed for some reason, and the client wants the database to be running ASAP, how can you do that?
  183. If archives are not shipping to standby what are the different reasons?
  184. What is relation b/w DB time and elapsed time and no CPU?
  185. What is logfile sync?
  186. RAC installation steps?
  187. How to upgrade 11.2.0.1 to 11.2.0.3 database?
  188. How to apply rolling and non-rolling patches and auto patches?
  189. What will happen if grid unlocks?
  190. What are the issues faced in RAC?
  191. Why node eviction will occur?
  192. How to take the backup of OCR File and Voting Disk?
  193. How to run and read the execution plan?
  194. In the case of OS patch what will be your task as a dba?
  195. Difference between physical and logical standby?
  196. What is the Functionality of the dg broker?
  197. How do u monitor databases on a daily basis?
  198. What is automatic memory management?
  199. How to rename a datafile?
  200. If I set memory_max_target to 8gb and want to set memory_target to 10gb. How can I do it?
  201. If you have 10GB memory for your instance from which 4GB is allocated to SGA. Now I have made 20GB memory available for your instance and want to change SGA size to 8GB. How can you do it? Will there be any limitations to do this?
  202. How to check free space in ASM disk?
  203. How to take a backup of Voting Disk?
  204. How to check the location of the Voting Disk?
  205. How many IPs you have in 2 node RAC?
  206. What is SCAN?
  207. How the SCAN is useful in 11g?
  208. What is VIP?
  209. What is the use of Public IP, Private IP, VIP & SCAN IP use in RAC?
  210. How the Client gets Connected to Instance?
  211. If you have many instances in the RAC environment, how clients connect to a particular instance?
  212. How to check the index on a particular table?
  213. What is the difference between 11g and 12c RMAN?
  214. If your restoration got failed for some reason, then how you can resume it in RMAN?
  215. What action you will take to avoid Archive full issue?
  216. Where are redo logs stored in RAC? Locally or shared storage?
  217. How to identify the master node in RAC?
  218. If one node goes down, then services will failover to which node?
  219. What are OLR and OCR?
  220. Why we should have an odd number of voting disks?
  221. Explain the startup sequence of Clusterware?
  222. What happens in the background during switchover?
  223. What is Dynamic Sampling?
  224. What is the purpose of kernel parameters?
  225. What are diff b/w exp/imp and data pump?
  226. What is partitioning? & on what basis you will do the partitioning?
  227. Which parameters affect the performance of dB?
  228. How to increase the restore speed in database recovery?
  229. How to restore crashed undo?
  230. Why the data pump is fast?
  231. What is oracle restart?
  232. If the user has dropped the table, how will u recover it?



Saturday, October 26, 2019

How To Enable Flash Recovery Area In Oracle Database

How To Enable Flash Recovery Area In Oracle Database


The flash recovery area(FRA) is an Oracle-managed destination( either FILE SYSTEM or ASM ) for centralized backup and recovery files. It simplifies the backup management.

The following recovery-related files are stored in the flash recovery area:
— Current control file
— Online redo logs
— Archived redo logs
— Flashback logs
— Control file auto backups
— Datafile and control file copies
— Backup pieces
— Foreign archived redo log

Below are the steps for enabling flash recovery area.

DB_RECOVERY_FILE_DEST_SIZE and DB_RECOVERY_FILE_DEST initial parameters are required for enabling FRA.

DB_RECOVERY_FILE_DEST_SIZE -> It is the disk quota size for the flash recovery area.
DB_RECOVERY_FILE_DEST – > This initialization parameter is a valid destination for the Flash Recovery Area. It can be a directory, file system, or ASM disk group.

NOTE : DB_RECOVERY_FILE_DEST_SIZE must be set before DB_RECOVERY_FILE_DEST.

1. Check whether FRA is enabled or not.

SQL> show parameter db_recovery_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string
db_recovery_file_dest_size           big integer 0

SQL> select * from V$RECOVERY_FILE_DEST;

no rows selected

2. Enable FRA.

SQL> alter system set db_recovery_file_dest_size=20G scope=both;
SQL> alter system set db_recovery_file_dest='/u01/oradata/FRA' scope=both;

SQL> show parameter db_recovery_file

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/oradata/FRA
db_recovery_file_dest_size           big integer 20G


select * from V$RECOVERY_FILE_DEST;
NAME                                   SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES     CON_ID
-------------------------------------- ----------- ---------- ----------------- --------------- ----------
/u01/oradata/FRA               2.1475E+10          0                 0               0          0

Now FRA has been enabled.

How to make archivelog destination same as flash recovery area:

SQL> alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST' scope=both;

System altered.

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     816
Next log sequence to archive   818
Current log sequence           818
SQL> alter system switch logfile;

select * from v$flash_recovery_area_usage

FILE_TYPE               PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES     CON_ID
----------------------- ------------------ ------------------------- --------------- ----------
CONTROL FILE                             0                         0               0          0
REDO LOG                                 0                         0               0          0
ARCHIVED LOG                           .01                         0               1          0
BACKUP PIECE                             0                         0               0          0
IMAGE COPY                               0                         0               0          0
FLASHBACK LOG                          .49                         0               2          0
FOREIGN ARCHIVED LOG                     0                         0               0          0
AUXILIARY DATAFILE COPY                  0                         0               0          0

FOR RAC:

For RAC database, DB_RECOVERY_FILE_DEST_SIZE and DB_RECOVERY_FILE_DEST parameter must be same across all the instances. So it is recommended to put FRA on ASM DISKS.

SQL> alter system set db_recovery_file_dest_size=20G scope=both sid='*';
SQL> alter system set db_recovery_file_dest='+FRADG' scope=both sid='*';

   

Thursday, September 12, 2019

How to connect to DATABASE and ASM instance in RAC ?

How to connect to DATABASE and ASM instance in RAC ?


Database for 2 node RAC:

set the environment variable for rdbms.
export ORACLE_SID=ORCLPROD1
sqlplus '/as sysdba'

or

export ORACLE_SID=ORCLPROD2
sqlplus '/as sysdba'


ASM for 2 node RAC:

set the environment variable for ASM instance.
export ORACLE_SID=+ASM1
sqlplus / as sysasm

or

export ORACLE_SID=+ASM2
sqlplus /as sysasm




Wednesday, September 4, 2019

Tell me about yourself ? (Weblogic Administrator)

Tell me about yourself ? (Weblogic Administrator)


This is ABC, Currently I'm working with XYZ technologies, I have around 4.8 years of experience as a Weblogic Administrator, from this company i started my career...... initially i started as Oracle Core dba, but later i got a chance to work with Weblogic.

1.I involved in creation and configuration of Domains.
2.Creation and configuration of clusters for providing load balancing and fail over support.
3.Creation and configuration of JDBC and Data sources and connection pools.
4.Deployment of applications.
5.Managing SSL certificates.

Day to day activities.

1.Taking shift handover from previous shifts.
2.Health status check-up of all weblogic server instances
3.Login to admin console and will check the all server status.
4. Make sure all server status should be running
5.If any of the server is failed, Bounse or restart the server manually.
3.Checking the webservices and applications.
4.Periodical deployment on Non prod and production servers.
5.Supporing and following ITIL concepts in Incidents,change and problem management.
6.Providing on call support of 24*7 Basis.
7.Giving shift hand over to next shift.

Working Environment

There are totaly 50 applications deployed on 10 domains.
Each domain contains of 1 horizantal cluster.
Each cluster contains 10-15 managed servers.
Currently we are working on Linux 4.0 and 5.0
Application server weblogic 11g and 12c
webserver Apache 2.0 and 2.2.
Backend DB is Oracle 11g

New or Changed Features in WebLogic 12c R2 (12.1.2)

New or Changed Features in WebLogic 12c R2 (12.1.2)



1.WebLogic Server is now availbile in two formats only i.e. zip and jar version. (JDK is mandatory and must be installed prior to WebLogic installation)

2.JDK version 7 or higher (1.7) is recommended to install WebLogic 12.1.2 (though WebLogic 12.1.2 works JDK 1.6 as well)

3.Tool to apply patches in WebLogic has changed from BSU (BEA Smart Update) to opatch

4.Option to install WebLogic in silent mode is now -silent -responseFile [path_to_response_file] (Earlier option was -mode=silent -silent_xml=[path_to_silent.xml])

5.In previous versions of WebLogic upgrade of WebLogic Domain used to be done using Domain Upgrade Wizard but now (12.1.2 onwards) uses Reconfiguration Wizard

6.In earlier version of WebLogic, Node Manager is installed  at WebLogic Home ($WL_HOME) level but now Java Node Manager by default is installed at $DOMAIN level i.e. $DOMAIN_HOME/nodemanager (with an option to configure Node Manager at Server Level or Custom Location)

7.From 12.1.2 there is an option to configure Node Manager at Domain Level or Custom Location (as shown in above screenshot)

8.Offline Cloning of Managed Server is now possible using configuration wizard (config.sh) or WLST (clone) – In previous releases it was possible to clone a Managed Server from WebLogic Console only (Online Cloning)

9.Cluster in pre 12.1.2 version is now also called as Configured Cluster in WebLogic 12.1.2

10.Dynamic Cluster introduced in WebLogic 12c is a cluster with one or more Dynamic Servers (More on Dynamic Cluster and Dynamic Server in WebLogic later)

11.WebLogic 12c supports Database 12c including Application Continuity (AC) , Database Resistence Connection Pooling (DRCP), Global Data Services (GDS)

12.Diagnostics : Built-in Diagnostics Modules added that provides simple and easy mechanism for basic health check and performance monitoring of WebLogic Serve

Weblogic Interview Questions

Weblogic Interview Questions


What is Weblogic server?
A weblogic server is a instance of java process executing in a JVM. Please note each java process runs on a JVM.

Two Type of servers:
1. Administration server:
2. Managed server:

  India –------- New Delhi –------- State Capitals
(wls server)   (Admin.server)      (Managed server)

What is a Administration server?

*Every domain have only one admin server.
*It is the central point of control for the web domain.
*It runs Weblogic admin console.
*It is in charge of congfig.xml.
*Config.xml contains configuration info about domain.
*Central configuration controller for the entire domain
*There is exactly one* Administration Server in domain
*An Administration Server controls only one domain.

Note: The Administration Server does not need to run at all times, but is required for making configuration and deployment changes to servers in the domain.

What is a Managed server ?

A running instance that hosts applications and resources needed by those applications
The real work horses in a WebLogic domains are Managed Servers
A domain can have zero or more managed server.
Each Managed Server is independent of all other Managed Servers in the domain
You can have as many Managed Servers in a domain as you need
Individual Managed Servers are typically added for capacity and application isolation
It will contacts admin server for config info.

In prod env, we host application on Managed servers, not on admin server, though admin server can also host applications.

What is a Domain?
logically related group of WL server resources that are managed as a single unit. It is administrative boundary for all servers, admin server, managed servers,clusters,applications,services etc. Each domain must have its one Admin server. Any given admin or managed server or cluster can belong to only one Domain.
A logically related group of WLS instances that you manage from a single set of configuration artifacts i.e. a single set of config.xml files

What’s in a domain?
Multiple Servers
Configuration pertaining to all the servers
Servers in a domain could be
On the same or different machines
Using the same or different WLS installations

NOTE:
1.Admin server stores the master copy of the domain config, including config for all Managed server.Each Managed server stores local copy of domain config.
2.When any config change is done, the admin server send the  changes to Managed server. So, to do any changes, we need to contact Admin server through console or WLST. Admin server will push those changes to Managed servers.

What is a Node Manager?
Node manager is a utility or process running on a physical server that enables starting, stopping,suspending or restarting admin and managed server remotely. It is not associated with a domain, though can start any server that reside on same physical server.

Installation of Weblogic server
3 ways to install weblogic

1.Graphical mode
$ ./server103_linux32.bin

2. Console mode
$ ./server103_linux32.bin -mode=console

3. Silent mode
$ ./server103_linux32.bin -mode=silent -silent_xml=silent.xml

How to create a Domain ?
$BEA_HOME/$WL_HOME/common/bin
$ ./config.sh

Modes to create a Domain?

1. GUI i.e. Graphical mode
2. Console mode
3. Silent mode, Template based

STARTING/STOPPING

Admin server
StartWeblogic.sh
Stopweblogic.sh

Managed server
$./StartManagedWeblogic.sh <Domain_name>
$./StartManagedWeblogic.sh <Domain_name>

What is Cluster in Weblogic ?

A cluster is a group of Managed Servers running simultaneously and working together to provide increased scalability and reliability
Scalability: through parallelism  (load balancing)
Reliability/Availability: through replication and redundancy ( failover)
I will take care when you are down!
A cluster appears as a single instance to most clients.
Clusters enable advanced features, such as Whole Server Migration, Service Migration, and clustered JMS destinations.
Something like RAC, Many things not like RAC
1.http session replication
in-memory-replication
db based replication
2. Session Stickiness

Config.xml :

One central configuration file for a domain is config.xml. The configuration of a Weblogic domain is maintained in a file called “config.xml”
Config.xml contains the information about servers in the domain, applications deployed and resouces configured. Config.xml is read by weblogic server during startup. Its Located in <Domain_Directory>/config directory

What is HEAP size in Weblogic ?

→ while Weblogic server running it needs some amount of RAM to store temporary data that is objects, sessions etc.
→ so the amount of RAM which we dedicate to Weblogic server is called as HEAP. While user request reach to the Weblogic there will be n number of objects will be created and all these objects will be stored in the heap.
→ once user logout from the application all these temporary objects will be cleared from heap. The default heap size to the Weblogic is 512 MB. Depends on the application usage we may or may not change the heap size. While changing the heap size we may need to consider the bellow points.
1.How big your application is.
2.How many objects it may produced(default objects).
3.Traffic of the application(number of users accessing)
4.fore casting of the application usage.
5.session replication or failover.

NOTE:- The industry standard heap size for large and medium scale applications is 2 GB.

What is GC ?

when the user request comes in the objects are stored in the heap. When the same user requests are completed the related objects are cleaned from the heap. The process of cleaning objects is called as GARBAGE COLLECTION. The process who does is GC(GARBAGE COLLECTOR).
→ Every JVM has its own GC, which does the cleaning process.
→ The default GC Algorithm is called as MARK AND SWEEP algorithm.

PROCESS OF GC ?
→ GC keeps monitoring the heap size either based on heap usage or based on time intervals. When it monitors the heap, if objects are related to running user request it will not clean those objects. If it fines objects are unreferenced(not associated to any user request) it will sweep/clean those objects. since GC is processing we will have heap size under control.
→ If GC is not processing properly, the unreferenced objects will never get cleared and heap will be completely occupied.
→ If Weblogic does not find enough space in heap it will be crashed by throwing an exception called Out of memory exception.

REASONS FOR GETTING OUT OF MEMORY EXCEPTION ?

1.Not enough heap size allocated to Weblogic.
2.If GC is not happening properly.
3.Unexpected increase in the user requests.
4.Memory leak issues.
→ default heap parameters are defined in “setDomainEnv.sh”(setting Domain environment).
→ setDomainEnv.sh is a file where we have default configuration define to start Weblogic.
→ Default parameters are as shown bellow.

INDIVIDUAL STARTUP SCRIPTS ?

→ If we change heap parameters in setDomainEnv.sh, those changes will be applicable to all Weblogic servers running in the domain.
→ This is not a good option, because having same heap size of manage server,Admin server.
→ To avoid this we will go for an option called writing “Individual Startup Scripts”
→ This option is suitable because using individual startup scripts we can apply changes to individual manage server alone.

SAMPLE STARTUP SCRIPTS:
touch icicims1.sh
#!/bin/sh
#individual startup script to start icicims1
USER_MEM_ARGS= “-Xms2048m -Xmx2048m”
export USER_MEM_ARGS;
./startmanaged weblogic.sh icicims1 t3://localhost:7001

HOW MANY WAYS TO CHANGE THE HEAPSIZE?

→ The preferred way of changing the heap size are given bellow:
1.change the setDomainEnv.sh
2.change the individual startup scripts.
3.change through server start option of Weblogic console.
4.change using Weblogic scripting tool(WLST)
→ out of all above options changing Heap size using “individual startup scripts” is preferred way.
→ Apart from using XMS,XMX parameters there are other few parameters which will be used to improve the performance of Weblogic.
→ some of the important parameters are :
*XMS
*XMX
*XNOOP
*XThroughput
XMS:- It is used to define minimum heap size.
XMX:- It is used to define maximum heap size.
XNOOP:- To inform Weblogic not to perform optimization.
XThroughput:- To improve the completion time of user request and responses.
→ To achieve the best performance of the Weblogic, oracle recommends to have both XMS and XMX values are same.
→ while developers doing the code every object which is opened expected to be closed. If they do not closed it properly, objects will still be in the heap and GC is unable to clean those objects. This situation is called as “Memory Leak”.

HOW TO FIX MEMORY LEAKS ?

→ As temporary fix we can restart the Weblogic to that heap will be closed.
→ As a permanent fix developers needs to identify the unclosed objects, fix it as part of the encoding and redeploy the application.

HOW TO FIX OUT OF MEMORY ISSUE ?

1.Increase the heap size if it is not sufficient.
2.Increase the manage servers if those existing servers are not sufficient.
3.fix the memory leak issue.

HOW TO ANALYZE THE HEAP ?

→ Heap can be analyzed to some extent by taking the heap dump. To take a heap dump use a utility called “Jmap”

DEPLOYMENTS In weblogic admin

The process of making Java application is called as deployments. When the development is completed the code needs to be packaged and it is suppose to deployed to Weblogic.
→ Weblogic has the capability of understanding the deployments,understanding the technologies involved, understand the code architecture and provide facility for deployments to run. Once the deployment is successful then only we will be able to access website or application.

→ Deployments are as 2 types:
1. APPLICATION:
2. LIBRARY:

Applications are of 2 types:
1. war(web archive)
2. ear(enterprise archive)

LIBRARY:
→ Library is a piece of shared code which can be shared by any number of war or ear files.
→ using shared libraries we can avoid maintaining duplicated copies of code.
→ Libraries are will be in the format of Jar files.
→ while deploying Jar file, during the deployment we will select the deployment type as library.

DEPLOYMENT ORDER ?

→ when we have the multiple applications we may have dependency between these applications.
→ To maintaining the dependency or to load the applications in proper order we will define the deployment order number.
→ The default deployment order number is 100.

STEPS TO CHANGE THE DEPLOYMENT ORDER NUMBER ?
→ Go to console------>deployments--------->select the application for which you want to change the deployment order.
→ select overview tab------>change the parameter called deployment order.

DEPLOYMENT PLAN ?

→ When we have multiple components with ear we can maintain the deployment plan. So that Weblogic loads these components in a specific dependency order.
→ The best option of maintaining these deployment plan by defining in deployment descriptors by developers.
→ Examples of deployment descriptors are web.xml, Application.xml, weblogic.xml.

DEPLOYMENT MODES ?
→ We have 3 types of deployment modes in Weblogic.
1.NO STAGE MODE.
2.STAGE MODE
3.EXTERNAL STAGE MODE.

NO STAGE MODE:
→ In the no stage mode we will copy the physical file to all Unix servers, Where Weblogic is running. Once we are done with copying we will follow the normal deployment process to complete the deployments.

STAGE MODE:
→ In the stage mode instead of we copy the file manually, Weblogic copy for us to all Unix servers.

EXTERNAL STAGE MODE:
→ In the external stage mode we will use third party tools to push the files to Unix servers.

→ out of all above 3 modes NO STAGE MODE is the safest mode, because network bandwidth can't be more or we don't depend on third party tools.

DIFFERENT STATES OF APPLICATION ?

PREPARED:- When we deploy the application first time.
ACTIV:- when application is in running.
WARNING:- when there are warnings in application.
ERROR:- when there are errors in application.

How to clear weblogic cache?

1)shut down the server
2)delete the contents of the folder:
c\bea\user_projects\domains\domain1\servers\server_name\tmp\wl_user
3)Restart the server.

what happens if we don’t  clear the cache?

If we are redeploying an application or deploying a new version of same application, weblogic  server look up in the above directoryif there are older objects persists that will be conflict with new code objects

what is two phase deployment?

There are two states in two phase deployment
1)prepare state
2)active state
Deployment first prepares the application across all the target servers and then activates the application in a separate phase, If  deployment of an application fails in either of the two phases then the cluster deployment is failed.

Deployment issues?

1)Code issues
2)Out of memory issues
3)Connection pool issues
4)Clear cache issues
5)Library class path issues

What are the Different States of Server Lifecycle?

shutdown
starting
standby
resuming
running
suspending
shutting down
failed
unknown

TYPES OF GC COLLECTORS ?

1.Mark-and-sweep collector
2.Mark-sweep-compact collector
3.Copying collector
4.Incremental collector
5.Generational collector
6.Concurrent collector
7.Parallel collector

What is MDS & Why we use MDS in Oracle SOA?

MDS stands for Oracle MetaData Service. It is central repository inside Oracle Fusion Middleware. MDS purpose is to provide centralized store where we can keep, manage & access metadata.

Types of MDS Repository?
File-Based.
Database Based.

Which configuration file store MDS configurations?
The adf-config.xml file is a configuration file that is used to store MDS Configurations.

How to reclaiming Space from SOA Tablespaces ?

1.alter table deallocate unused;
2.alter table enable row movement;
3.alter table shrink space compact;
4.alter table shrink space;
5.alter table disable row movement;
One of the main focuses when reclaiming memory is tables relating to the Oracle BPEL Process Manager, which contains tables like CUBE_INSTANCE and XML_DOCUMENT.

Before=408.75MB
After=394.94MB

Oracle SOA Application URLs ?

Below are the urls of application comes with Oracle SOA Suite 11g -

Console  -  http://localhost:7001/console
EM console for BPEL  -  http://localhost:7001/em
OSB console - http://localhost:7001/sbconsole
Human task application - http://localhost:7001/integration/worklistapp
Rules composer - http://localhost:7001/soa/composer

How to find SOA Server Version?

Method.1
1.Login to Putty.
2.Run command ./soaversion.sh from location $SOA_ORACLE_HOME/bin

Method.2
1.set home (set ORACLE_HOME=C:\Oracle\PS5.5\Middleware\Oracle_SOA1)
2.opatch lsinventory
Oracle Interim Patch Installer version 11.1.0.9.0
Copyright (c) 2011, Oracle Corporation. All rights reserved.

Scaling up a server in Weblogic ?

We have two scaling options in weblogic
1.vertical scaling
2.horizontal scaling.

1.Vertical scaling relates to adding more CPUs to a machine. To better utilize the server hardware we can add more WebLogic instances to the machine that could lead to increased application throughput.

2.Horizontal scalling relates to adding more machines to the environment, which gives a failover capability that we cannot get with vertical scaling. A good approach is to combine both scaling techniques to obtain better CPU utilization and failover capability.

Vertical and Horizontal Clustering ?

A cluster is defined as a group of application servers that transparently run a J2EE application as if it were a single entity.
There are two methods of clustering: vertical scaling and horizontal scaling:

1.Vertical clustering, however, consists of multiple Java application servers on a single physical machine. With vertical scaling, the machine's processing power, CPU usage, and JVM heap memory configurations are the main factors in deciding how many server instances should be run on one machine

2.Horizontal clustering involves running multiple Java application servers that are run on two or more separate physical machines. Horizontal scaling is more reliable than vertical scaling, since there are multiple machines involved in the cluster environment, as compared to only one machine.

How do you set the classpath?

WebLogic Server installs the following script that you can use to set the classpath that a server requires:
WL_HOME\server\bin\setWLSEnv.cmd (on Windows)
WL_HOME/server/bin/setWLSEnv.sh (on UNIX)

Method of communication between Weblogic servers ?

Multicast – Each server communicates with every member server in the cluster. Which means heartbeats are sent to every server.
Unicast – For the member servers in the cluster, group leaders are chosen and only those group leaders communicate with the servers among the group and these leaders notify each other about the availability of all the other servers.

For example : Suppose there are 6 servers in the cluster. 2 groups are made and there are 2 group leaders. Other 2 servers of the group will notify their leader that they are alive and the group leader will send this information to the leader of other group.

Clustering:

What is a Cluster?

It is a group of WebLogic managed server instances running simultaneously and working together to provide High Availability and Scalability.  All managed severs which are part of Cluster is also known as Cluster Members or Cluster Nodes

Benefits of Clustering ?

Application Fail-over
High Availability
Load Balancing
Scalability

What are the different Types of Cluster?

Clusters are divided into two types:
Vertical Clustering
Horizontal Clustering

Vertical Clustering
Grouping of WebLogic managed servers which are hosted on a single machine

Horizontal Clustering
Grouping of WebLogic managed servers which are hosted on more than one machine ( or multiple machines)

Which one is best Vertical or Horizontal Clustering?

In horizontal clustering, if one of machine goes down the client requests will be handled by managed servers of other machine where as in vertical clustering if the machine goes down, the application hosted on these servers will be down and it will impact clients and end users.

Cluster Constraints ?

All managed servers in the cluster should be of same WebLogic version
A Cluster can't span multiple domains. All managed server instance in a cluster must reside in the single domain
A domain may contain 0 - * clusters

Cluster Members communication modes ?

All managed WebLogic Server instances in a cluster communicate with one another using two basic network technologies:
IP sockets - provides peer-to-peer communication between cluster members
IP unicast or multicast - cluster members use this to broadcast availability of services and heartbeats that indicate availability

When creating a new cluster, Oracle recommends unicast for messaging within a cluster.The default cluster messaging mode is unicast, when creating a cluster using the Configuration Wizard,. The default cluster messaging mode is multicast, when creating a cluster using WLST,

Multicast
In Multicast each managed server will communicate with all members of the cluster by using Multicast IP address and port.

Unicast
In Unicast each Managed server will communicate with their group leader by using unicast broadcast channel

JDBC Data Sources in WebLogic Server

JDBC ?
It is an API which is used for accessing the Databases. JDBC provides Platform independent access to databases

JDBC Data Source ?

In WebLogic Server, you can connect to database by adding JDBC data sources to your WebLogic domain
A JDBC data source is an object bound to the JNDI tree that provides database connectivity through a pool of JDBC connections.
Applications can look up a data source on the JNDI tree and then borrow a database connection from a data source.
A Data Source:
Is stored in the WLS JNDI tree
Is associated with a connection pool
Can support transactions

What is Connection Pool?

It's a pool of connection objects which provides the connectivity between WebLogic Server and Database. It allows an application to borrow a database connection.

Advantages of Connection Pools and Data Sources ?

Connection pools are created at WebLogic Server startup. It provides
Re-usability
Readily available connections (Time and overhead are saved by using an existing database connection)
Can be dynamically resized to accommodate increasing load
The database can be changed without application developer having to modify the underlying code
The number of connections to a database can be controlled

Types of Data Sources ?

1.Generic Data Source - It is nothing but a Data Source. It provides database connectivity through pool of JDBC Connections.

2.Multi Data Source - It is abstraction around a group of data sources which provides  Load balancing or Failover. It determines which data source to use to satisfy the request depending on the algorithm selected in the Multi Data Source Configuration.

3.Grid Link Data Soure - It provides connectivity between WebLogic Server and an Oracle Database service targeted to an Oracle Real Application Cluster (RAC). It uses the Oracle Notification Service (ONS) to adaptively respond to state changes in an Oracle RAC instanc

SSL in WebLogic Server 11g and 12c

By default WebLogic Admin and managed servers are configured with demo identity and demo trust certificates. This should be reconfigured to use real certicates (certificates of certifying authority)in production environments. You can also configure self-signed certificates.
Before configuring SSL we need to understand what is keystore, identity store, trust store, keytool utilities.

Key Store ?
It is used to store the certificates. There are various types of Keystore that WebLogic Server Supports. Most common of them is Java Key Store (JKS) , which is a file based repository with extension .jks

Identity Key Store ?
It is used to store the identity certificates(Signed Certificate issued by a Certificate Authority (CA)) which provides the identity for WebLogic Server or site.

Trust Key Store ?
It is used to store the trusted certificates or certificates of certifying authority which provides trust for WebLogic Server.

keytool ?
This utility is used to generate keypairs, generate the csr, import the certificates, list the certificates, delete the certificates etc.,

In order to configure SSL, you need to perform the below steps:

*Generate a key-pair
*Generate Certificate Signing Request (CSR)
*Send the CSR to Certificate Authorities to get it singed.
*Import the Signed Certificate into keystore
*Configure WebLogic Admin & Managed Servers to use the above certificate keystore

How to find out which weblogic server version installed on the machine ?
Ans)
There are couple of ways you can check which version of weblogic server installed on the machine.
Note: this may vary on your machine.

1. In Middleware home $MW_HOME/registry.xml file look for entry as follows
component name="WebLogic Server" version="10.3.3.0" InstallDir="/u01/Oracle/Middleware/wlserver_10.3"

2. Check AdminServer's log file at $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log
Run the following command you will see something similar
$ grep "WebLogic Server" AdminServer.log

Difference between 32bit and 64 bit ?

Maximum Heap size for a 32 bit JVM is upto 4GB. In 64bitt JVM it is upto 32 GB.
64Bit JVM supports upto 1TB

Q)What is weblogic server?

Oracle WebLogic Server is J2EE Server (earlier known as BAEWebLogic Server) similar to Oracle Application Server. 
(OR)
Logically related group of java components is nothing but weblogic server.

Q)what oracle weblogic server includes?

Oracle weblogic server includes

1)Domain
2)cluster
3)servers

Q) What is the meaning of BEA (Oracle bought Weblogic from BEA )?

BSU Stands for Bea Smart Update.  This utility is used to apply the WebLogic Server Patches.

Simple, it is first letter of name of founders, Bill Coleman, Ed Scott, and Alfred Chuang

Q)What is domain in WebLogic ?

Logically grouping of all resources and services together as a single unit is called domain.
0r
A domain is a logically related group of weblogic server resources that you manage as a unit.
OR
Domain is a group of weblogic server resources like admin server, managed server, jms, connection pool, data sources etc or
whatever the resource you know of weblogic server since domain is the basic unit
you have to create after installation and everything created and configured under a domain.

OR
A domain has Admin server(AS)+Managed Server(MS).

A domain provides one point of administartion.

Domain is logical grouping of resources and services and consist of Administration Server, Managed Server and cluster.  There can only be one administration Server in domain and zero to N Managed Server.

Q)What is Administration Server ?

Admin server is the central point from where you can configure,Monitor and manage all resources of a domain.

Administration Server is WebLogic Server instance that maintains configuration data for a domain. You can deploy your application on administration Server but it is recommended to create managed Server and deploy your application in managed server and leave Administration domain for configuration and maintenance.

—There will always be atleast one Administration Server in a domain.


Q)What is Managed Server ?

It is an instance of your weblogic server that is running on JVM and has its own configuration.

In Managed server we will deploy the java components
Web Applications
EJB Applications
JMS Applications
Web services

Any WebLogic Server instance apart from Administration Server is called as Managed Servers. This is weblogic server where you deploy your application (Though you can deploy your application in Administration server as well but it is not recommended in production/UAT instance)

Q)What is Cluster in WebLogic ?

Collection of multiple server act like as an single server to end user/Application.

OR

Two or more managed server becomes or forms the cluster in a domain and cluster handle the load balancing across the cluster.

Group of WebLogic Managed Server Instances that work together to provide high availability and scalability for applications is called cluster. WebLogic Servers with in cluster can run on same machine or different machines. These are also called as managed Server cluster.

Q)Node Manager in Oracle WebLogic Server?

Node Manageris Weblogic Server utility to start, stop and restartAdministration and Managed Server Instances from remote location (There are other ways as well to start/stop Weblogic – Node Manager is optional component).

1. Node Manager Process is associated with a Machine and NOT with specific Weblogic Domain (i.e. Use one node manager for multiple domains on same machine)

2. There are two versions of Node Manager - Java-based and Script-based
Java-based node manager – runs with in JVM (Java Virtual Machine) Process and more secure than script-based node manager. Configuration for java-based node manager are stored in nodemanager.properties
Script-based node manager – is available for Linux and Unix systems only and is based on shell script.

3. Access Node Manager
- From Administration Console : Environments -> Machines -> Configuration -> Node Manager

 4. Default port on which node manager listen for requests is localhost:5556, When you configure Node Manager to accept commands from remote systems.

5. Any domains created after the Node Manager Service has been installed should not have to be enrolled against the Node Manager. The Node Manager should automatically be ‘reachable‘ by the domain.

Q)Server
---------
Server is an instance of your weblogic which is running on a JVM and has dedicated RAM.

Q)How to start Node Manager ?
$WL_HOME\server\bin\startNodeManager.sh
To Stop Node Manager
In Unix/Linux, kill the process -
kill -9 `ps -ef | grep -i nodemanager.javahome | grep -v grep | awk {'print $2'} | head -1`

Node Manager Log Files
$WL_HOME/common/nodemanager/nodemanager.log

Important configuration file for node manager
$WL_HOME/common/nodemanager/nodemanager.properties- used by java based node manager. This file is created on first time start of nodemanager (startNodeManager.sh)

$WL_HOME/common/nodemanager/nodemanager.domains - contains mappings between the names of domains managed by Node Manager and their corresponding directories.
entry like
base_domain=D:\Oracle\Middleware\user_projects\domains\base_domain
soa_domain=D:\Oracle\Middleware\user_projects\domains\soa_domain

$WL_HOME/common/nodemanager/nm_data.properties- This file stores the encryption data the Node Manager uses as asymmetric encryption key. This file is created on first time start of nodemanager (startNodeManager.sh)

$DOMAIN_HOME/config/nodemanager/nm_password.properties- This file stores the Node Manager username and password used by Admin Server to connect to Node Manager.

Why node manager is required?
 A Node Manager process is not associated with a specific WebLogic domain but with a machine.
You can use the same Node Manager process to control server instances in any WebLogic Server domain, as long as the server instances reside on the same machine as the Node Manager process. Node Manager must run on each computer that hosts WebLogic Server instances. whether Administration Server or Managed Server that you want to control with Node Manager.

1. How do you differentiate between a server hang and server crash issue?

When a Server crahes, the JAVA process no longer exists. When the Server is hung, it stops responding.
We can use the weblogic.ADMIN utilty to ping the server. In case of a hang situation we can take multiple thread dumps and analyze the cause of hang.

2. What can be the various reasons for a server crash?

a) Native IO
b) SSL Native Libraries
c) JVM
d) Supported Configuration
e) JDBC Driver issue

3. How do you troubleshoot a crash?

JVM crash generates a hs_err_pid file. We need to look into the stack trace of the hs_err_pid file .
If the thread is from a native io, we need to disable native io.
if the stack trace is from the driver, we need to get in touch with the drive team.
Quite possibly its a problem with driver. Changing the type of driver can be a workaround.
If the thread shows it coming from an optimzed code, we can turn of optimization.
If the stack is from native calls of application, its a bug with the application and it has to b modified.

4. Ho do you troubleshoot Server Hang?

We can use java weblogic.Admin PING to check if we get a normal response.
We need to take multiple thread dumps with kill -3 pid on unix and CTLR Break on Windows.
Analyze the thread dump to find the root cause.

5. What can be the reasons of Server hang?

Memory leak, databse query taking a long time to return, Deadlock.

6. What is memory leak?

Memory leak is when objects are not romved from the heap even when they are not required.

7. What are the various causes for OUT OF MEMORY?

a) Insufficient heap size, not able to match the extra load.
b) Objects licing too long, like HTTP Sessions.
c) Memory leak in application code.
d) Full GC not happening due to JVM Bug.

8. How to troubleshoot and overcome such issues?

Gather memory data by enabling GC verbose.
If its due to Http Session, timing out http session after certain interval might help.
Look into the code for jdbc connection handling.
Optimizing the heap size according to the load.

9. When does High CPU Usage occur?

It occurs when one process or one thread utilizes unexpectedly high proportion of CPU.

10. How to troubleshoot it?

In Solaris environment, we need to take pstack and prstack and see what the threads are doing.
In Windows we need to use pslist and process explorer.

11. What is Clustering and what is achieved through it?

Clustering is the grouping together of servers for the purpose of high availability and scalability.
Load balancing and Failover is achieved.

12. How does Cluster Communication Happen?

Members of the Cluster communicate over the Cluster Multicast IP and Port by sending periodic heart beat messages.

13. What is the difference between the Sun JVM and BEA JRockit JVM?

The most well know JVM is the implementation from Sun. The Sun JVM is called HotSpot. The Sun JVM is shipped in the Java Developer’s Kit (JDK) and Java Runtime Environment (JRE) from Sun.

The BEA JRockit JVM from BEA systems is optimized for reliability and performance for server side applications. To achieve this, BEA JRockit JVM uses technologies such as code generation, hot spot detection, code optimization, advanced garbage collection algorithms and tight operating system integration.

14. TUning JVM Parameters.

If you have a single processor, single thread machine then you should use the serial collector (default for some configurations, can be enabled explicitly for with -XX:+UseSerialGC). For multiprocessor machines where your workload is basically CPU bound, use the parallel collector. This is enabled by default if you use the -server flag, or you can enable it explicitly with -XX:+UseParallelGC. If you’d rather keep the GC pauses shorter at the expense of using more total CPU time for GC, and you have more than one CPU, you can use the concurrent collector (-XX:+UseConcMarkSweepGC). Note that the concurrent collector tends to require more RAM allocated to the JVM than the serial or parallel collectors for a given workload because some memory fragmentation can occur.

15. How do you do performance tuning of WLS?

It can be categorized in 4 parts.
a. Application Tuning.
jsp precompilation, ejb pool size cache..

b. OS Tuning

Setting tcp ip parameter.
tcp_time_wait_interval
tcp_conn_req_max_q

c. Core Server Tuning.

tune workmanager, tune chuck size and chunck pool size, using performance packs, conenction backlog buffering.

d. JVM Tuning
tuning gc strategy, monitoring garbage collection..

16. What is the difference between Development mode and Production mode of Weblogic Server?

Development Mode:

1. The default JDK for development domain is Sun Hotspot.
2. You can use the demo certificates for SSL.
3. Auto deployment(to admin server only) is enabled.
4. Server instances rotate their log files on start-up.
5. Admin Server uses an automatically created boot.properties during start-up.
6. The default maximum capacity for JDBC Datasource is 15.
7. The debugFlag which is used to start the WebLogic Workshop Debugger is enabled.
8. In Development Mode any configuration change being done by a user doesn’t need him to take a Lock and Edit session.
9. Availability of web service test client.
10. Nodemanger username and password: Default Admin credentials.
11. Availability of Classloader Analysis Tool: Yes.
12. Default start parameters when using Sun JDK and the default startWebLogic script : java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m -XX:MaxPermSize=256m.

Production Mode:

1. The default JDK for production domain is JRockit.
2. If you use the demo certificates for SSL a warning is displayed.
3. Auto deployment(to admin server only) is disabled.
4. Server instances rotate their log files when it reaches 5MB.
5. Admin Server prompts for username and password during start-up.
6. The default maximum capacity for JDBC Datasource is 25.
7. The debugFlag which is used to start the WebLogic Workshop Debugger is disabled.
8. In Production Mode the user needs to procure a Lock and Edit session before trying to make any configurational changes.
9. No Availability of web service test client.
10. Nodemanger username and password: Randomly generated
11. Availability of Classloader Analysis Tool: No.
12. Default start parameters when using Sun JDK and the default startWebLogic script : java -server -Xms256m -Xmx512m -XX:MaxPermSize=256m.


17. What is HTTP tunneling? How can we configure it on Weblogic?

HTTP tunneling provides a way to simulate a stateful socket connection between WebLogic Server and a Java client when your only option is to use the HTTP protocol. It is generally used to tunnel through an HTTP port in a security firewall. HTTP is a stateless protocol, but WebLogic Server provides tunneling functionality to make the connection appear to be a regular T3Connection.
Steps to configure Http tunneling.

Login into the Admin Console, click on the server on which you want to enable he Http Tunneling feature
Click on the Protocols tab ? General ? check the “Enable Tunneling” check box.

Now you can communicate with the JVMs (Server Instances) using protocols other than t3

18. What is the difference between T3 and HTTP protocol?

WebLogic uses the T3 protocols for internal and external connections to the servers. The T3 protocol often is used in WebLogic’s implementation of RMI. Proprietary of WebLogic Server.

Http protocols are used primarily for HTTP communication between the browser and the web server. Standard follows the W3C (World Wide Web Consortium).

Note: All of these protocols are, by default, multiplexed over the same connection to the server’s address and port. So you can access a web page hosted by the server using a URL such as http://host:port/page.jsp. An external client can set up an initial JNDI context to a server using the URL t3://host:port/. All that has changed is the protocol over which the client must communicate with the server.

9.States of the Server?

Ans:-There are 9 states of server:-

Shutdown
Starting
Standby
Resuming
Running
Suspending
Shutting down
Failed
Unknown


Q)Difference between .out and .log files

.out will print all logs related to your java application deployed whereas
.log file will print all logs related to weblogic server like startup.stop,deployment etc....

Q)Diff B/W Devlopment - Production

-Development Mode
The default JDK for development domain is Sun Hotspot
You can use the demo certificates for SSL
Auto deployment is enabled
Server instances rotate their log files on startup
Admin Server uses an automatically created boot.properties during startup
The default maximum capacity for JDBC Datasource is 15
The debugFlag which is used to start the WebLogic Workshop Debugger is enabled

-Production Mode
The default JDK for production domain is JRockit
If you use the demo certificates for SSL a warning is displayed
Auto deployment is disabled
Server instances rotate their log files when it reaches 5MB
Admin Server prompts for username and password during startup
The default maximum capacity for JDBC Datasource is 25
The debugFlag which is used to start the WebLogic Workshop Debugger is disabled

Q)Http Error Codes

500 : Internal Error        ( Check your Data-Base )
503: Back end server is not available.
404: Page can't be displayed. File not found exception
403: Forbidden (Unauthorized access)
        SSL is not doing Hand-shake
301: Permanently Redirected
302: Temporarily Redirected
303: Redirected Successfully
200: Able to successful

Multicast - Unicast

Unicast is the best option in real time scenario..Because here is the examples..
In your cluster if u are having 10 Managed server instances then,

Multicast: Each MS is talking to other 9 MS So that total 90 connection was established.
Which is burden on the server in the peak business hours. Bcz of which weblogic performance will may go down.

Unicast: 1st MS will brought up and it will act as a leader..So remaining 9 MS talking to that leader only so only 10 connections will established. So that weblogic performance may not go down.

If there is an issue with MS1 then it will be removed from the cluster and the requests will
be processed by other managed servers in the cluster.So this is not an issue..
Multicast requires network config and support from network team to do it, but unicast doesn't require any additional setup on network or from the network team. Oracle recommends to use Unicast.

Q)How to access admin console ?

ssl enabled admin console accessed as :
https://<hostname_or_ip_address_where_admin_server_running>:<port_on_which_admin_server_is_running>/console
Example - https://localhost:7001/console

non ssl admin console accessed as :
http://<hostname_or_ip_address_where_admin_server_running>:<port_on_which_admin_server_is_running>/console

Example - http://localhost:7001/console

Q)How many admin consoles possible in a single domain ?

only one.

Q)What is the default port of admin server ?

7001

Q)What is config.xml ?

config.xml is the central configuration repository for a domain. every resource you have configured from admin console or by command line or by any other tool registered under this file.

WLS 9.x onwards, this file contain references to other xml configuration files also those are under your domain/config folder ( further sub folder under it for respective resources ) since wls 9.x onwards concept of modules are introduced for sub resources like data source, jms etc otherwise prior to 9.x ( 8.x or older ) every configuration was stored under this single config.xml file. 

Q)What is boot.properties file ?

boot.properties is the file used by admin or managed server during startup for username and password. it exist under your domain/servers/server_name/security folder.

( Below information is for some advance users )

To specify a customer directory for this file you can use

-Dweblogic.system.BootIdentityFile=[location]/boot.properties

 When you create a domain in development mode then it creates automatically during startup of admin server but if you create a domain in production mode then you need to define it explicitly otherwise on every reboot of admin server it will prompt you for username and password.

So in production mode -

Start admin server by manually passing the username and password
stop it ( press cntrl+c on the started session )

go to your domain/servers/your_admin_server/

create a folder "security"

go inside security and create a file "boot.properties" with below contents

username=your_admin_username
password=your_admin_password

now start the admin server, it will not prompt you for username & password further.

If you are going to start your managed servers from admin console then no need to create this file for managed server but if you are going to start managed servers via startManagedweblogic script then you need to follow the same above procedure for each managed server.


What is actually WebLogic Cache?

Basically all the web-tier related files (.jsp .class, JSPCompiled files etc.,) get stored in some directory. This is treated as cache whenever there is restart of a WebLogic instance happen then the WebLogic server will look-up for last serviced object status stored in the cache to service for any pending requests. Usually, when your EJB Classes need sessions, JMS object requires persistance, your web-tier may contain static contents then Cache will be used by WebLogic Application Server instance.

Why we need to remove Cache?

Whenever your application is accessed for the first time that fresh deployment of a new version, WebLogic server lookup in this directory, if there are older objects persists that will be conflict with new code objects. This is where the need of removal of cache arises.
Where there is a need of new version deployment we might need to clear the cache when the changes to the new version is not reflected.

WLS 9.x, 10.x


In new version of WebLogic 9.x onwards removal of cache means deleting each server instance's tmp folder contains cache, stage folders or you can simply remove tmp folder too provided there should not be configuration changes happen to the server.

Generally for WebLogic 9.x and higher versions

WIN: C:\bea\user_projects\domains\yourdomain\servers\yourserver\tmp
UNIX: /bea/user_projects/domains/yourdomain/servers/yourserver/tmp
you can use the following commands to clear the cache:

WIN: rd C:\bea\user_projects\domains\yourdomain\servers\yourserver\tmp\
UNIX: rm -rf /bea/user_projects/domains/yourdomain/servers/yourserver/tmp

Here I am removing all the subdirectories and files in the the given directory.

Thread Dump

Thread dump provides a snapshot of the current active live threads. It provides the stack trace of all the java threads in the JVM. It is used when the server is hung and we want to see the threads executing and take their dump.

There are different ways to take thread dump.

1.Command line:  use the below command when you know the port number. just run the same command 3 times in 5 sec intervel of gaps.
kill -3 PID

2.WebLogic.Admin utility:  javaWebLogic.Admin adminurl -username WebLogic -password WebLogic1 THRED_DUMP

3.Admin console:
Step1: login to the admin console
Step2: Click on server
Step3: Navigate to servers
Step4: Click monitor tab
Step5: Click on tread
Step6: Click on the dumpthread stack.

Location of the Thread Dump: 
/DOMAIN_NAME/servers/logs/KK_stdout.log

======================================================

Thread Dump:

What is Thread dump?
When we will take Thread dump? (Scenarios)
How  Many  ways take Thread Dumps
Thread Dump Generating Procedure
What can I Analysis with Thread Dump?
How can I analysis thread dump?
Actions taken for Issue resolving
References


Coming to step by step learning:
--------------------------------

What is Thread dump?

Thread Dump is a textual dump of all active threads and monitors of Java apps running in a Virtual Machine.

When we will take Thread dump? (Scenarios)

1.  Scenario 1: when server is hang Position, i.e. that time server will not respond to coming requests.

2.  Scenario 2: While sever is taking more time to restart

3.  Scenario 3: When we are Getting exception like “java.lang.OutOfMemoryException”

4.  Scenario 4: Process running out of File descriptors. Server cannot accept further requests because sockets cannot be created

5.  Scenario 5: Infinite Looping in the code


How many ways take Thread Dumps?

Many types we have to take a Thread dumps. As per your flexibility you can choose one Procedure. For analyzing take dumps some Intervals (like every 10mins, 10mins etc.).

Node Manager is a WebLogic Server utility that enables you to start, shut down, and restart Administration Server and Managed Server instances from a remote location.

A Node Manager process is not associated with a specific WebLogic domain but with a machine.
You can use the same Node Manager process to control server instances in any WebLogic Server domain, as long as the server instances reside on the same machine as the Node Manager process.
Node Manager must run on each computer that hosts WebLogic Server instances whether Administration Server or Managed Server that you want to control with Node Manager.

WebLogic Server provides two versions of Node Manager, Java-based and script-based, with similar functionality. However, each version has different configuration and security considerations.

Java-based Node Manager
Java-based Node Manager runs within a Java Virtual Machine (JVM) process.
This version of Node Manager determines its configuration from the nodemanager.properties file.
Java-based Node Manager provides more security than the script-based version.


Script-based Node Manager

For UNIX and Linux systems, WebLogic Server provides a script-based version of Node Manager.
This script is based on UNIX shell scripts, but uses SSH for increased security. SSH uses user-id based security
This version does not provide as much security as the Java-based version.
The advantage of the script-based Node Manager is that it can remotely manage servers over a network that has been configured to use SSH. No additional server installation is required. The scripts merely have to be copied to the remote machine.

What You Can Do with Node Manager

Start, Shut Down, and Restart an Administration Server
Start, Shut Down, Suspend, and Restart Managed Servers
Monitor Servers and View Log Data

Starting Java-based Node Manager
Start scripts for Node Manager are installed in the WL_HOME\server\bin directory, where WL_HOME is the top-level installation directory for WebLogic Server.
Use startNodeManager.cmd on Windows systems and startNodeManager.sh on UNIX systems.
The scripts set the required environment variables and start Node Manager in WL_HOME/common/nodemanager. Node Manager uses this directory as a working directory for output and log files.

Important Node Manager Configuration Files
nodemanager.properties
This is the configuration file used by the Java-based version of Node Manager.
This file is located in WL_HOME/common/nodemanager.
nodemanager.hosts
This file contains a list of all the trusted hosts that can issue commands to Node Manager.
This file is located in WL_HOME/common/nodemanager.
nodemanager.domains
This file contains mappings between the names of domains managed by Node Manager and their corresponding directories.
This file is located in WL_HOME/common/nodemanager.
nm_data.properties
This file stores the encryption data the Node Manager uses a symmetric encryption key. The data is stored in encrypted form.
This file is located in WL_HOME/common/nodemanager.
nm_password.properties
This file stores a username/password pair specific to the Node Manager server that is managing this domain. This is known as the Node Manager secret. The username and password are appended to a salt value (obtained from the SerializedSystemIni.dat of the domain) and SHA-hashed.
This file is located in DOMAIN_HOME/config/nodemanager.
boot.properties
Node Manager uses this file to specify a boot identity when starting a server. This file is located in domain-name/servers/server_name/data/nodemanager.
startup.properties
Each Managed Server instance has its own startup.properties file with properties that control how Node Manager starts up and controls the server. Node Manager automatically creates this file by using properties passed to Node Manager when the Administrative Server was last used to start the server. This allows a Node Manager client or startup scripts to restart a Managed Server using the same properties last used by the Administrative Server.
These properties correspond to the server startup attributes contained in ServerStartMBean and the health monitoring attributes in ServerStartMBean.
This file is located in domain-name/servers/server_name/data/nodemanager.
server_name.addr
server_name.addr stores the IP address added when a server starts or is migrated. This file is generated after the server IP address is successfully brought online during migration. server_name.addr is deleted when the IP address is brought offline. The server IP address is used to validate remove requests to prevent addresses being erroneously removed while shutting down the server.
This file is located in domain-name/servers/server_name/data/nodemanager.
server_name.lck
server_name.lck is generated by each server and contains an internally used lock ID.
This file is located in domain-name/servers/server_name/data/nodemanager
server_name.pid
server_name.pid is generated by each server and contains the process ID of the server. Node Manager checks the process ID generated by the server during crash recovery.
This file is located in domain-name/servers/server_name/data/nodemanager
server_name.state
server_name.state is generated by the server and contains the server's current state. Node Manager monitors the contents of this file to determine the current state of the server.
Note: Do not delete or alter this file. Without this file Node Manager cannot determine the current state of the server.
This file is located in domain-name/servers/server_name/data/nodemanager.


Q. How to check port number?

Ans:- netstat -na |grep connected (to find the ports connected in Linux box.)

netstat -na |grep listen (to find the listening ports in HP-UX,Solaris)

Q. Check the version of java.

Ans:- [root@h1vm /]# java -version run this command in linux to know the java version.

Oracle WebLogic Server – Startup/Shutdown

Oracle WebLogic Server – Startup/Shutdown


There are two type of WebLogic Server instance in a domain, Administration Server and Managed Server.

—You can start Managed Server without Administration Server with exception for first time. If you are starting Managed Server for first time]then Administration Server should be Up. Managed Server can cache config files locally(in its local config directory) and later Managed Server can start on its own.

— To start Managed Server using script, supply Admin Server protocol, Server Name and Listen Port(check startup command for more information).

—If startup mode of domain is “production” then startup will prompt you for username & password to start services (You can create define username/password in boot.properties file.

—If you create domain and startup mode is “development” then startup will not prompt for username/password as username password are stored in boot identity file in security directory of Domain at BEA_HOME / user_projects / domains / <domainName> / servers/ <serverName>/ security / boot.properties.

Ways to start Administration Serverin Oracle WebLogic

1.Using startup script
2. From Windows Start Menu (windows only)
3. Using “java weblogic.Server” command
4. Using WLST (WebLogic Scripting Tool) and Node Manager
5. Using WLST without Node Manager

Ways to start Managed Serverin Oracle WebLogic

1.Using startup script
2. Using Administration Console
3. Using WLST and Node Manager
4. Using “java weblogic.Server” command

1. Starting Administration Server (startWebLogic.cmd or .sh)
2. Starting Managed Server (startManagedWebLogic.sh or .cmd)

A. To Start WebLogic Administration Server Instance.
=======================================

Go to domain for which you wish to start Administration Server

cd $BEA_HOME/user_projects/domains/<domain_name>/bin

startWebLogic.cmd (for Windows)
startWebLogic.sh (for Unix)

confirm that WebLogic Adminstration Server started properly by looking at message “Service started RUNNING mode“. Log file in below picture shows that AdminSever is listening on Port 7001 and all IP addresses on specific machine.

Startup/Shutdown Log file can be found at $BEA_HOME/ user_projects/ domains/ <domain_name> /servers/<ServerName> /logs / <ServerName>.log

B. Start Managed Server Instance.
=========================

If you created Managed Server while creating domain then you can start Managed Server using startManagedWebLogic command

$BEA_HOME/user_projects/domains/<domain_name>/bin

startManagedWebLogic.cmd <managed_server_name> <admin_url> (for Windows)
startManagedWebLogic.sh  <managed_server_name> <admin_url> (for Unix)

I created Managed Server MS1 with Admin Port as 7003
startManagedWebLogic.cmd ms1 http://localhost:7003 (Windows)



What is Weblogic Cluster ?


A WebLogic Server cluster consists of multiple webLogic server instances running simultaneously and working together to provide increased scalability and reliability. A cluster appears to clients to be a single webLogic server instance. The server instances that constitute a cluster can run on the same machine, or be located on different machines. You can increase a cluster’s capacity by adding additional server instances to the cluster on an existing machine, or you can add machines to the cluster to host the incremental server instances. Each server instance in a cluster must run the same version of WebLogic Server.

Cluster is a logical set of multiple Weblogic Server instances running simultaneously across different geographies and working together to achieve  high availability and scalability.
Weblogic Server clusters support multiple algorithms for load balancing and failover: round-robin, weight-based, random, round-robin-affinity, weight-based-affinity, and random-affinity(By default, a Weblogic Server cluster will use the round-robin method)

What is Horizontal and vertical clustering?
There are two method of clustering Horizontal and Vertical.

Horizontal clustering :
involves running multiple Java application servers that are run on two or more separate physical machines. Horizontal scaling is more reliable than vertical scaling, since there are multiple machines involved in the cluster environment, as compared to only one machine.

Vertical Clustering:
however, consists of multiple java applications servers on a single physical machine.
with vertical scaling, the machine's processing power, cpu usage, JVM heap memory configurations are the main factors in deciding how many servers instances should be run on one machine.

Horizontal. Because if one physical machine failed it will runs on other physical machine.

What is the difference between a JNDI and a datasource?


* JNDI (Java Naming and Directory Interface) is a naming service used to locate objects in datasources, JMS, MailSessions etc.

* Datasource is an object used to access the connections in the pool.

* JNDI physically connects to the database where as the datasource is a logical resource.

Saturday, August 31, 2019

What is Smart Scan in Exadata?

What is Smart Scan in Exadata?


It is a feature of the Exadata Software which enhances the database performance many times over. It processes queries in an intelligent way, retrieving specific rows rather than the complete blocks. It applies filtering criteria at the storage level based on the selection criteria specified in the query.

Wednesday, August 28, 2019

Oracle E-Business Suite Interview Questions

Oracle E-Business Suite Interview Questions 


Difference between Oracle EBS 12.1.3 and Oracle EBS R12.2.0 ?

1)In R12.2 we have two kind of filesystems fs1(run filesystem) and fs2(patch filesystem) where as In R12.1.3 we only deal with one application filesystem.

2)In R12.2 we have the Application servers replaced by Weblogic server to manage the technology statck.
The 10.1.3 Home is replaced by FMW  (Fusion Middleware Home) i.e $FMW_HOME

3)The major change in R12.2 is involvement of Weblogic server to manager all the forms,oacore servers
where as in R12.1.3 we had the Application server 10.1.3 to manage the web home or Java Home

4)The adpatch(patching) in R 12.1.3 is replaced by adop(online patching) in R 12.2.4

5)adop utility involves 5 phases to apply a standard patch in Oracle EBS R12.2.4.

6)While installing Oracle EBS 12.2.0 ,It will ask for TWO PORT POOLS one for the run file system and another patch file system.

7)In oracle EBS 12.2.0 ;While starting and stop all services it will ask weblogic password in additional to apps.

How to check prerequisite patches while applying Database Patch using opatch?

Go to the Directory where patch is copied(PATCH TOP)
$OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Verify the Logfile
Message:Patch 18308717 is not subset of any other patch processed till now
From the above logs we can confirm that there are no-prerequistics patches to be applied before applying 18308717.

Name few profiles, which will differentiate the prod to test ?

Base Desktop look and feel
Site name
Java Colour scheme
Java Look and Feel

fnd_conc_clone.setup_clean ?

fnd_conc_clone.setup_clean:
fnd_conc_clone  ===> is package
setup_clean ====> it is procedure name
When we run fnd_conc_clone.setup_clean it deletes the information from the below tables.
fnd_conc_clone.setup_clean to cleanup fnd_nodes table in the target to clear source node information as part of cloning.
Delete from fnd_concurrent_queue_size
Delete from fnd_concurrent_queues_tl
Delete from fnd_concurrent_queues
Delete from fnd_nodes;

Syntax:
Connect as apps user:
SQL> exec fnd_conc_clone.setup_clean;
PL/SQL procedure successfully completed.
SQL> commit;
Post step:
run the autoconfig on DB tier and middle tier this will register the nodes in fnd_nodes tables.

What is cmclean.sql ?

Scenario when to run:
To cleanup running and pending requests we use cmclean.sql, If we stop concurrent managers using abort options then concurrent requests will be in running state ,Next when we start concurrent manager the processes will not start properly.

Clean out the concurrent manager tables by re-setting values to ZERO.

If cmclean.sql is run when the concurrent managers are up and running ,the script will not be able to clean and remove the rows from the concurrent manager process and request tables as the ICM and other managers will be holding locks on these tables.So its better to shutdown the concurrent manager cleanly and then run the cmclean.sql

CMCLEAN will update below tables:
1) FND_CONCURRENT_QUEUES
2) FND_CONCURRENT_PROCESSES
3) FND_CONCURRENT_REQUESTS
4) FND_CONFLICTS_DOMAIN
5) FND_CONCURRENT_CONFLICT_SETS

what is the difference between local inventory and global inventory ?

1.Local Inventory:
Inventory inside each Oracle Home is called as local Inventory or ORACLE_HOME Inventory. This Inventory holds information to that ORACLE_HOME only.
2.Global Inventory
The central inventory directory outside the ORACLE_HOME (Global Inventory.Global Inventory holds the information about Oracle Products on a Instance, The inventory contains the high level list of all oracle products installed on a machine such as ORACLE_HOMES or JRE.
oraInst.loc in /etc (on Linux) or /var/opt/oracle (solaris).

* The inventory in the ORACLE_HOME (Local Inventory)
* The central inventory directory outside the ORACLE_HOME (Global Inventory)

What to do if my Global Inventory is corrupted?

If your global Inventory is corrupted, you can recreate global Inventory on machine using Universal Installer and attach already Installed oracle home by option
#NAME?
./runInstaller -silent -attachHome -invPtrLoc $location_to_oraInst.loc ORACLE_HOME=Oracle_Home_Location ORACLE_HOME_NAME=Oracle_Home_Name CLUSTER_NODES={}

why do you run root.sh ?

Root.sh to create a ORATAB in /etc/oratab
Changing permissions of /u01/app/oraInventory to 770.
Changing groupname of /u01/app/oraInventory to dba.

When running on RAC :

1)It Sets Oracle base and home environmental variables.
2)The /etc/oratab file will be created
3)It Performs the super user privileges verification.
4)Adds trace directories
5)It Generates OCR keys for the 'root' user.
6)Adds a daemon to inittab
7)Starts the Oracle High Availability Service Daemon (OHASD) process.
8)It Stops/starts a cluster stack and other cluster resources on the local node
9)Performs a backup of the OCR file
10)Installs the cvuqdisk-1.0.7-1 package
11)Updates the Oracle inventory file.

How to find Oracle EBS Weblogic Server Admin Port and URL ?

1.grep -i s_wls_adminport $CONTEXTFILE
Check for the value 'WLS Admin Server Port'.

2.grep -i AdminServer $CONTEXTFILE
Check for 'listen-port' value of the 'AdminServer'

Weblogic console URL
http://<server name>. <domain name> : <weblogic Admin Port>/console
Ex: http://oracle.test1.com:7001/console

What is Oracle Home Inventory?

Oracle home inventory or local inventory is present inside each Oracle home. It only contains information relevant to a particular Oracle home. This file is located in the following location:
$ORACLE_HOME/inventory
It contains the following files and folders:
* Components File
* Home Properties File
* Other Folders

What is fndfs and fndsm ?

In Oracle application listener support two services FNDFS and FNDSM

FNDFS or the Report Review Agent (RRA) is the default text viewer within Oracle Applications, which allows users to view report output and log files.
FNDSM is the Service manager. FNDSM is executable & core component in GSM ( Generic Service Management Framework ).

what is nofilenamecheck in rman ?

If you want the duplicate filenames to be the same as the target filenames, and if the databases are in different hosts, then you must specify NOFILENAMECHECK. If duplicating a database on the same host as the target database, do not specify the NOFILENAMECHECKoption. Otherwise, RMAN may signal error.

What is DBC File in oracle apps?

The .dbc file is actually the database connector descriptor file used to connect to database and this file is by-default located in $FND_TOP/secure directory, this file is quite important as whenever any program likes to connect to database like forms it uses dbc file where there you find the Guest_user_pwd ,when the guest user connect it does not allow it to directly connect to the database but it first connect goes via this file and cross verify the password of the guest which is kept in this file.
DBC file is quite important as whenever Java or any other program like forms want to connect to database it uses dbc file.
Typical entry in dbc file are:
GUEST_USER_PWDAPPS_JDBC_URLDB_HOST

what are the Different Oracle Application Database Users ?

Standard Users:
* Apps user
* Applsys
* Applsyspub
* Gust user
* Sysadmin

Custom Users:
* Oracle
* Applmgr

Apps:
Apps User is a Application Super User or Universal Schema. Apps User has complete access to EBS Data Module.  & APPS User has privilege to access all Application Objects.
• All runtime Applications connect to Apps Schema,
• Apps User is the owner of all Business Modules.
• Apps is the owner of AOL (Application Object Library) at Database level.
• All Tables Synonym of other Users by default will be granted to Apps User, so that the Apps User can be access the other Users Schema.

Applsys:
Applsys User is a common User created for all Technology Modules.
• Applsys is a owner of All Technology Modules & (Application Data Dictionary).
• Applsys is the owner of Application at Database Level.

Sysadmin:
Sysadmin is the System Administrator User to perform System Administrative tasks.

Applmgr:
Applmgr User is the owner of Application Database Tire at O/S level.

Oracle:
Oracle Useris the owner of Oracle Database Tire at O/S level.

Applsyspub:
Applsyspub User checks the authentications. It will have all the login& logout details of the Users.

Note:- Apps is the default password for both Apps User and Applsys User.
If we change the Password of Apps User then it will automatically change the Password of Applsys User also.

Gust user:-
It is  application user with no responsibilities.
GUEST_USER_PWD=GUEST/ORACLE

Aborting an Online Patching Cycle ?

If a patching cycle is failing and the issue cannot be resolved quickly, it is possible to abort the patching cycle and return to normal runtime operation. The patch edition will be dropped.
You can abandon a patching cycle (without applying any patches) by running the command:
$ adop phase=abort
Important: This abort command can only be used before successful completion of the cutover phase. After cutover, the system is running on the new edition, and abort is no longer possible for that patching cycle.
Aborting a patching cycle will drop the patch edition, but you must then run the cleanup and fs_clone phases before starting a new patching cycle. The cleanup must be a full cleanup.
For example:
$ adop phase=prepare
$ adop phase=apply patches=123456
[Patch application encounters problems and you want to abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone
Optionally, you can combine the abort and cleanup commands as follows:
$ $ adop phase=abort,cleanup cleanup_mode=full
Note: You cannot abort application of a patch applied in hotpatch mode or downtime mode.

On a R12 Multi-Node Install -- Why Do All Middle Tiers Run All Services ?

In R12, the concept for Applications Nodes has changed.  When installing R12 with multiple nodes. all the nodes are now set as 'Y' in FND_NODES.
This occurs because in R12, concept of unified APPL_TOP is introduced which means everything is laid down on all servers.
From the APPL_TOP perspective, all the Servers on a Multi-Node Environment will have the same files and can now potentially start any Service if needed.  In some cases, additional configuration will be required before this can be done since there can be profiles, etc associated with each Server.
For R12, the only difference between the Servers, are the Services that have been activated on each Node.
The Services are identified by the variables on the /service_group/ section in the APPS Context File:
Root Service Group : s_root_status
Web Entry Point Services : s_web_entry_status
Web Application Services : s_web_applications_status
Batch Processing Services : s_batch_status
Other Service Group : s_other_service_group_status
Depending on the value of these variables (enabled or disabled), adstrtal.sh / adstpall.sh will only start/stop the Services associated with them, ignoring the rest.
For example, if a node has only /s_batch_status/ "enabled" and the rest of the services are disabled, when you run adstrtall.sh on that Server and it will only start the Concurrent Managers and the TNS Listener for Apps.

Why is adop still showing phase APPLY status ACTIVE after having applied successfully a patch using "adop phase=apply hotpatch=yes"?
There were no errors in the adop patch logs.  But adop status still shows ?

One cannot run adop phase=cutover or adop phase=cleanup because there are no Online Patching cycle that was started.
The patch was applied in hotpatch=yes mode on the RUN filesystem.

When the patch is applied with adop hotpatch=yes mode, there are no Online Patching cycle started yet -- all is on the RUN filesystem -- so there are no adop commands that can be used like adop phase=cutover or adop phase=cleanup.
Example:
When one applies in hotpatch mode the APPLY phase will remain active until such time as run a PREPARE during the next patching cycle.
The APPLY phase is active because you can potentially run another hotpatch.
Once one apples a hotpatch, there are no further actions required.
When needing to apply a new patch -- this time in Online Patching mode -- run the adop phase=prepare command.
At that time, adop config change detector will find that the RUN filesystem has had patches applied in hotpatch mode and will sync the PATCH filesystem as part of the prepare phase.

Where we need to apply a patch in Multinode ?

In a multi-node deployment, adop commands are only executed from the Primary Node. The primary adop session uses remote execution to automatically perform required actions on any secondary node.

Which are the possible ways to follow for applying a patch on a multinode enviroment? (The production is multi-application node (6 Application servers i.e 1 master / 5 slaves) (12.1.1 & 12.1.3)?

The answer depends on your architecture :
if you are using a shared application tier file system for all your nodes
you will have to patch only one time on one of the nodes (Primary node or Master node)
if not the patch needs to be applied on all nodes.

Cloning of Oracle E-business Suite (12.1.1 & 12.1.3)
Clone From Production To Development

*Make sure preclone scripts already run, if it is not first run preclone on dbTier and appsTier.
*Take the backup of application binaries as well as database backup.
*Mount the backups to the target side, if it is not mounted then do the scp.
*Create blackouts on target side, and send an outage email to business users that this instance is going to clone.
*Shutdown the application services, shutdown the database and startup restrict mode drop the database, and take backup if required (export*import, pfile, context_file and other config files) sometimes it depends on your project to project)
*On target side untar the binaries of database and prepare the pfile, in pfile keep all the parameters which is there, just add two parameters (db_file_name_convert and log_file_name_convert) which actually convert the filesystem from source to target, and then we do startup nomount (which starts the instance and background processes)
*Now we will run rman duplicate.
*Rman connect auxiliary and run command allocate channels.
*"DUPLICATE" target database to name of the database along with the backup location and then release channels.

what internally rman duplicate will do is?
*it will restore the controlfile from the backup.
*it will mount the database internally (alter database mount).
*it will restore the database.
*it will recover the database.
*and then it will open the database with resetlogs option.

when you open the database with resetlogs, incarnation of the database will be happen, it means
*new logfile sequence number will be assigned and it will be set to 1
*redologfile will be given a new timestamp
*new scn number will be assigned and then your datafile and controlfile will be sync.

*Untar binaries for application side, and then go to common_top/clone/bin and fire perl adcfgclone.pl appsTier.
*Fire perl adcfgclone.pl appsTier context_file=<give cloned instance contextfile>

Post Clone Steps:
* Change the APPS password.
*Cancel the scheduled requests.
*Change the java color and banner.
*Updating workflow mailer status.
*Cleanup the nodes table by running.
EXEC FND_CONC_CLONE.SETUP_CLEAN;.
*Run autoconfig on both the tiers.
*Drop softlinks which are pointing to production
*Do sanity check and release instance for user access.
*Etc

Applying Application Patches to Oracle EBS 11i/R12 Applications (12.1.1 & 12.13) ?

Step 1: Before applying a patch you must check whether the patch is applied or not:
Method 1:
For this we query the database:
Sqlplus apps/<apps_password>
Sql> select bug_id, bug_number from ad_bugs where bug_number='&num';
Sql> select patch_type, patch_name from ad_applied_patches where patch_name='&num';

Method 2:
Checked with OAM
a) Connect to OAM
b) Go to System Administrator --> OAM-->Dashboard --> Site map --> Maintenance --> Applied patches
c) Enter patch id and press ‘Go’
d) See if patch was returned

Step 2: Download the patch:
Example:
www.support.oracle.com

Step 3: Unzip the patch:
Exapmple: Command:
Unzip < patch.zip>

Step 4: Before applying patch:(check invalid objects in DB) and Backup the invalids object before applying the patch:
Example:
Sql> select name from v$database;
Sql>select owner,count(*) from dba_objects where status='INVALID' group by owner;
Backup the invalids with CTAS:
create table dba_objects_18apr2013 AS select * from dba_objects where status='INVALID';
Note:
Send outage communication/put mail to business

Step 5: Stop all application services (If we don’t want to close application services, we have hot patch option:
Note: If it is shared application file system you have to bring down admin tier service i.e, concurrent node it depends on business requirement.
ps -fu applmgr|grep -i FND|wc -l
If processes not went down, do kill processes and proceed ahead

Step 6: Enable Maintenance mode
Example:
$ adadmin
5. change maintenance mode
To check maintenance mode enable or not use below query
select fnd_profile.value('APPS_MAINTENANCE_MODE') from dual;
If  the status:
“MAINT” = MAINTENANCE MODE HAS BEEN ENABLED AND THE USERS WILL NOT BE ABLE TO LOGIN.
“NORMAL” = MAINTENANCE MODE HAS BEEN DE-ACTIVATED AND THE USERS WILL BE ABLE TO LOGIN.

Step 7: Applying patch using ‘adpatch’ (auto patch utility):
FIRE :adpatch

Step 8 : Please check whether patch is applied or not.

Step 9: Disable Maintenance mode again by using 'adadmin' utility:

Step 10: Start application services :

Step 11:After applying PATCH:
step a:Verify the patch is applied successfully:
SQL> select name from v$database;
NAME
---------
TESTDB
SQL> select bug_number,creation_date from ad_bugs where bug_number='5522470';
BUG_NUMBER                     CREATION_DATE
------------------------------ ---------------
5549427                        12-FEB-13
Step b:Run cmclean.sql

Run cmclean.sql from application node by going to $COMMON_TOP/admin/scipts/TESTDB_ebstest in 11i,where as in R12 goto $ADMIN_SCRIPTS_HOME or $INST_TOP/admin/scripts
commit;
Note:We run cmclean after clonning also to make sure the node name is updated in the FND_NODES Table correctly
SQL> select owner,count(*) from dba_objects where status='INVALID' group by owner;
OWNER                            COUNT(*)
------------------------------ ----------
SYS                                     1
TEST_USER1                    2
TEST_USER2                    5
APPS                                 22

Step c:Check the file versions got changed successfully after applying patch:
strings -a POXWARMB.pls|grep Header =>Can be used to check the file version.

Step d:Do the Health Check of Oracle EBS Application
Note :We can get HOME page URL by using below query:
SQL>Select Home_URL from icx_parameter;
Health check completed successfully by submitting active user Concurrent request REQUEST ID 28758820.

Step e:Intimate end User
Make sure you intimate the end User or release your application to the end User
do sanity check and release instance for user access .
In sanity check you will submit below two requests:
Go to System adminstrator --->Request--->Run
1)Active User =====>Check View LOG/vIEW OUT
2)Active Responsiblity ===>Check View LOG/vIEW OUT

what are Managed Servers R12.2 EBS ?

oacore – Used to provide core functionality in Oracle E-Business Suite application tier Java code, including OAF-based functionality for Oracle E-Business Suite products.
oafm – Used for web services, Secure Enterprise Search, Oracle Transport Agent, and other components.
forms – Serves all Oracle Forms functionality.
forms-c4ws – Exposes Oracle Forms-based functionality as web services.

An additional application type, which is not deployed out-of-the-box, may be provisioned if additional Oracle applications are installed:

oaea: Used when installing additional Oracle applications such as Oracle E-Business Suite AccessGate, eKanban, and Spatial.
Oracle E-Business Suite creates one cluster for each application type deployed in the EBS WLS domain:

oacore_cluster1
oafm_cluster1
forms_cluster1
forms-c4ws_cluster1
oaea_cluster1
Managed server names for these clusters are grouped as follows:

oacore_server1 for Node1, oacore_server2 for Node 2, etc.
oafm_server1 for Node 1, oafm_server2 for Node 2, etc.
forms_server1 for Node 1, forms_server2 for Node 2, etc.
forms-c4ws_server1 for Node 1, forms-c4ws_server2 for Node 2, etc.
oaea_server1 for Node 1, oaea_server2 for Node 2, etc.

what is Restart option adop 12.2 ?

If you have shut down the workers, or if adop quits while performing processing actions, it saves all the actions completed up to that point in restart files. Investigate and resolve the problem that caused the failure, then restart adop. After you restart adop, it will ask if you want to continue with the previous session (at the point where the processing stopped), or start a new session.

Note: A difference from adpatch is that adop restart behavior is controlled by the abandon=yes/no and restart=yes/no options in the input_file that can be passed to the adop command in the apply phase.
You have several options when restarting (or abandoning) application of individual patches, as follows.
If you want to restart a failed patch from where it left off, you only need to specify restart=yes on the command line:
adop phase=apply patches=1234 restart=yes
If you want to restart a failed patch from the very beginning, you need to specify abandon=yes on the command line:
adop phase=apply patches=1234 abandon=yes
If you want to ignore a previously failed patch and apply a different one instead, you need to specify the new patch number and abandon=yes on the command line:
adop phase=apply patches=5678 abandon=yes

How to execute empty patching cycle, without applying any patch?
Solution:
The syntax to run an empty patch cycle is:
adop phase=prepare,finalize,cutover,cleanup

Which are the possible ways to follow for applying a patch on a multinode enviroment? (The production is multi-application node (6
Application servers i.e 1 master / 5 slaves) (12.1.1 & 12.1.3) ?

The answer depends on your architecture :
if you are using a shared application tier file system for all your nodes
you will have to patch only one time on one of the nodes (Primary node or Master node)
if not the patch needs to be applied on all nodes.

how to skip a workers during patching ?

If you want to skip a worker , this option is not visible & do it at your own risk there is option 8 ( depending on your AD version , it might vary so if adctrl is displaying 7 options skip worker will be option 8 & if adctrl is showing 6 options skip worker will be option 7)
You can select individual worker or a group of worker separated by - like 2-5 will select worker from 2 to 5.

Changes In 12.1.3 : While performing cloning activity on newly 12.1.3 instance ?

* While running adcfgclone on appsTier it will ask hostname(FQDN).
* After providing all the inputs to adcfgclone.pl it will ask to start the services or not.
* When you are running cmclean.sql it will give notification to stop all the concurrent managers.

EBS Technology Codelevel Checker (ETCC) ?

There is one patch provides two scripts, together referred to as ETCC, that help ensure you have the required database and middle tier bugfixes installed for your Oracle E-Business Suite Release 12.2 system.
The scripts are:

* checkDBpatch.sh (checkDBpatch.cmd on Windows). This is the Database EBS Technology Codelevel Checker (DB-ETCC), which determines if all the needed bugfixes exist in the specified database ORACLE_HOME.

* checkMTpatch.sh (checkMTpatch.cmd on Windows). This is the Middle Tier EBS Technology Codelevel Checker (MT-ETCC), which determines if all the needed bugfixes exist in the middle tier file system.

What Does FND Stands For?
FND stands for foundation tables which is a combination of AOL SYSTEM ADMINISTRATOR MODULES tables, it will be placed under FND_TOP. This module is a standard and any customization may some-time leads to distruction of the Oracle Applications.

Reasons For Enabling Maintenance Mode ?

To ensure optimal performance and reduce downtime during patching sessions, AutoPatch requires that you enable Maintenance mode when you apply a patch. Enabling this feature shuts down the Workflow Business Events System and sets up function security so that Oracle Applications functions are unavailable to users. This provides a clear separation between normal runtime operation and system downtime for patching.

12.2 E-Business Suite Applications DBA Steps To Check if a Patch is Applied in 12.2.x using SQL*PLUS ?

In eBusiness Suite (EBS) 12.2.x you cannot query the AD_BUGS table to check if patches have been applied.
The AD_BUGS table may have entries for patches that were applied but later the patching cycle was aborted (not really applied).
To check whether a patch is really applied use the AD_PATCH.IS_PATCH_APPLIED pl/sql function.

Using this API is an alternative method for users without access to Oracle Applications Manager's "Patching and Utilities" feature to determine if a certain patch is applied.

expected results:
EXPLICIT = applied
NOT APPLIED = not applied / aborted

Note: If you are sure patch is applied but it is not showing as applied via the above steps, then update the snapshot manually with the steps below:

1. Start adadmin after source the RUN FS env.
2. Select "2. Maintain Applications Files menu" in "AD Administration Main Menu".
3. In "Maintain Applications Files", select "4. Maintain snapshot information".
4. Select "2. Update current view snapshot" in the "Maintain Snapshot Information".
5. Select "1. Update Complete APPL_TOP" in the "Maintain Current View Snapshot Information".

How many number of workers required for applying adop patch ?

Run TOP/HTOP/GLANCE during patching,

increase the number of workers if CPU usage is mostly < 65%
decrease the number of workers if CPU usage is mostly > 85%

what is RUN and PATCH filesystem in 12.2.x ?

1.The "Run Edition" is the code and data used by the running application. The Run Edition includes a complete application-tier file system along with all objects and data visible in the default edition of the database. As a developer, you will connect to the Run Edition whenever you are engaged in normal development activity on the system.

2.The "Patch Edition" is an alternate copy of Oracle E-Business Suite code and seed data that is updated by Online Patching. The Patch Edition includes a complete copy of the application-tier file system and editioned database code objects. The Patch Edition is only usable when an Online Patching session is in progress. End users cannot access the Oracle E-Business Suite Patch Edition, but as a developer you may need to connect to the Patch Edition of a system when applying patches or debugging problems with Online Patch execution.

Note:
There are a number of SQL*Plus scripts that can provide useful information about the state of your editioned development environment. All ADZD* scripts are found under $AD_TOP/sql. For convenience, you can add this directory to the SQLPATH environment variable so that you can refer to the scripts by simple name.

Custom Forms, Reports and other custom files deployed on RUN file system lost after adop cutover phase during adop patching in R12.2.x ?

If you have deployed custom forms, reports etc. on a RUN filesystem then -
You should add entries for all your custom files to the custom synchronization driver file located at $APPL_TOP_NE/ad/custom/adop_sync.drv (%s_ne_base%/EBSapps/appl/ad/custom/adop_sync.drv).

The adop utility uses this driver file to synchronize files between the run file system and the patch file system.
Add your entries in the section marked by the '#Begin Customization' and '#End Customization' comments.

Example:
rsync -zr %s_current_base%/EBSapps/appl/<Company identifier> %s_other_base%/EBSapps/appl

Synchronizing custom Top with Symbolic Links using adop_sync.drv:
Please add "-l" option to rsync command
This option is copy symbolic link as a symbolic link.

Example:
rsync -rl %s_current_base%/EBSapps/appl/XXX/12.0.0/bin %s_other_base%/EBSapps/appl/XXX/12.0.0

What is apply_mode=hotpatch in ebs 12.2 ?

With apply_mode=downtime; adop directly applies the patch .. No patching cycles...
Note: apply a patch with downtime is only applicable with Oracle support or if given in a readme.txt file

Steps:
1. shutdown  the application (adspall.sh)
2. start the admin server (adadminsrvctl.sh start)
3. download the patch and copy to patch_top
4. apply patch as below,
$ adop phase=apply patches=19845055 apply_mode=downtime workers=15
5. stop the admin server (adadminsrvctl.sh stop)
6. start the application (adstrtall.sh)
It is logical to run cleanup and fs_clone as well after applying using hotpatch option.

what is actualize_all option in 12.2 ?

Every time we perform online patching , there will an old database edition entry and this will accumulate as and when we do more online patching's.
Oracle suggests that we perform actualize_all after this reaches a count of 25. However it would be time consuming to perform the cleanup after the count has increased.

If the number of these grows too large, system performance will start to be affected. When the number of old database editions reaches 25 or more, you should consider dropping all old database editions by running the adop actualize_all phase and then performing a full cleanup.

Table=dba_editions
select edition_name from dba_editions order by edition_name;

Steps:
$ adop phase=prepare
$ adop phase=actualize_all
$ adop phase=finalize finalize_mode=full
$ adop phase=cutover
$ adop phase=cleanup cleanup_mode=full

How to check the Log files for adop phases ?

The log directory structure is as follows:
$ADOP_LOG_HOME/<session_id>/<execution_id>/<phase>

The components of this structure are as follows:
<session ID> is the patching session ID
<execution_id> is a timestamp in the standard <YYYYMMDD_HHMMSS> format. An <execution_id> sub-directory is created for every invocation of adop on the command line
<phase> is the online patching phase

What modes in adop Patching ?

The adop utility is normally used to apply patches in an online patching cycle. It can also be used:
* To run a patching cycle, and test patch application without actually taking any apply actions, in test mode
* To apply patches outside a patching cycle in downtime mode
* To apply patches without connecting to the database in preinstall mode

What is Backup Directory ?

When adop runs, a backup directory is created in the directory where you unzip the patch. The old version of each file updated by the patch is copied into the backup directory. When applying large patches (such as release update packs, product family RUPs, and pre-upgrade patches), ensure there is enough disk space on the system where you unzip the patch, or the patching process may fail. We recommend having at least twice the amount of disk space as the unzipped patch file uses.

How to Monitor Adop Status ?

You can obtain a brief report for the current patching session by running the command.
$ adop -status

If you want information about a particular session, specify the relevant session ID:
$ adop -status <session ID>

If you want additional details of operations performed:
$ adop -status -detail

How to Abort an Online Patching Cycle ?

If a patching cycle is failing and the issue cannot be resolved quickly, it is possible to abort the patching cycle and return to normal runtime operation. The patch edition will be dropped.

You can abandon a patching cycle (without applying any patches) by running the command:
$ adop phase=abort
Important: This abort command can only be used before successful completion of the cutover phase. After cutover, the system is running on the new edition, and abort is no longer possible for that patching cycle.
Aborting a patching cycle will drop the patch edition, but you must then run the cleanup and fs_clone phases before starting a new patching cycle. The cleanup must be a full cleanup.

For example:
$ adop phase=prepare
$ adop phase=apply patches=123456
[Patch application encounters problems and you want to abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

Optionally, you can combine the abort and cleanup commands as follows:
$ adop phase=abort,cleanup cleanup_mode=full
Note: You cannot abort application of a patch applied in hotpatch mode or downtime mode.

How to Restart adop patch ?

If you have shut down the workers, or if adop quits while performing processing actions, it saves all the actions completed up to that point in restart files. Investigate and resolve the problem that caused the failure, then restart adop. After you restart adop, it will ask if you want to continue with the previous session (at the point where the processing stopped), or start a new session.

Note: A difference from adpatch is that adop restart behavior is controlled by the abandon=yes/no and restart=yes/no options in the input_file that can be passed to the adop command in the apply phase.

You have several options when restarting (or abandoning) application of individual patches, as follows.
If you want to restart a failed patch from where it left off, you only need to specify restart=yes on the command line:

adop phase=apply patches=1234 restart=yes
If you want to restart a failed patch from the very beginning, you need to specify abandon=yes on the command line:

adop phase=apply patches=1234 abandon=yes
If you want to ignore a previously failed patch and apply a different one instead, you need to specify the new patch number and abandon=yes on the command line:

adop phase=apply patches=5678 abandon=yes

What are Customized Files ?

adop reviews the AD_FILES table to determine if any customized files (Register Flagged Files) will be replaced by the patch. If so, it displays a message listing the customized files it will replace.

Note:
adop reviews the AD_FILES table to determine if any customized files (Register Flagged Files) will be replaced by the patch. If so, it displays a message listing the customized files it will replace.

What are Managers adctrl ?

The manager assigns each worker a unique ID and inserts a row for each worker in the FND_INSTALL_PROCESSES table. It creates this table to serve as a staging area for job information, and as a way to communicate with the worker. Communication is accomplished using two columns: CONTROL_CODE and STATUS.

What are deffered_jobs ?

The deferred job feature uses the AD_DEFERRED_JOBS table. This table is created when the FND_INSTALL_PROCESSES table is created, and is dropped when the FND_INSTALL_PROCESSES table is dropped.

What is Oracle Workflow?

Oracle Workflow allows you to define business processes using a drag-and-drop designer. You can route relevant information to decision makers, automate processes, deliver electronic notifications to users in a given workflow, and monitor your processes as they are implemented.

Online Patching Log Analyzer Utility (this new feature is delivered by AD and TXK C Delta 4 patches) ?

This utility analyzes adop log directories for errors and warnings, and displays messages to help the user quickly identify any problems that may have occurred during an adop run. It thereby offers an alternative to reviewing log files manually.

The Log Analyzer utility can be run without options:

To scan all log directories of the latest adop session for errors:
$ adopscanlog

The utility can also be run with various options. Examples include:

To scan log directories relating to the latest run of adop in the latest session:
$ adopscanlog -latest=yes
To scan log directories relating to the latest run of the specified phase, in the latest session:
$ adopscanlog -latest=yes -phase=<phase_name>
To scan all log directories of a given session (represented by a session_id) for errors:
$ adopscanlog -session_id=<number>
To see a complete list of supported parameters:
$ adopscanlog -help

How to Check the current status of the adop cycle ?

Source the run filesystem environment file and run command
adop -status
usage:
adop -status  generates a summary report
adop -status <sessionID> generates a summary report for that session ID
adop -status -detail generates a detailed report

How to Check AD and TXK C Patch levels

SELECT codelevel FROM AD_TRACKABLE_ENTITIES WHERE abbreviation in ('txk','ad');

Online Patching Delta 7 Enhancements ?

1.Enhanced adop console messages
2.New Online Patching monitoring tool (adopmon)
3.New Online Patching infrastructure validation option (adop -validate)
4.Improved phase execution performance