Friday, June 22, 2012

How to find the Primary and Secondary node in PCP Configuration of Oracle Apps E-bussiness Suite R12


How to find the Primary and Secondary node in PCP Configuration of Oracle Apps E-bussiness Suite R12:

Hi Apps DBAs,
When we are working with Oracle Apps High Availability Environment where PCP is configured(parallel concurrent processors running on different nodes) it becomes vital to know the primary and secondary nodes in order to bounce the Concurrent managers and manage various programs which we schedule to run using the Primary and Secondary nodes.Below are the steps to know the primary and secondary nodes in PCP setup.

Step 1:
 Navigate to System Administrator =>Concurrent :Manager =>Define (form page)

Step 2:
As form page opens press f11 key  to open the form in Query mode,In Query mode
Type the Manager =>Internal Manager

Step 3:
Now press control + f11 keys to see the below form page which actually gives details of primary
And Secondary node in PCP Configuration

Hope it helps...

Happy Apps DBA learning


Best regards,
Rafi.

Monday, May 28, 2012

Bouncing the Oracle Applications in Multi-node environment Configured with LOAD BALANCING,SHARED_APPL TOP and RAC setup


Hi DBAs,
Below are the steps to Bounce the Oracle Applications in SHARED_APPL TOP environment:

Consider we have the application  APPS_TESTAPPS.

Note:This is done in Oracle EBS R12 Environment where we have $ADMIN_SCRIPTS_HOME a common place where you find all the start and stop scripts .

Step1)Stopping the apps listener on node1 and node2
==========================================================
 
a) stop apps listener on node1:

=>APPS_TESTAPPS
node1/product/app/TESTAPPS/inst/apps/TESTAPPS1_node1/admin/scripts >./adalnctl.sh stop

adalnctl.sh version 120.3

Shutting down listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_node1/logs/appl/admin/log/adalnctl.txt for more information ...

b)Stop apps listener on node2:

node2 /product/app/TESTAPPS/inst/apps/TESTAPPS1_node2/admin/scripts >./adalnctl.sh stop

adalnctl.sh version 120.3

Shutting down listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_node2/logs/appl/admin/log/adalnctl.txt for more information .


Step 2:We stop all the Middle tier or Oracle applications service on node1....
==============================================================================

node1/product/app/TESTAPPS/inst/apps/TESTAPPS1_node1/admin/scripts >./adstpall.sh

Step 3:We stop all the Middle tier or Oracle applications service on node2....
==========================================================================

node2/product/app/TESTAPPS/inst/apps/TESTAPPS2_node2/admin/scripts >./adstpall.sh


step 4): Kill all processes by finding the TESTAPPS processes:
==============================================================

node 1:
ps -ef|grep TESTAPPS

kill -9 pid.

node 2:
ps-ef|grep TESTAPPS

kill -9 pid


Step 5: Start apps listener on node1 and node2
================================================


Node 1:
 node1/product/app/TESTAPPS/inst/apps/TESTAPPS1_node1/admin/scripts >./adalnctl.sh start

adalnctl.sh version 120.3

Checking for FNDFS executable.
Starting listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_node1/logs/appl/admin/log/adalnctl.txt for more information ...

Node 2:

node2 /product/app/TESTAPPS/inst/apps/TESTAPPS1_node2/admin/scripts >./adalnctl.sh start

adalnctl.sh version 120.3

Checking for FNDFS executable.
Starting listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_node2/logs/appl/admin/log/adalnctl.txt for more information ...

If we have started the concurrent managers from the primary node,than make sure they are up on both the nodes and rename the adcmctl.sh script on both the primary and secondary nodes as adcmctl_bk.sh.Now start the middle Tier applications on both the nodes.


Step 6:Start all the middle Tier or Oracle Applications from node1.....
======================================================================================



node1/product/app/TESTAPPS/inst/apps/TESTAPPS1_node1/admin/scripts >./adstrall.sh

