Showing posts with label Unix. Show all posts
Showing posts with label Unix. Show all posts

Thursday, November 25, 2010

Add ASM Disk and check if Standby is recovering

##command to check provisioned disk ##
SQL> select 'ALTER DISKGROUP ADD DISK ''ORCL:'||label
||''''||' SIZE '||total_mb||' M;' gen_statement
from v$asm_disk
where header_status in ('PROVISIONED', 'CANDIDATE', 'FORMER')
order by 1;
2 3 4 5
GEN_STATEMENT
----------------------------------------------------------------------------------------------------------------------------
ALTER DISKGROUP ADD DISK 'ORCL:ASM34' SIZE 92952 M;
ALTER DISKGROUP ADD DISK 'ORCL:ASM35' SIZE 92952 M;
ALTER DISKGROUP ADD DISK 'ORCL:ASM36' SIZE 92952 M;



##command to add ##
ALTER DISKGROUP DATA01 ADD DISK 'ORCL:ASM34' SIZE 92952 M;

## Check ASM Disk group sizes ##

SQL> select TOTAL_MB,FREE_MB,USABLE_FILE_MB,NAME from V$asm_diskgroup;

pztbw_uxusnorw400_XPT.cargill.com
Archived Redo Log
TOTAL_MB FREE_MB USABLE_FILE_MB File Name
---------- ---------- -------------- -------------------------
2788560 92749 92749 DATA01
92952 7909 7909 MIRROR01
92952 5945 5945 ONLINE01
185904 33449 33449 RECOVER01




SQL> select TOTAL_MB,FREE_MB,USABLE_FILE_MB,NAME from V$asm_diskgroup
2 ;

TOTAL_MB FREE_MB USABLE_FILE_MB NAME
---------- ---------- -------------- ------------------------------
3067416 212906 212906 DATA01
92952 21164 21164 MIRROR01
92952 43453 43453 ONLINE01
371808 114877 114877 RECOVER01



## Command to start up recovery process ##
SQL> recover managed standby database using current logfile disconnect;
Media recovery complete.

## Check if MRP# is up and running ##
$> ps -ef | grep mrp | grep oracle

oracle 10248 16867 0 21:28 pts/2 00:00:00 grep mrp
oracle 29268 1 0 Nov16 ? 00:07:42 ora_mrp0_eminus

Sunday, August 09, 2009

Unix/Linux script to check Oracle standby database

#!/bin/ksh
#Author: Emmanuel CaseƱas
#Note: this will give you a wealth of information for your standby database
################################################################################

$ORACLE_HOME/bin/sqlplus -s '/ as sysdba'<set lines 200 pages 2000
select * from v\$archive_gap;
select maX(sequence#),applied,registrar from V\$archived_log group by applied,registrar;
select PROCESS,PID,SEQUENCE#,BLOCK#,BLOCKS,STATUS from v\$managed_standby;
select NAME,DATABASE_ROLE,PROTECTION_MODE,PROTECTION_LEVEL,SWITCHOVER_STATUS from V\$database;
SELECT le.leseq "Current log sequence No",
100*cp.cpodr_bno/le.lesiz "Percent Full",
cp.cpodr_bno "Current Block No",
le.lesiz "Size of Log in Blocks"
FROM x\$kcccp cp, x\$kccle le
WHERE le.leseq =CP.cpodr_seq
AND bitand(le.leflg,24) = 8;
archive log list
exit
!
bd=`echo ${CLUSTER_HOME}/admin/${SID}/bdump`
ll=`grep "^Media Recovery Log" $bd/al*.log | tail -1 |awk -F"/" '{print $NF}'`
lw=`grep "^Media Recovery Waiting for" $bd/al*.log | tail -1 | awk '{print $NF}'`
echo "Latest Log Applied: $ll"
echo "Waiting for Log: $lw"