- Oracle DB 11gR2
- Online Patching
- Oracle Weblogic Server ( Fusion Middleware 11g)
- Oracle Access Manager 11g
Thursday, September 3, 2015
Posted by
Biswajit
at
1:18 PM
0
comments
Labels: R12.2
Monday, March 23, 2015
RMAN configuration in 7 Steps
RMAN> BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;
1. View Current RMAN Configuration
$ rman target / Recovery Manager: Release 10.2.0.3.0 - Production on Sat Aug 10 11:21:29 2013 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: DEVDB (DBID=821773) RMAN>
RMAN> SHOW ALL; using target database control file instead of recovery catalog RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS; CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE DEFAULT DEVICE TYPE TO DISK; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO "/backup/rman/ctl_%F"; CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 2; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT "/backup/rman/full_%u_%s_%p" MAXPIECESIZE 2048 M; CONFIGURE MAXSETSIZE TO UNLIMITED; CONFIGURE ENCRYPTION FOR DATABASE OFF; CONFIGURE ENCRYPTION ALGORITHM 'AES128'; CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/10.2.0/dbs/snapcf_devdb.f'; # default
2. Change Few RMAN Configuration Parameters
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/rman/full_%u_%s_%p';
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
RMAN> SHOW ALL; .. CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/rman/full_%u_%s_%p'; CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; ..
RMAN> CONFIGURE RETENTION POLICY CLEAR;
RMAN> SHOW ALL; CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
3. Backup Oracle Database
$ mkdir -p /backup/rman
$ ls -l /backup/rman total 0
RMAN> BACKUP AS BACKUPSET DATABASE
RMAN> BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;
RMAN> BACKUP AS BACKUPSET TABLESPACE PRD01;
RMAN> BACKUP AS BACKUPSET DATABASE Starting backup at 10-AUG-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=193 devtype=DISK allocated channel: ORA_DISK_2 channel ORA_DISK_2: sid=192 devtype=DISK channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00025 name=/u03/oradata/devdb/devuser07.dbf input datafile fno=00003 name=/u02/oradata/devdb/temp01.dbf channel ORA_DISK_1: starting piece 1 at 10-AUG-13 channel ORA_DISK_2: starting full datafile backupset channel ORA_DISK_2: specifying datafile(s) in backupset input datafile fno=00008 name=/u03/oradata/devdb/devusers05.dbf channel ORA_DISK_2: starting piece 1 at 10-AUG-13 ... .. piece handle=/backup/rman/full_4dogpd0u_4237_1 tag=TAG20130808T114846 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03 Finished backup at 10-AUG-13 ... Starting Control File and SPFILE Autobackup at 10-AUG-13 piece handle=/backup/rman/ctl_c-758818131-20130808-00 comment=NONE Finished Control File and SPFILE Autobackup at 10-AUG-13
$ ls -l /backup/rman total 14588 -rw-r----- 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00 -rw-r----- 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1
4. Assign Backup TAG Name for Quick Identification
RMAN> BACKUP AS BACKUPSET TAG 'WEEEKLY_PRD01_TBLS_BK_ONLY' TABLESPACE PRD01; Starting backup at 10-AUG-13 using channel ORA_DISK_1 using channel ORA_DISK_2 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00002 name=/u03/oradata/devdb/PRD01_1.dbf channel ORA_DISK_1: starting piece 1 at 10-AUG-13 channel ORA_DISK_1: finished piece 1 at 10-AUG-13 piece handle=/backup/rman/full_4fogpdb3_4239_1 tag=WEEEKLY_PRD01_TBLS_BK_ONLY comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 10-AUG-13 Starting Control File and SPFILE Autobackup at 10-AUG-13 piece handle=/backup/rman/ctl_c-758818131-20130808-01 comment=NONE Finished Control File and SPFILE Autobackup at 10-AUG-13
$ ls -l /backup/rman/ total 29176 -rw-r----- 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00 -rw-r----- 1 oracle dba 14585856 Aug 8 11:54 ctl_c-758818131-20130808-01 -rw-r----- 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1 -rw-r----- 1 oracle dba 327680 Aug 8 11:54 full_4fogpdb3_4239_1
5. Change Oracle RMAN Backup File Name Format
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT "/backup/rman/full_devdb_bk_%u_%s_%p" MAXPIECESIZE 2048 M;
RMAN> BACKUP AS BACKUPSET TAG 'WEEEKLY_PRD01_TBLS_BK_ONLY' TABLESPACE PRD01;
$ ls -l /backup/rman/ total 43764 -rw-r----- 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00 -rw-r----- 1 oracle dba 14585856 Aug 8 11:54 ctl_c-758818131-20130808-01 -rw-r----- 1 oracle dba 14585856 Aug 8 11:56 ctl_c-758818131-20130808-02 -rw-r----- 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1 -rw-r----- 1 oracle dba 327680 Aug 8 11:54 full_4fogpdb3_4239_1 -rw-r----- 1 oracle dba 327680 Aug 8 11:55 full_devdb_bk_4hogpdef_4241_1
6. Compress a RMAN Backup
RMAN> BACKUP AS COMPRESSED BACKUPSET TAG 'WEEEKLY_PRD01_TBLS_BK_ONLY' TABLESPACE PRD01;
$ ls -l /backup/rman/ total 58352 -rw-r----- 1 oracle dba 14585856 Aug 8 11:48 ctl_c-758818131-20130808-00 -rw-r----- 1 oracle dba 14585856 Aug 8 11:54 ctl_c-758818131-20130808-01 -rw-r----- 1 oracle dba 14585856 Aug 8 11:56 ctl_c-758818131-20130808-02 -rw-r----- 1 oracle dba 14585856 Aug 8 11:59 ctl_c-758818131-20130808-03 -rw-r----- 1 oracle dba 327680 Aug 8 11:48 full_4dogpd0u_4237_1 -rw-r----- 1 oracle dba 327680 Aug 8 11:54 full_4fogpdb3_4239_1 -rw-r----- 1 oracle dba 327680 Aug 8 11:55 full_devdb_bk_4hogpdef_4241_1 -rw-r----- 1 oracle dba 127680 Aug 8 11:59 full_devdb_bk_4jogpdl0_4243_1
7. View all RMAN Backups
RMAN> LIST BACKUP SUMMARY; using target database control file instead of recovery catalog List of Backups =============== Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag ------- -- -- - ----------- --------------- ------- ------- ---------- --- .. 4215 B F A DISK 10-AUG-13 1 1 NO TAG20130808T114846 4216 B F A DISK 10-AUG-13 1 1 NO TAG20130808T114849 4217 B F A DISK 10-AUG-13 1 1 NO WEEEKLY_PRD01_TBLS_BK_ONLY 4218 B F A DISK 10-AUG-13 1 1 NO TAG20130808T115413 4219 B F A DISK 10-AUG-13 1 1 NO WEEEKLY_PRD01_TBLS_BK_ONLY 4220 B F A DISK 10-AUG-13 1 1 NO TAG20130808T115600 4221 B F A DISK 10-AUG-13 1 1 YES WEEEKLY_PRD01_TBLS_BK_ONLY
SQL> SELECT OPERATION, STATUS, MBYTES_PROCESSED, START_TIME, END_TIME from V$RMAN_STATUS; OPERATION STATUS MBYTES_PROCESSED START_TIM END_TIME --------------------------------- ----------------------- ---------------- --------- --------- CONTROL FILE AND SPFILE AUTOBACK COMPLETED 14 07-NOV-12 07-NOV-12 RMAN COMPLETED 0 07-NOV-12 07-NOV-12 RESTORE VALIDATE COMPLETED 0 07-NOV-12 07-NOV-12 RMAN COMPLETED WITH ERRORS 0 07-NOV-12 07-NOV-12 DELETE COMPLETED 0 08-NOV-12 08-NOV-12 BACKUP COMPLETED 0 10-AUG-13 10-AUG-13 CONTROL FILE AND SPFILE AUTOBACK COMPLETED 14 10-AUG-13 10-AUG-13 RMAN COMPLETED WITH ERRORS 1832 10-AUG-13 10-AUG-13 RMAN COMPLETED 0 10-AUG-13 10-AUG-13 ...
Posted by
Biswajit
at
11:38 AM
0
comments
Wednesday, October 15, 2014
Course Content:
- J2EE Architecture & Components
- The Need of Middleware Technologies
- About Webserver and Application Server
- Environments – Dev, Testing(SIT, UAT), Pre Prod & Prod
- Importance of WebLogic Server
- Weblogic Server Terminology ( Domains, Admin Server, Machine, Managed Servers)
- WebLogic 11 g / 12 c Features
- WebLogic Server Installation & Configuration on Windows / Linux
- Modes of Installation
- Domain creation and configuration
- Configuration Wizard
- The Administrative Console
- Creation Managed Servers
- Starting & Stopping Admin Server, Managed Servers
- About NodeManager
- Starting & Stopping Admin Server, Managed Servers through NodeManager
4) Overview of Deployment Process
- Overview of Deployment
- Deployment Methods
- Managing Application Server Life Cycle states
- Deploy WebApplication & Testing
- Deploy Application to Servers & Clusters
- Weblogic Virtual host
- Introduction to cluster
- Benefits of cluster
- Basic & Multi-tier Cluster diagrams
- Unicast & Multi-cast
- Creation & configuration Cluster
- Deploy Application to Cluster
- Session Replication
- Clustering using WebServer Configuration
- Types of Jdbc Drivers
- Creating JDBC & DataSource
- Purpose of Connection Pooling
- JNDI
- Introduction to JMS
- Messaging Types
- Creating JMS Servers,modules,Queue & Topic
- Creating Connection Factory
- Deploying JMS Application
- Monitoring Messages in Queue & Topic
- Security Fundamentals
- Authentication & Authorization
- Weblogic Security
- Security Realms
- Managing Users & Groups
- SSL Security
- SSL Mechanism & Configuration
- About WebLogic Server Logs
- Thread Dumps
-. Heap Dumps
- Log Message Format
- Techniques to Troubleshoot and fix the OOM, Memory Leak, ServerHang, Server Crash Problems
- About Heap Memory
- GC(Garbage Collrector)
- Operating System Tuning
- Java Virtual Machine(JVM) Tuning
- Monitoring Threads
- Techniques to reduce Application down time
- Introduction to WLST
- WLST Commands
- Running Scripts
- Weblogic Admin Responsibilities
- About Ticketing & Monitoring tools
- ITIL(Information Technology Infrastructure Library) Process
- Types of Tickets
- Severity Levels
13) Monitoring
- Cluster
- Connection Pools
- JMS
- Thread pool
Posted by
Biswajit
at
2:14 AM
0
comments
Sunday, February 5, 2012
Export Using Query Option
Posted by
Biswajit
at
7:06 AM
0
comments
Labels: Export using Query
Monday, November 3, 2008
Details of Adpreclone and Adcfgclone
What happens internally when you run adpreclone and adcfgclone
The steps for cloning like
1.adpreclone on apps and db tier
2.Then copy the file sytem to Target
3.run adcfgclone on apps tier and db Tier.
Lets understand,What happens when you run adpreclone and adcfgclone.
First,When you run this commnad adpreclone.pl dbTier .
This will run in two steps Techstack and database.
Techstack:It will create following directories in the ORACLE_HOME/appsutil/cloneJlib, db, data where “Jlib” relates to libraries “db” will contain the techstack information, “data” will contain the information related to datafiles and required for cloning.
Creates driver files at ORACLE_HOME/appsutil/driver/instconf.drv
Converts inventory from binary to xml, the xml file is located at $ORACLE_HOME/appsutil/clone/context/db/Sid_context.xml
Prepare database for cloning:This includes creating datbase control file script and datafile location information file at$ORACLE_HOME/appsutil/templateadcrdbclone.sql, dbfinfo.lst
Generates database creation driver file at ORACLE_HOME/appsutil/clone/data/driverdata.drv
Copy JDBC Libraries at ORACLE_HOME/appsutil/clone/jlib/classes12.jar and appsoui
When Running adpreclone appsTier
This will create stage directory at $COMMON_TOP/clone. This also run in two steps.
Techstack:Creates template files forOracle_iAS_Home/appsutil/templateOracle_806_Home/appsutil/template
Creates Techstack driver files forIAS_ORACLE_HOME/appsutil/driver/instconf.drv806_ORACLE_HOME/appsutil/driver/instconf.drv
APPL_TOP preparation:-It will create application top driver file$COMMON_TOP/clone/appl/driver/appl.drv-Copy JDBC libraries$COMMON_TOP/clone/jlib/classes111.zip
Now Shutdown all the services of Application and database for Copy the file System to target location
Configuring the target systemOnce it is done . Run as below adcfclone.pl for apps Tier and dbTier.
On database side:cd $ORACLE_HOME/appsutils/clone/bin
perl adcfgclone.pl dbTier pwd=apps
This will use the templates and driver files those were created while running adpreclone.pl on source system and has been copied to target system.
Following scripts are run by adcfgclone.pl dbTier for configuring techstack
adchkutl.sh — This will check the system for ld, ar, cc, and make versions.adclonectx.pl — This will clone the context file. This will ceate a new context file as per the details of this instance.runInstallConfigDriver — located in $Oracle_Home/appsutil/driver/instconf.drvRelinking $Oracle_Home/appsutil/install/adlnkoh.sh — This will relink ORACLE_HOME
For data on database side, following scripts are runDriver file $Oracle_Home/appsutil/clone/context/data/driver/data.drvCreate database adcrdb.zipAutoconfig is runControl file creation adcrdbclone.sql
On Application Side:COMMON_TOP/clone/bin/perl adcfgclone.pl appsTier pwd=appsFollowing scripts are run by adcfgclone.plCreates context file for target adclonectx.pl
Run driver files$ORACLE_HOME/appsutil/driver/instconf.drv$IAS_ORACLE_HOME/appsutil/driver/instconf.drv
Relinking of Oracle Home$ORACLE_HOME/bin/adlnk806.sh$IAS_ORACLE_HOME/bin/adlnkiAS.shAt the end it will run the driver file $COMMON_TOP/clone/appl/driver/appl.drv and then runs autoconfig.
Posted by
Biswajit
at
8:59 AM
0
comments
Sunday, March 16, 2008
Printer
Basic Information on PrintingVia the Application,
A user will submit a request to run a report. This is most commonly done from the Submit Request Form (shortname =FNDRSRUN).The request is written into the concurrent queue/request table(s) (e.g.,FND_CONCURRENT_REQUESTS). The concurrent manager who eventually picks up the request will read the request and its definition from the queue. From there, the concurrent manager will kick off Oracle Reports. As Oracle Reports begins to run, it will look at a setting for how many copies you want. If copies = 0, then Oracle Reports will look at the Print Style definition for which SRW file to use. If copies > 0, then Oracle Reports will look at the Print Driver definition for which SRW file to use. In either case, Oracle Reports will look at the Print Style to determine the rows and columns that are contained in the report. The Print Style rows and columns overrides both the Print Style and Print Driver SRW files (which contain rows and columns as well). After the file has been generated using the appropriate SRW file and row/columns settings, the Concurrent Manager will pre-pend the initialization string and append the reset string to the output. As a general rule, the first component of the initialization string should be the reset string. You should not assume that the printer has been properly reset. It is the responsibility of the System Administrator to properly configure the initialization and reset strings. All of the seed data provided in Oracle Applications is for a DEC LN03 printer. This seed data is provided as example only. Chances are very good that your printers do not adhere to the DEC LN03 standards. There are numerous page description languages that are used to communicate with printers. The Big 3 are HP's PCL 5, Adobe's Postscript, and Microsoft's Windows GDI (Graphical Device Interface). Additionally, here are some other page descriptions languages.
Posted by
Biswajit
at
2:44 AM
0
comments
Friday, January 18, 2008
Concurrent Manager:
---------------------
A mechanism that runs concurrent programs.
A manager operates duringthe time and days defined by a work shift. A manager can run any concurrent program, or be specialized to run anyconcurrent program, or be specialized to run only certain kinds of programs.
Concurrent Program:
---------------------
A program that runs concurrently (at the same time) as other programs.
Concurrentprograms run as background processes, while you continue to work at your terminal.”A concurrent program is an instance of an execution file, along with parameter definitions and incompatibilities.
Concurrent programs use concurrent program executables to locate the correct execution file.
Several concurrent programs may use the same execution file to perform their specific tasks, each having different parameter defaults and incompatibilities.
Concurrent Program Executable
---------------------------------
A concurrent program executable links an execution file or and the method used to execute it with a defined concurrent program.
Under Concurrent Processing, an execution method may be a program written in a standard language, a reporting tool, or an operating system language.
An execution method can be :
1. A PL/SQL Stored Procedure,
2. An Oracle Tool such as Oracle Reports or SQL*Plus, a spawned process, or
3. An operating system host language (eg . Shell or DCL).
Concurrent Program Execution File
=========================
A concurrent program execution file is an operating system file or database stored procedure which contains your application logic and can be executed by either invoking it directly on the command line or by invoking a program which acts upon it.
For example, you run a Pro*C program by invoking it on the command line. You run a SQL script by running SQL*Plus and passing the name of the SQL script without the .sql extension.
Oracle Applications consists of several types of Concurrent Managers.But it also gives the end-user flexibility to define any Concurrent Manager and in any number, as per the requirement.
Key Managers pre-defined by Oracle:
1. Internal Concurrent Manager (ICM)
2.Conflict Resolution Manager (CRM)
3. Standard Manager (SM)
ICM
Controls all other CM's.
Main task is to ensure all other CM's are up and running.
It also starts and stops Service Manager's on each node .
It sets the no. of active processes, monitors, restarts and terminates all other conc. processes through requests made to the service manager.
ICM in turn is monitored by Internal Monitor, is responsible for starting the failed ICM in a local node.
IMP: There should be an IMON defined on each node.
CRM
Takes care of resolving the program incompatabilities and checks if a request in a queue can be run in parallel with the running request.
SM
Is always running (24 hours , 365 days ) and can take care of processing any concurrent request.
In case a request has no defined Manager to take care, SM takes care of it.
Starting And Stoping Concurrent Manager
===============================
In Oracle Applications 11i all startup shutdown scripts (let's say control Scripts ) in 11i(11.5.10) are in $OAD_TOP/admin/script/$CONTEXT_NAME where $OAD_TOP is also called as $COMMON_TOP and $CONTEXT_NAME is your SID_hostname.
The script to start/stop concurrent manager is adcmctl.sh where ad is application dba , cm is concurrent manager & ctl means control.
When you run adcmctl.sh it records execution of this command in text file with name adcmctl.txt at directory $COMMON_TOP/admin/log/$CONTEXT_NAME.
Remember adcmctl.sh call's another script "startmgr" which in turn calls "batchmgr" in $FND_TOP/bin and this is actual file which kicks up Internal Concurrent Manager Process (ICM) .
Lets check important parameter in this file
1. DISPLAY Set it to some valid XServer , if this is not set properly your reports display will fail (specially one with PDF or Bar code dislay)
2. DIAG_PARAM Diagnosis parameter it will take value Y or N with default N, If you encounter some error while starting Concurrent Manager you change this to Y and then extra logging will be enabled then check Concurrent Manager log file.
3. CONCSUB stands for CONC(Concurrent) SUB(Submit) , used to submit concurrent request like shut down concurrent manager.
4. SLEEP holds the number of seconds that the manager should wait between checks for new requests.
5. MGRNAME is the name of the manager for locking and log purposes. So you can find if this is icm(Internal Concurrent Manager), sm(Service Manager)
6. RESTART is set to N if the manager should not restart itself after a crash. Otherwise, it is an integer number of minutes. The manager will attempt a restart after an abnormal termination if the past invocation lasted for at least RESTART minutes.
7. PMON is the duration of time between process monitor checks (checks for failed workers). The unit of time is concurrent manager iterations (request table checks). Default Value is 20 .
8. QUESIZ is the duration of time between worker quantity checks (checks for number of active workers). The unit of time is process monitor checks.
Note -> PMON, QUESIZ and SLEEP are important for Concurrent Manager Tuning.
(A)adcmctl.sh
(B)By findinging the FNDLIBR process on the server and Killing the same by issuing Kill -9.
(c)Individual CM's can be deactivated from the Forms using the navigation >
Concurrent > Manager > Administer
(D) Using the CONCSUB utility.
CONCSUB username/passwd SYSADMIN 'system Administrator' SYSADMIN WAIT=Y CONCURRENT FND ABORT
How to find Concurrent Manager Node :
1. SQLPLUS> select node_name from apps.fnd_nodes where support_cp='Y';
2. In context file (SID_hostname.xml ) under $APPL_TOP/admin , check for variable
< oa_var="s_isConc">YES< / TIER_NODE>,
YES means this is Concurrent Manager Node.
3. From Front-end,Check for Administer Concurrent Manager request under SYSADMIN responsibility.
4. From Server , "ps -ef grep FNDLIBR" under application User on all nodes where FND (Foundation) LIBR(Library) is executable.
Posted by
Biswajit
at
12:57 PM
0
comments
Important Tables and Profiles
The most important activities of an Apps DBA are applcation of Patches ( roughly its 50% of the daily work , what an Apps DBA performs ).The other main activity he is envolved in is troubleshooting Concurrent Manager or CM issues.
I have listed some important Tables which as an Apps DBA , need to look for any relevant info. regarding these Task.
Concurrent Manager
--------------------
FND_CONCURRENT_QUEUES
FND_CONCURRENT_PROGRAMS
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_REQUESTS_TL
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_QUEUE_SIZE
FND
------------
FND_APPL_TOPS
FND_LOGINS
FND_USER
FND_NODES
FND_DM_NODES
FND_TNS_ALIASES
FND_RESPONSIBILITY
FND_RESPONSIBILITY_TL
FND_DATABASES
FND_UNSUCCESSFUL_LOGINS
FND_LANGUAGES
FND_APPLICATION
FND_PROFILE_OPTION_VALUES
FND_SVC_COMPONENTS
FND_SVC_COMPONENTS_PARAM_VALS
AD / Patches
---------------------
AD_APPLIED_PATCHES
AD_PATCH_DRIVERS
AD_BUGS
AD_INSTALL_PROCESSES
AD_SESSIONS
AD_APPL_TOPS
Profile Options Useful for DBA
Here is the list of few profile options which Apps DBA use frequently. It is not necessary that you as Apps DBA must know all profile options, all of this depends on your implementation..
Applications Help Web Agent
Applications Servlet Agent
Applications Web Agent
Concurrent: Active Request Limit
Concurrent: Hold Requests
Concurrent: Multiple Time Zones
Concurrent: Report Access Level
Concurrent: Report Copies
Concurrent: Request priority
Database Instance
Enable Security Group
FND: Debug Log Filename
FND: Debug Log Level
Forms Runtime Parameters
Gateway User ID
ICX: Discoverer Launcher
ICX: Forms Launcher
ICX: Report Launcher
ICX: Limit Connect
ICX: Limit time
ICX: Session Timeout
MO Operating Unit
Node Trust Level
RRA: Delete Temporary Files
RRA: Enabled
RRA: Service Prefix
RRA: Maximum Transfer Size
Self Service Personal Home Page Mode
Sign-On: Audit Level
Signon Password Failure Limit
Signon Password Hard to Guess
Signon Password Length
Signon Password No Reuse
Site Name
Socket Listener Port
TCF: Host
TCF: Port
TWO TASK
Viewer: Text
Posted by
Biswajit
at
12:38 PM
0
comments
Flow of Concurrent Request
1. Once a concurrent request is submitted by the user, the table FND_CONCURRENT_Requests is automatically updated by the details of the request.
2. Once the request is scheduled to run, the CM’s checks the FND_CONCURRENT_TABLES to find the request compatibility with any other request.
3. If no incompatibilities found in the check, than request is assigned to the concerned Manager.
Note: If there is any special Manager to take care of the request , then it goes to queue of its manager else the standard Manager takes care of the request.
4. Once the Request is processed, the FND_CONCURRENT_REQUEST table is updated with the status.
5. A conc.request can have many PHASES , when its being processed by the Manager
6. Every Phase has corresponding STATUS.
PHASE 1.Completed
STATUS
Normal : The request completed normally.
Error :The request failed.Check the log file for details about the error.
Warning :Request completed with a warning.Warning is generated when upon completion task don't complete succesfully.
Cancelled :The request was cancelled before it was started.Terminated : When a running request was terminated.
PHASE 2.Running
STATUS
Normal: Request is running normal and no interfere is required.
Paused : Request is waiting for some other request to be finished.(Dependency )
Resuming :Paused request is resuming, this happens when dependent request completes.
Terminating :User or sysadmin chooses to terminate the request.
3.Pending
Normal : Request is waiting for CM.
Standby :Request is incompatible with some other request.CRM needs to resolve this.
Waiting :Dependency of request.
Scheduled :Request is scheduled to run at a point of time in future.
4.Inactive
No Manager : CM is down or No specialzed Manager is defined for this request
Disabled : Conc.Program rquested has not been enabled yet.
On Hold: Pending request has been kept on hold for time being.
Posted by
Biswajit
at
12:04 PM
0
comments
Saturday, August 25, 2007
X server
Configure an X server for Framework applications
To take advantage of the dynamic image generation support Framework applications require access to graphical capabilities on the middle tier. In practical terms this means you need to configure your Webserver to use an X server for dynamic gif generation.
X display servers can be broadly categorized into three groups
1. X display server from the OS Vendor
2. "Headless" X display server without video hardware (Xvfb and VNC )
3. Desktop X display server
Oracle software requires specific X display server settings. Oracle Toolkit, an internal component of Tools 6i, and the Installer orainst , require the following critical parameters to be set for all X display server software:
Option 2: Headless X display server - Xvfb or VNC
"Headless" X display servers provide the same services as the software in Options 1 & 3, however, these servers do not require video adapter hardware nor a monitor. These servers require the same settings for the default visual class, dpi and depth parameters as described in the introduction.
How to install and run Xvfb (X Virtual FrameBuffer)
Get the Xvfb binary. Some URLs are given below; alternatively, Xvfb can also compiled from the Xvfb source code available at http://www.x.org. As of April 2002, Xvfb binaries can be downloaded from these locations:
Solaris - Include with Solaris 9 and later. See Oracle TechNet for Solaris 2.6, 7 and 8
Linux - Included with most Linux distributions. Xvfb is also available as an RPM for RedHat and SUSE or from Xfree86.org
HPUX - HP patch PHSS_25277
AIX - Included with the operating system.
Tru64 - Included with the operating system; usually in /usr/bin/X11
Win32 - Not applicable.
On Solaris, verify that the all dynamically linked libraries can be resolved using the ldd command. On other platforms Xvfb is included with the OS and should already be properly configured:
% ldd Xvfb
This should display a list of resolved libraries as follows:
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libc.so.1 => /usr/lib/libc.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
Get a security policy file
A sample security policy file is included at the end of this document. The file is named SecurityPolicy.
If you have an existing file then add this line to the end of the policy file:
property WM_CHANGE_STATE WM_NAME ar
To run Xvfb use a command with the following format
Xvfb :x -screen 0 6x6x8 -pn -fp
where
x is the desired display number. For instance 1 or 2.
fp points to the directory of the fixed font
sp points to the directory and filename of the security policy file
6x6x8 screen size works well for Reports and Graphics and minimizes the memory required by Xvfb
Set the DISPLAY environment variable to the value :x.0 or your_hostname:x.0 where x is the display number chosen when starting Xvfb. For example in Bourne shell:
DISPLAY=Xvfb_hostname:x.0; export DISPLAY
Start a window manager on the Xvfb display to automatically position windows.
twm &
Posted by
Biswajit
at
6:59 AM
0
comments
Thursday, April 19, 2007
Opatch (utility to apply RDBMS patches)
Opatch Application Steps :
1) Read the patch readme thoroughly and make sure everything is fine. Remember database patches are applied using opatch.
2) Check the invalids and take the object name and count of invalids.
col owner format a15
col object_name format a40
col object_type format a15
select owner,object_type,object_name from dba_objects where status = 'INVALID' order by owner,object_type;
3) Make sure you have the right opatch utility version.
Recent db patches require opatch version is 1.0.0.0.55 or higher
opatch version
Also make sure opatch executable used to apply the patch is in the PATH
export PATH=$PATH:$ORACLE_HOME/OPatch
4) Make sure opatch lsinventory is working for the opatch. If lsinventory is not working then you should not go ahead with opatch. This is the most important step, as most of Opatch issues are related to bad inventory etc.
opatch lsinventory
The possible causes could be inventory is not pointing correctly.(especially in dev and test servers, where you have more than one db sharing the same inventory) then make make sure inventory is pointing to the right path. Inventory location is mentioned in oraInst.loc under db home.
eg /opt/oracle/product/appl
ex Oracle Installer Location File
Location#inventory_loc=/opt/oracle/product/9iAS/oraInventory#inventory_loc=/opt/oracle/product/appl
Note :The OraInventory dir would be in one dir below db home
dir /opt/oracle/product/appl
8) After opatch is done, confirm the inventory is updated with the current patch.This is a confirmation step.
10) start the database and db listener and do the post steps like executing catcpu and other steps as mentioned in the patch readme, take the invalids again and compile them.
syntax for applying opatch on RAC instances is little different.
oraInventory :
oraInventory is repository (directory) which store/records oracle software products & their oracle_homes location on a machine. This Inventory now a days in XML format and called as XML Inventory where as in past it used to be in binary format &
Global Inventory :
Local Inventory:
Can We have multiple Global Inventory on a machine :
If Global Inventory is corrupted
." DIV < cluster_nodes="{}" oracle_home_name="Oracle_Home_Name">
]$<> and make sure the entries in files under ContentsXML has correct db entry.Also note these day's inventory are also known as XML inventory. )
8) After opatch is done, confirm the inventory is updated with the current patch.This is a confirmation step.
10) start the database and db listener and do the post steps like executing catcpu and other steps as mentioned in the patch readme, take the invalids again and compile them.
syntax for applying opatch on RAC instances is little different.
oraInventory :
oraInventory is repository (directory) which store/records oracle software products & their oracle_homes location on a machine. This Inventory now a days in XML format and called as XML Inventory where as in past it used to be in binary format &
Global Inventory :
Local Inventory:
Can We have multiple Global Inventory on a machine :
If Global Inventory is corrupted
." DIV < cluster_nodes="{}" oracle_home_name="Oracle_Home_Name">
Posted by
Biswajit
at
2:45 PM
0
comments
Tuesday, April 17, 2007
RMAN -- Disk channel and tape channel
Disk channel and tape channel – how to associate sbt_tape with rmt0h
If allocate channel for Tape , then synatx will be :
allocate channel t1 device type 'SBT_TAPE' parms="ENV=(NB_ORA_POLICY=ORACLE_napdci28-bac)";or allocate channel t1 type 'SBT_TAPE' parms="ENV=(NB_ORA_POLICY=ORACLE_napdci28-bac)";
If allocate channel for device, then syntax will be :
allocate channel c1 device type disk format '/uo1/orabackup/robprod/robprod_%U';
If allocate channel for maintenace then syntax will be :
allocate channel for maintenace device type sbt;
NOTE: The number of channels that are automatically allocated depends on the default level of parallelism defined.
Configure command:Configuring Channel Default settings :
This configures the default backup/restore device to tape or disk
configure default device type to SBT;
configure default device type to DISK;
Once we have configured a default device type,ORACLE will use the default channel unless we override the default using the backup device type parameter.
Posted by
Biswajit
at
6:01 AM
0
comments
Thursday, April 5, 2007
Login issue resolution
If you can't login to oracle application by clicking on login link ,
check if
--- dbc file location
(wrapper.bin.parameters=- DFND_SECURE=/opt/appldba3/apps/fnd/11.5.0/secure)
as per parameter FND_SECURE (in jserv.properties) is correct.
--- dbc file name in the location specified by DFND_SECURE parameter in Jserv.properties file.
--- APPL_SERVER_ID in dbc file matches with server ID in FND_NODES table against respective Server .
eg.APPL_SERVER_ID=2CD2C25DFDCA80EAE0439C14342A80EA17875142042836050097327698082686
--- GUEST/ORACLE ( this a Application User and NOT DB user ) password is correct & user is not end dated .
--- APPS password is correct in wdbsvr.app file
( under $IAS_ORACLE_HOME/Apache/modplsql/cfg).
--- Check http://hostname.domainnamel:port/pls/$SID and see if package fnd_web can ping & you get output in screen from FND_WEB.ping with correct database_id ( and check if there is correct dbc file in FND_SECURE )
There is JSP tool test to find most of issues via http://host.domain:port/OA_HTML/jsp/fnd/aoljtest.jsp
Apart from this note at metalink which you can refer 342332.1 Troubleshooting Login Problems in Oracle Applications 11i (11.5.2 , 11.5.10+)
Hope this will help in our future issues.
Now let us understand , how an apps login actually takes place.
---------------------------------------------------------------
When user makes a request how request flow across different component in E-Business Suite or Oracle applications .There different Services/Component in Oracle apps these are ,
1. Oracle Web Server ( Apache, Jserv, plssql )
2. IAS_ORACLE_HOME 9iAS, Ver. 102222.
3. Forms Server ( 8.0.6 ) ORACLE_HOME & Report Server ( in side 8.0.6 ORACLE_HOME)
4. Concurrent Manager for Batch or Individual Job Processing
5. Admin Server ( These are used for application dba job like patching , cloning & lot more )
6. Database Server
Let's see how a request flow across different component in E-Business Suite or Oracle applications:
A) So when User makes a request from browser by typing URL
like http:// hostname : port
Here the port number they mention is WebServer Port, this request hit's to Oracle WebServer ( these requests are recorded in logs where wait for next post ).
B) Webserver checks that with http request there is no cookie attached (Cookie is message given by WebServer to Web Browser to identify client) so user is new & it passes login page to User .
C) User types his Username Password in login window & clicks submit button.
D) Webserver checks that username and passwords ( it need's to authenticate against database FND_USER table ), so it needs first some user GUEST/ORACLE to check client's username password in database .
E) Once user is authenticated its check against FND_RESPONSBILITY for Authorization about users responsibilities & assigned responsibilities are presented back to user.
F) Now these responsibilities are of two type Self Services(served by Jserv/Servlets) or Core Applications Server by Forms Server .
G) If this is Core responsibility , Apache transfers request to Forms Listener (Listening on Forms port),
From here request is on Sockets ( on forms servelets depending on forms config. ) which is persistense connection. From here onwards Client talks directly with Forms Server in forms session and if Client requested some data, forms server makes database connection.
( using tnsnames.ora in 806 HOME or using dbc Database Connector file in FND_SECURE_TOP or wdbsvr.apps in Apache/modplsql/cfg )
If User selected Self Service Responsibility like iProcurement, iRecruitement.., Apache forwards request to mod_jserv and request is fullfilled by jserv_component.
Note: why webserver donot ask client to login again until session timeout ??
( its because of cookies as User have valid cookies , try deleting cookies from browser & see Oracle Apache asks you to relogin .)
When your webserver tries to connect to database for plsql or any other type of connection it asks mod_pls to fulfill request but this connection information stored in ( dbc file or wdbsvr.app file )
Posted by
Biswajit
at
2:05 PM
0
comments
DBC file in Oracle Apps
What is a .dbc and a .cfg file?
The .dbc file is mostly used to define database parameters,stands for database connect descriptor file, used to connectto database, it authenticate users against database in FND_USER table.
Let's see how it work's
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
The dbc file is used to set up the connectivity for a given database. Each vendor requires different values to determine the server name, database name, user and password, plus any native options including special instructions for the vendor's client API or utility loader.When you drag an Output Table/Input Table etc. onto the canvas, the DBC file lets the component know where to direct the activity. The DBC file is also the mechanism through which a given table can be accessed and its column definition pulled automatically into the given component's DML definition.
There will be lot of dbc file under $FND_SECURE, how we determine which dbc file to use from $FND_SECURE ?
This value is determined from profile option "Applications Database ID"
Authenication:-
In order to authenticate your user against database in FND_USER table this request is passed from core Apache Module to mod_pls ( plsql) and it uses few files like wdbsvr.app in Apache/modplsql/conf $CONTEXT_NAME.dbc , tnsnames.ora in 806/network/admin/$CONTEXT_NAME , GUEST user & few other file so focus on these files & directories & see what changed recently.
.dbc file in R12 -->the dbc file in R12 is in the new $INSTANCE_TOP
$INST_TOP/appl/fnd/12.0.0/secure or $INSTANCE_TOP/apps/
Last but not the least .cfg is a unix-level file that is fed into a Korn Shell script as an auto-parameter feeder for a parameter-driven shell script. Cfg files are unix-defined where dbc files are AbI-defined.
A Database Connection (DBC) file holds information used by application servers to identify and authenticate with an application database. DBC files must be created on all tiers if it is a multi-tier system.
To recreate DBC file Login to your system as the APPLMGR, ensure that your environment is set correctly by running
Run common_top/admin/install/adgendbc.sh (UNIX)
This will create the DBC file for the current environment instance. Verify log file to check environment, which should be pointing to 806.Location of file is in
DBC file Parameters
Verify dbc file exists and is in the right location. $FND_TOP/secure//
Parameters:
APPL_SERVER_ID APPS_JDBC_DRIVER_TYPE=THIN DB_PORT <> DB_HOST
Note:Make sure environment value specified for DB_HOST is db host not application host.
Optional parameters:
FND_MAX_JDBC_CONNECTIONS
Maximum number of open connections in the JDBC connection cache. This number is dependent on the amount of memory available, the number of processes specified in the init.ora file of the database.
FND_IN_USE_CONNECTION_TIMEOUT
Maximum number of seconds a connection can be in use. In order to avoid connections being locked up for too long, the connection cache uses this parameter to forcibly close connections that have been locked for over this time. If this parameter is unspecified,connections in use will not be cleaned up. This should be set to a number larger than the time taken to complete the largest transaction.It is difficult to estimate and recommendation is not to use this.
FND_UNUSED_CONNECTION_TIMEOUT
Maximum number of seconds an unused connection can remain in the cache. The connection cache will close and remove from the cache any connection that has been idle for longer than this specified limit.
Checking DBC file entries: Check Encrypted String for APPL_SERVER_ID parameter in the DBC file with entry in db using following sql stmt.These should be same.
Log in as apps/
Select server_id,server_address from FND_APPLICATION_SERVERS;
The output server_id should match APPL_SERVER_ID and server_address should match IPADDRESS of db host.
%nslookup
verify hostname above with db_host parameter in dbc file.
Checking db connectivity using DBC file :
------------------------------------------
syntax:
jre -v oracle.apps.fnd.security.AdminAppServer apps/
Output :
Database Server
---------------
DATABASE_ID: *********
AUTHENTICATION: OFF
Application Server
------------------
APPL_SERVER_STATUS: VALID
APPL_SERVER_ID: 2CF3A427AB3AE01EE0439C143428E01E24739190873060609592242102215611
Status return's APPL_SERVER_ID and other db related info. This verifies DBC setup.
Posted by
Biswajit
at
1:54 PM
2
comments
Thursday, March 29, 2007
Oracle Application Server - Intricacies
PL/SQL CARTRIDGE: Runs PL/SQL stored procedures in Oracle databases. It uses a Database Access Descriptor to locatethe database to which to connect. The cartridge can also run files that contain PL/SQL source code; itloads the contents of the file into the database and executes the code. The PL/SQL cartridge comeswith the PL/SQL Web Toolkit, which enables you to get information about the request, specify valuesfor HTTP headers such as the content type and cookies, and generate HTML tags.
JWEB CARTRIDGERuns Java applications: The JWeb cartridge contains a Java Virtual Machine that interprets thebytecodes for the Java application. When you configure the cartridge, you specify where the class filesfor the applications are located.
You can also use the JWeb cartridge to connect to and access data from databases in two differentways:
(1) You can use the pl2java utility, which generates Java methods for procedures and functions in thedatabase. You can then invoke the methods from your Java application just like regular Javamethods;
(2) You can use the JDBC interface, which enables you to execute SQL statements.The JWeb cartridge comes with the JWeb Toolkit, which enables you to get information about therequest, connect to the database, specify values for HTTP headers such as the content type andcookies, and generate HTML tags.
PERL CARTRIDGE Runs : Perl scripts. The Perl cartridge also comes with the oraperl module, which enables you to accessOracle Databases.
SESSIONS SERVICE : The Sessions service allows cartridges to be set up so that successive requests from a particular clientare handled by the same cartridge instance. This allows you to code your cartridge to maintain stateacross requests submitted by a specific client (browser). For example, if you are creating a shoppingcart cartridge, you can enable sessions in the cartridge so that it can remember the items that the clienthas in his shopping cart. Each client would have its own cartridge instance, and cartridge instance datawould not be shared across clients. You can enable and manage sessions in two ways:
1. You can enable sessions for your cartridge using the Oracle Application Server Manager. This iscalled configurable sessions”.
2. You can use the session API to manage sessions. This is called “programmatic sessions”.Programmatic sessions give you more control than configurable sessions.Sessions work with all listeners supported by Oracle Application Server.
CLIENTS : There are three kinds of clients that can use Oracle Application Server:Web browsers-these clients use HTTP to communicate with Oracle Application Server.Java applets-these clients run within web browsers equipped with client ORBs that communicate withthe Oracle Application Server ORB using IIOP.Java applications-these clients also use HTTP to communicate with Oracle Application Server. Butthis communication is limited to JCORBA instantiation and destruction only. To use the JCORBAobjects these clients communicate with the Oracle Application Server ORB directly using IIOP.
DISPATCHERS: A dispatcher manages a pool of cartridge server instances running on one or more nodes; eachcartridge server instance runs one or more cartridge instances. There is one dispatcher associated witheach listener on each node of a web site. When a listener receives an HTTP request that does notidentify a static HTML page or CGI program, it passes the request to its dispatcher, which assigns arequest to a cartridge instance of the appropriate type. This process is described in more detail inRequest Handling below.
REQUEST HANDLING:
Oracle Application Server can handle both HTTP requests from web browser clients, and CORBA/IIOP requests from Java applet and application clients by way of a client ORB.Life Cycle of an HTTP RequestThis diagram shows the sequence of events when a web browser client issues an HTTP request to aserver-side application
HTTP request life cycle.The dispatcher maintains a cache of available cartridge instances for each cartridge. When a requestarrives for a particular cartridge, the dispatcher routes the request to one of its cached cartridgeinstances of the appropriate type.
If the dispatcher has no such cartridge instance available, it requests that the Oracle Application Serverruntime creates a new cartridge server and creates the appropriate cartridge instance within thatcartridge server. The dispatcher then adds this cartridge instance to its cache and assigns the pendingrequest to it. When the request is complete, the new cartridge instance is available to handle a newrequest.
Posted by
Biswajit
at
3:53 AM
0
comments
Thursday, February 15, 2007
Deadlock : The deadly Lock , is it really
Let's understand whats a deadlock
deadlock occurs when two or more users are waiting for data locked by each other. When this happens, these users are stuck (deadly embrased) and cannot continue processing.
Oracle automatically detects deadlocks and resolves them by rolling back one of the statements involved in the deadlock, thus releasing one set of data locked by that statement. The session that is rolled back will observe Oracle error: ORA-00060: deadlock detected while waiting for resource. Oracle will also write out a trace file with detailed information to the database's UDUMP directory.
Deadlocks are mostly caused by explicit locking because Oracle does not do lock escalation; nor use read locks. Multi-table deadlocks can be avoided by locking the tables in same order in all applications, thus preventing a deadlock condition.
Here is an example of how to simulate a deadlock error:
Session 1 lock table EMP:
SQL> UPDATE emp SET sal=sal+100;
14 rows updated.
Session 2 lock table DEPT:
SQL> UPDATE dept SET loc = 'Japan';
4 rows updated.
Session 1 now update DEPT. The session will hang waiting for a lock (not a deadlock yet!):
SQL> UPDATE dept SET loc = 'Japan';
Session 2 now update EMP, causing the deadlock:
SQL> UPDATE emp SET sal=sal+100;
Oracle will detect the deadlock and roll back one of these statements:
SQL> UPDATE emp SET sal=sal+100;
UPDATE emp SET sal=sal+100
*
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource
Other more obscure deadlock situations one needs to be aware of:
1) If you get ORA-60 errors on UPDATE and DELETE statements, where two processes wait for 'S' mode locks on each other's 'TX' enqueues, you are experiencing ITL shortage deadlocks". This cannot happen with INSERT statements, as Oracle doesn't wait on ITL (Interested Transaction List) slots for inserts, it will simply try to insert the row into the next available block.
To fix this, recreate the segment with higher INITTRANS and/or PCTFREE values. This will allow more space in the data blocks for Oracle to allocate more transaction entries (24 bytes at a time) when required.
Note: "ITL waits" can be monitored per segments by querying the sys.v_$segment_statistics view.
2) High transaction activity on tables with bitmap indexes. Bitmap indexes are only appropriate in read only/ read mostly environments. You can try to use a very high INITTRANS value for the bitmap index, however, it would be best to disable the index before heavy transactional activity, and to rebuild it when done.
Posted by
Biswajit
at
10:00 PM
0
comments
Welcome : Apps DBA Forum
Welcome : Apps DBA Forum
It is a resource for Oracle Database Administration professionals to disseminate information regarding DBA/APPS-DBA networking and training related events, Oracle Apps Consultants who have obtained Oracle Financials training and intend to further develop themselves through discussions and support through the internet....common platform to discuss Oracle and Oracle Applications issues from a DBA's perspective.
Posted by
Biswajit
at
9:57 PM
0
comments