Step 7:Start all the middle Tier or Oracle Applications from node2.....
======================================================================================



node2/product/app/TESTAPPS/inst/apps/TESTAPPS2_node1/admin/scripts >./adstrall.sh

Step 8:Verify the applications of TESTAPPS started on both the nodes.
=======================================================


Node 1:

ps -ef|grep TESTAPPS

Node 2:

ps -ef|grep TESTAPPS

Hope it helps...

Enjoy Apps DBA learning....



Best regards,

Rafi.









Starting and Stopping Concurrent Managers in PCP Environment

     Hi DBAs,
Below are the steps to Bounce the Concurrent Managers in the PCP(Parallel Concurrent Processing) Environment.Important point to note is we can start all the concurrent Managers running on different nodes from  the node which is primary node and not required to start on both nodes to avoid the situation of failover.In below environment node1 is the primary node of PCP setup.

Note:How to check the primary node in PCP setup given in below link:
http://www.blogger.com/blogger.g?blogID=8370545678641066072#editor/target=post;postID=6995260641016133607

step1)Stopping the apps listener on node1(Node1):
===========================================================



a) stop apps listener
=>APPS_TESTAPPS
Node1 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/admin/scripts >./adalnctl.sh stop

adalnctl.sh version 120.3

Shutting down listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/logs/appl/admin/log/adalnctl.txt for more information ...


b)Stop apps listener on node2(Node2)

Node2 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node2/admin/scripts >./adalnctl.sh stop

adalnctl.sh version 120.3

Shutting down listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node2/logs/appl/admin/log/adalnctl.txt for more information ...

step 2)Stop the apps concurrent manager
========================================

adcmctl.sh stop

 Node1 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/admin/scripts >./adcmctl.sh stop

You are running adcmctl.sh version 120.17.12010000.5


Enter the APPS username : APPS

Enter the APPS password :
Shutting down concurrent managers for TESTAPPS_CM2 ...
ORACLE Password:
Submitted request 2532852 for CONCURRENT FND SHUTDOWN


adcmctl.sh: exiting with status 0


adcmctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/logs/appl/admin/log/adcmctl.txt for more information ...


step 3): Kill all processes by finding the concurrent processes:
=====================================================================


ps -ef|grep FNDLIBR|grep appstest

kill -9 pid...


Step 4: Start apps listener on node1 and node2
=====================================================


Node 1:
-------------
 Node1 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/admin/scripts >./adalnctl.sh start

adalnctl.sh version 120.3

Checking for FNDFS executable.
Starting listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/logs/appl/admin/log/adalnctl.txt for more information ...

Node 2:
--------

Node2 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node2/admin/scripts >./adalnctl.sh start

adalnctl.sh version 120.3

Checking for FNDFS executable.
Starting listener process APPS_TESTAPPS.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node2/logs/appl/admin/log/adalnctl.txt for more information ...


Step 5:Start the concurrent manager on any one node....
=========================================================



Node1 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/admin/scripts >./adcmctl.sh start

You are running adcmctl.sh version 120.17.12010000.5


Enter the APPS username : APPS

Enter the APPS password :
Starting concurrent manager for TESTAPPS_CM2 ...
Starting TESTAPPS_0216@TESTAPPS_CM2 Internal Concurrent Manager
Default printer is noprint

adcmctl.sh: exiting with status 0


adcmctl.sh: check the logfile /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/logs/appl/admin/log/adcmctl.txt for more information ...

 Node1 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/admin/scripts >ps -eaf|grep FNDLIBR
  appstest 18179 18170   0 04:46:03 pts/12      0:00 FNDLIBR FND CPMGR FNDCPMBR sysmgr="" sleep=30 pmon=4 quesiz=1 diag=N logfile=/p
  appstest 18280 16419   0 04:46:25 pts/12      0:00 grep FNDLIBR
 Node1 /product/app/TESTAPPS/inst/apps/TESTAPPS1_Node1/admin/scripts >ps -eaf|grep FNDSM
  applqb 15336     1   0   Feb 12 ?           0:04 FNDSM
  appstest 18556 16419   0 04:46:50 pts/12      0:00 grep FNDSM
  appstest 18554 18179   0 04:46:50 pts/12      0:00 tnsping FNDSM_Node2_TESTAPPS

 Note:If any services is already started and if you try to start again,
