Sunday, July 8, 2012

Thanks for following my blog


Dear All,
Thanks for following my blog.My followers list crossed 100,thanks for showing the keen interest.This blog
is  covering technical details on Oracle DBA,Apps DBA  and in future you will be seeing more on PeopleSoft Administration stuffs.

My interest areas are Apps and RAC,but I have lot of interest in all the areas of Oracle technologies like Performance Tuning,SOA,weblogic,Designing,Business Intelligence,Data Integration  and now PeopleSoft Administration.If you are preparing for interviews for Oracle DBA,Apps DBA and PeopleSoft DBA,this blog will act as Catalyst.I like blogging on Oracle stuffs as I always believe knowlege grows when it is shared.Keeping the focus on interview patterns in mind I  always try to share most frequently asked question and the way we can answer them and we should always focus more on learning and practice of Oracle Stuffs,than we can cover the interview questions and answers.


I wish all of you for your successful Oracle Carrier ahead,remember "Dreams are not those you see while you are sleeping,dreams are those that don't let you sleep".


Best regards,

Rafi.

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