we will get message status code 2 message and if it start successfully in first attempt
 we will see status code 0,there is no harm in trying to start the services which are already running but please verify the services and Check EBS home page by login as 'SYSADMIN' and check all the managers are up & running and Concurrent Processing Server is up & runing on both the node.

Step 6:Verify on both the nodes:
==========================

Node 1:
$ps -ef|grep FNDLIBR|grep appstest



Node 2:
$ps -ef|grep FNDLIBR|grep appstest

 If it shows the processes related with appstest,than Concurrent Managers are running on both the nodes in the PCP setup.


Hope it helps...

Enjoy Apps DBA learning...

Best regards,
Rafi.

Saturday, April 7, 2012

What is the importance of executing orainstRoot.sh and root.sh scripts in Oracle Standalone and RAC environment?

Hi,
As a part of post installation steps,we execute two scripts 'orainstRoot.sh' and 'root.sh' scripts and Oracle also suggest to backup the 'orainstRoot.sh' and 'root.sh' scripts.These two scripts we should execute as 'root' user as it displays after the Oracle software installation completes.

 Executing orainstRoot.sh script:
==================================


[oracle@localhost oraInventory]$ su
Password:
[root@localhost oraInventory]# pwd
/u02/app/oraInventory
[root@localhost oraInventory]# ls -ltr
total 28
drwxrwx--- 2 oracle oinstall 4096 Sep  4 07:09 logs
-rw-rw---- 1 oracle oinstall  293 Sep  4 07:09 oraInstaller.properties
drwxrwx--- 2 oracle oinstall 4096 Sep  4 07:09 oui
-rw-rw---- 1 oracle oinstall   37 Sep  4 07:29 install.platform
drwxrwx--- 2 oracle oinstall 4096 Sep  4 07:29 ContentsXML
-rwxrwx--- 1 oracle oinstall 1623 Sep  4 07:29 orainstRoot.sh
-rw-rw---- 1 oracle oinstall   56 Sep  4 07:29 oraInst.loc
[root@localhost oraInventory]# pwd
/u02/app/oraInventory
[root@localhost oraInventory]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),103(pkcs11)
[root@localhost oraInventory]# ./orainstRoot.sh
Changing permissions of /u02/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u02/app/oraInventory to oinstall.
The execution of the script is complete.
[root@localhost oraInventory]# cd ..
[root@localhost app]# pwd
/u02/app

Importance of running 'orainstRoot.sh' script:
The first Script that we run is 'orainstRoot.sh' which is located in $ORACLE_BASE/oraInventory(/u01/app/oracle/oraInventory) path.We execute 'orainstRoot.sh' script for the following purposes:

1)It creates the inventory pointer file (/etc/oraInst.loc),This file shows the inventory location and group it is linked to.
2)It Changes groupname of the oraInventory directory to oinstall group.

 Executing root.sh script:
=========================

[root@localhost app]# cd oracle/product/11.2.0/dbhome_1/
[root@localhost dbhome_1]# pwd
/u02/app/oracle/product/11.2.0/dbhome_1
[root@localhost dbhome_1]# ls -altr root.sh
-rwxr-x--- 1 oracle oinstall 518 Sep  4 07:24 root.sh
[root@localhost dbhome_1]# ./root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u02/app/oracle/product/11.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

Importance of running 'root.sh' script:

The Second script that we run is 'root.sh' script which is located in $ORACLE_HOME (/u01/app/oracle/product/11.2.0/db_1) path.We execute 'root.sh' for the following purposes:

1)It will Creates a /etc/oratab file.This is the file which we use to make automatic Database shutdown and startup.
It is very important file.
2)It Sets the Oracle base and home environments.
3)It Sets an appropriate permission to the OCR base directory
4)It Creates the OCR backup and Network Socket directories.
5)It Modifies the ownership to 'root' user on the Oracle base and Cluster home filesystem.
6)It Configures the OCR and voting disks (only on the first node)
7)It Starts the Clusterware daemons.
8)It adds Clusterware daemons to the inittab file.
9)It Verifies whether the Clusterware is up on all nodes.
10)On the last node, initiates ./vipca in silent mode to configure nodeapps,
such as, GSD, VIP, and ONS for all the nodes.
11)It verifies the super user privileges.
12)It Creates a trace directory.The 'trace' directory is again very vital for generating trace file to keep a track on user sessions in case of any error,troubleshooting and diagnosis purpose.
13)It Generates OCR keys for the 'root' user.
14)It Adds daemon information to the inittab file
15)Starts up the Oracle High Availability Service Daemon (OHASD) process.
16)Creates and configures an ASM instance and starts up the instance.
17)Creates required ASM disk groups, if ASM is being used to put OCR and voting files.
18)Starts up the Cluster Ready Service Daemon (CRSD) process
19)Creates the voting disk file.
20)It Puts the voting disk on the Voting disk,if ASM type is selected.
21)It Displays voting disk details
22)Stops and restarts a cluster stack and other cluster resources on the local node
23)Backs up the OCR to a default location
24)It Installs the cvuqdisk-1.0.7-1 package
25)It Updates the Oracle inventory file.
26)Completes with the UpdateNodeList success operation.

When 'root.sh' is executed on the last node of the cluster,the following set of actions
are likely to be performed by the script:
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.
12)Completes with UpdateNodeList success operation.




Hope it helps....

Enjoy Oracle DBA learning....


Best regards,

Rafi.

Tuesday, April 3, 2012

Deleting concurrent program,migration of Concurrent program and Adding of Concurrent program to request group from back-end.

Hi,
Apps DBA do lot of System administration tasks from Front end E-business suite,but some times we can also do from backend like below:


1.Concurrent program clear script:

begin
apps.fnd_program.delete_program('TESTAPP_PMT_PROCESS','TESTAPP');
commit;
end;
/

2.Migrate the Concurrent program LDT from APP1 to APP2 :

Download APP1:
FNDLOAD apps/apps_password O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_TESTAPP_pmt_process.ldt PROGRAM APPLICATION_SHORT_NAME="TESTAPP" CONCURRENT_PROGRAM_NAME="TESTAPP_PMT_PROCESS"

Upload APP2:
FNDLOAD apps/apps_password O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_TESTAPP_pmt_process.ldt


3.Add ‘TESTAPP: PMT – Process’ to ‘TESTAPP Custom Request Group’ request group:

Following piece of code is used for adding Concurrent program to any request group from Pl/SQL:

SQL> SELECT NAME FROM V$DATABASE;

NAME
---------
TESTAPP

SQL> show user
USER is "APPS"

SQL> DECLARE
     BEGIN
     FND_PROGRAM.add_to_group
        (
        PROGRAM_SHORT_NAME  =>'TESTAPP: PMT – Process'
       ,PROGRAM_APPLICATION =>'TESTAPP: PMT'
       ,REQUEST_GROUP       =>'TESTAPP Custom Request Group'
       ,GROUP_APPLICATION   =>'TESTAPP Custom'
       ) ;
      commit;
    exception
      when others then
             dbms_output.put_line('Request Already exixts in this request group');
   END ;
    /

PL/SQL procedure successfully completed.

Hope it helps....

Enjoy Apps DBA learning...

Best regards,

Rafi.

Sunday, March 25, 2012

Oracle ASM Queries for DBA

The GV$ASM views,Automatic Storage Management views are very important to gather asm structure and components related details of Oracle ASM,I find some time to have the queries which will help to gather all details with regards to Oracle ASM.

Below are some dynamic views and queries for knowing Oracle asm structure and components details:


SQL> SELECT *FROM V$VERSION;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for Solaris: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

SQL> SELECT TABLE_NAME FROM DICT WHERE TABLE_NAME LIKE '%ASM%';

TABLE_NAME
------------------------------
V$ASM_ACFSSNAPSHOTS
V$ASM_ACFSVOLUMES
V$ASM_ALIAS
V$ASM_ATTRIBUTE
V$ASM_CLIENT
V$ASM_DISK
V$ASM_DISKGROUP
V$ASM_DISKGROUP_STAT
V$ASM_DISK_IOSTAT
V$ASM_DISK_STAT
V$ASM_FILE

TABLE_NAME
------------------------------
V$ASM_FILESYSTEM
V$ASM_OPERATION
V$ASM_TEMPLATE
V$ASM_USER
V$ASM_USERGROUP
V$ASM_USERGROUP_MEMBER
V$ASM_VOLUME
V$ASM_VOLUME_STAT
GV$ASM_ACFSSNAPSHOTS
GV$ASM_ACFSVOLUMES
GV$ASM_ALIAS

TABLE_NAME
------------------------------
GV$ASM_ATTRIBUTE
GV$ASM_CLIENT
GV$ASM_DISK
GV$ASM_DISKGROUP
GV$ASM_DISKGROUP_STAT
GV$ASM_DISK_IOSTAT
GV$ASM_DISK_STAT
GV$ASM_FILE
GV$ASM_FILESYSTEM
GV$ASM_OPERATION
GV$ASM_TEMPLATE

TABLE_NAME
------------------------------
GV$ASM_USER
GV$ASM_USERGROUP
GV$ASM_USERGROUP_MEMBER
GV$ASM_VOLUME
GV$ASM_VOLUME_STAT

38 rows selected.


1)GV$ASM_DISKGROUP:
This view displays asm instances related details along with one row for every ASM diskgroup discovered by the ASM instance on the node.

SQL> SELECT INST_ID||' '||NAME ||' '||STATE||' '||TOTAL_MB||' '||FREE_MB
FROM GV$ASM_DISKGROUP;

INST_ID||''||NAME||''||STATE||''||TOTAL_MB||''||FREE_MB
--------------------------------------------------------------------------------
2 GRID_DATA_01 MOUNTED 12084 11152
2 TESTASMDB_REDO_01 CONNECTED 65296 40504
2 TESTASMDB_REDO_02 CONNECTED 65296 40504
2 TESTASMDB_FRA_01 CONNECTED 261872 142831
2 TESTASMDB_DATA_01 CONNECTED 1048016 59453
1 GRID_DATA_01 MOUNTED 12084 11152
1 TESTASMDB_DATA_01 CONNECTED 1048016 59453
1 TESTASMDB_FRA_01 CONNECTED 261872 142831
1 TESTASMDB_REDO_01 CONNECTED 65296 40504
1 TESTASMDB_REDO_02 CONNECTED 65296 40504

2)GV$ASM_ALIAS:
This view displays all system and user-defined aliases.
There is one row for every alias present in every diskgroup mounted by the ASM instance. The RDBMS instance displays no rows in this view.


SQL> SELECT INST_ID||''||NAME||''||FILE_NUMBER||''||ALIAS_DIRECTORY
FROM GV$ASM_ALIAS;


INST_ID||''||NAME||''||FILE_NUMBER||''||ALIAS_DIRECTORY
--------------------------------------------------------------------------------
2 USERS.323.750185521 323 N
2 ASMWORK.320.750263763 320 N
2 ASMMASTER.319.750263765 319 N
2 UNDOTBS3.306.768750281 306 N
2 TEMPFILE 4294967295 Y
2 TEMP.325.750185505 325 N

3)GV$ASM_ATTRIBUTE:
This Oracle Database 11g view displays one row for each ASM attribute defined.
These attributes are listed when they are defined in CREATE DISKGROUP or ALTER DISKGROUP statements. DISK_REPAIR_TIMER is an example of an attribute.

SQL> SELECT INST_ID||' '||NAME||' '|| GROUP_NUMBER
FROM GV$ASM_ATTRIBUTE;

no rows selected

4)GV$ASM_CLIENT:
This view displays one row for each RDBMS instance that has an opened ASM diskgroup.

SQL> SELECT INST_ID||' '||INSTANCE_NAME||' '||DB_NAME||' '||STATUS
FROM GV$ASM_CLIENT;

INST_ID||''||INSTANCE_NAME||''||DB_NAME||''||STATUS
--------------------------------------------------------------------------------
1 +ASM1 TESTASMDB CONNECTED
1 +ASM1 TESTASMDB CONNECTED
1 +ASM1 TESTASMDB CONNECTED
1 +ASM1 TESTASMDB CONNECTED
2 +ASM2 TESTASMDB CONNECTED
2 +ASM2 TESTASMDB CONNECTED
2 +ASM2 TESTASMDB CONNECTED
2 +ASM2 TESTASMDB CONNECTED



5)GV$ASM_DISK:
This view contains specifics about all disks discovered by the ASM isntance,
including mount status, disk state, and size.There is one row for every disk discovered by the ASM instance.


SQL> SELECT INST_ID||' '||STATE||' '||TOTAL_MB||' '||FREE_MB||' '||NAME
FROM GV$ASM_DISK;

INST_ID||''||STATE||''||TOTAL_MB||''||FREE_MB||''||NAME
--------------------------------------------------------------------------------
2 NORMAL 2014 1843 GRID_DATA_01_0000
2 NORMAL 2014 1844 GRID_DATA_01_0001
2 NORMAL 2014 1843 GRID_DATA_01_0002
2 NORMAL 2014 1878 GRID_DATA_01_0003
2 NORMAL 2014 1875 GRID_DATA_01_0004
2 NORMAL 2014 1869 GRID_DATA_01_0005
2 NORMAL 8162 5063 TESTASMDB_REDO_01_0000
2 NORMAL 8162 5061 TESTASMDB_REDO_01_0001
2 NORMAL 8162 5065 TESTASMDB_REDO_01_0002

6)GV$ASM_DISK_IOSTAT:
This displays information about disk I/O statistics for each ASM Client. If this view is queried from the database instance, only the rows for that instance are shown.

SQL> SELECT INST_ID||' '||INSTNAME||' '||DBNAME||' '||GROUP_NUMBER||' '||DISK_NUMBER||' '||READS||' '||WRITES||' '||READ_TIME||' '||WRITE_TIME
FROM GV$ASM_DISK_IOSTAT;

7)GV$ASM_DISK_STAT:
This view contains similar content as the v$ASM_DISK, except v$ASM_DISK_STAT reads disk information from cache and thus performs no disk discovery.
Thsi view is primarily used form quick acces to the disk information without the overhead of disk discovery.

8)GV$ASM_DISKGROUP_STAT:
This view contains all the similar view contents as the v$ASM_DISKGROUP,
except that v$ASM_DISK_STAT reads disk information from the cache and thus performs no disk discovery.
This view is primarily used for quick access to the diskgroup information without the overhead of disk discovery.


SQL> SELECT INST_ID||' '||NAME||' '||ALLOCATION_UNIT_SIZE||' '||STATE||' '||TOTAL_MB||' '||FREE_MB
FROM GV$ASM_DISKGROUP_STAT;

INST_ID||''||NAME||''||ALLOCATION_UNIT_SIZE||''||STATE||''||TOTAL_MB||''||FREE_M
--------------------------------------------------------------------------------
1 GRID_DATA_01 1048576 MOUNTED 12084 11152
1 TESTASMDB_DATA_01 1048576 CONNECTED 1048016 59453
1 TESTASMDB_FRA_01 1048576 CONNECTED 261872 142831
1 TESTASMDB_REDO_01 1048576 CONNECTED 65296 40504
1 TESTASMDB_REDO_02 1048576 CONNECTED 65296 40504
2 GRID_DATA_01 1048576 MOUNTED 12084 11152
2 TESTASMDB_REDO_01 1048576 CONNECTED 65296 40504
2 TESTASMDB_REDO_02 1048576 CONNECTED 65296 40504
2 TESTASMDB_FRA_01 1048576 CONNECTED 261872 142831
2 TESTASMDB_DATA_01 1048576 CONNECTED 1048016 59453

10 rows selected.

9)GV$ASM_FILE:
This view displays information about ASM files.
There is one row for every ASM file in every diskgroup mounted by the ASM instance. In a RDBMS instance, V$ASM_FILE displays no row.


SELECT INST_ID||''||FILE_NUMBER||''||BLOCK_SIZE||''||CREATION_DATE||''||REDUNDANCY
FROM GV$ASM_FILE;

INST_ID||''||FILE_NUMBER||''||BLOCK_SIZE||''||CREATION_DATE||''||REDUNDANCY
--------------------------------------------------------------------------------
1 335 512 17-MAR-12 UNPROT
1 336 512 15-MAR-12 UNPROT
1 337 512 15-MAR-12 UNPROT
1 339 512 18-MAR-12 UNPROT
1 340 512 23-MAR-12 UNPROT

10)GV$ASM_OPERATION:
This view describes the progress of an influx ASM rebalance operation.
In a RDBMS instance,GV$ASM_OPERATION displays no rows.

SQL> SELECT INST_ID||' '||OPERATION||' '||STATE||' '||POWER||' '||ACTUAL||' '||SOFAR
FROM GV$ASM_OPERATION;

11)GV$ASM_TEMPLATE:
This view contains information on user and system-defined templated.
GV$ASM_TEMPLATE displays one row for every template present in every diskgroup mounted by the ASM instance.
In a RDBMS instance,GV$ASM_TEMPLATE displays one row for every template present in every diskgroup mounted by the ASM instance with which the RDBMS instance communicates.

SQL> SELECT INST_ID||''||GROUP_NUMBER||''||STRIPE||''||SYSTEM
FROM GV$ASM_TEMPLATE;


SQL> SELECT FS_NAME||' '||VOL_DEVICE||' '||SNAP_NAME||' '||CREATE_TIME
FROM V$ASM_ACFSSNAPSHOTS;

no rows selected


Enjoy Oracle ASM learning........

Best regards,

Rafi

Wednesday, March 7, 2012

How FNDLOAD Utility is useful for Oracle Apps DBA

Hi,
FNDLOAD(Generic Loader) utility is very useful for Apps DBA.Let us try to understand how it works and how we can utilize this utility well.

Understanding FNDLOAD utility:
The Generic Loader (FNDLOAD) is a concurrent program that can download data from an application entity into a portable,editable text file. This file can then be uploaded into any other database to copy the data.
Data structures supported by the Loader include master- detail relationships and foreign key relationships.
FNDLOAD uses script to ensure consistent migration of objects within Oracle Applications

FNDLOAD utility Modes of Operation:

The FNDLOAD(Generic Loader) utility operates in 2 modes:
1)Download mode or
2)Upload mode
In the download mode data is downloaded from a database according to a configuration (.lct) file and then converts the data into a Data (.ldt) file. This data file can be uploaded to a different database.In both downloading and uploading, the structure of the data involved is described by a configuration file.
The configuration file describes the structure of the data and also the access methods use to copy the data into or out of the database.
The same configuration file may be used for both uploading and downloading.
When downloading,the Generic Loader creates a second file, called the data file that contains the structured data selected for downloading.
The data file has a standard syntax for representing the data that has been downloaded.

When uploading,the Generic Loader reads a data file to get the data that it is to upload.In most cases, the data file was produced by a previous download, but may have come from another source.
The data file cannot be interpreted without the corresponding configuration file available.


FNDLOAD utility syntax:

DOWNLOAD COMMAND SYNTAX:

FNDLOAD 0 Y DOWNLOAD <${FND_TOP}/patch/115/import/

UPLOAD COMMAND SYNTAX:

FNDLOAD 0 Y UPLOAD <${FND_TOP}/patch/115/import/

FNDLOAD Usage Details:

FNDLOAD can be used to migrate the following system administrator objects between instances
1.Printer Styles
2.Lookup Types and codes
3.Descriptive Flexfield (DFF)
4.Key Flexfield (KFF)
5.Concurrent programs with the parameters
6.Request Sets (when the programs are not triggered based on success)
7.Value Sets and Value set Values
8.Profiles
9.Request Groups
10.Responsibilities
11.Forms
12.Functions
13.Menus
14.Messages

Merits of FNDLOAD utility:

1.Need to maintain a baseline environment (Source for Clone) and update it on a regular basis
2.Base environment can have issues and the cloning strategy made totally ineffective. In such a case every new environment created will have to be updated with a lot of changes
3.Cloning /Refresh not possible in short intervals
4.Selective replication of setups and AOL objects not possible with cloning
5.Environments not delivered as per timeline and affecting the Testing schedules
6.Manually maintaining Environments at different level of configuration is tedious
7.Time consuming to manually update multiple environment with defect fixes and error prone
8.FNDLOAD is fully supported and recommended by Oracle for migration of FND objects. Requires 0 learning curve and 0 investment.

Demerits of FNDLOAD utility:


1.This utility can be only used for FND (System administrator) objects only.
2.Application Patching mechanisms use FNDLOAD heavily. There is a possibility of negative impact.
3.There is no validation of sensitive data that is being migrated by the FNDLOAD tool itself.

Examples of FNDLOAD utility:

Download: FNDLOAD apps/$pwd O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct lookup_techops_aris.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="CN" LOOKUP_TYPE="XXTEST_TECHOPS_ARIS_SITES"

Download: FNDLOAD apps/$pwd O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct lookup_techops_points.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="CN" LOOKUP_TYPE="XXTEST_TECHOPS_POINTS_SITES"

Download: FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_XXTEST_techops_points_procedure.ldt PROGRAM APPLICATION_SHORT_NAME="XXTEST" CONCURRENT_PROGRAM_NAME="XXTEST_TECHOPS_POINTS_PRCS_EAST"

Download: FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_XXTEST_techops_points_load.ldt PROGRAM APPLICATION_SHORT_NAME="XXTEST" CONCURRENT_PROGRAM_NAME="XXTEST_TECHOPS_POINTS_EAST_LOAD"

Download: FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_XXTEST_techops_points_load.ldt PROGRAM APPLICATION_SHORT_NAME="XXTEST" CONCURRENT_PROGRAM_NAME="XXTEST_TECHOPS_POINTS_MW_LOAD"

Download: FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_XXTEST_techops_mttr_load.ldt PROGRAM APPLICATION_SHORT_NAME="XXTEST" CONCURRENT_PROGRAM_NAME="XXTEST_TECHOPS_MTTR_LOAD"

Download: FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_XXTEST_techops_mttr_process.ldt PROGRAM APPLICATION_SHORT_NAME="XXTEST" CONCURRENT_PROGRAM_NAME="XXTEST_TECHOPS_MTTR_DATA_PROCES"


Upload: FNDLOAD apps/$pwd O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct lookup_techops_aris.ldt

Upload: FNDLOAD apps/$pwd O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct lookup_techops_points.ldt

Upload: FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_xxtest_techops_points_procedure.ldt

Upload: FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_xxtest_techops_points_load.ldt

Upload: FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_xxtest_techops_points_load.ldt

Upload: FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_xxtest_techops_mttr_load.ldt

Upload: FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct concprg_xxtest_techops_mttr_process.ldt


Enjoy and Happy Oracle Apps DBA learning.

Hope it helps...


Best regards,

Rafi.