Showing posts with label Diskgroup. Show all posts
Showing posts with label Diskgroup. Show all posts
Tuesday, October 14, 2014
Script to Find Unopened files in ASM
Find Unopened files in ASM
set pagesize 0
set linesize 200
col full_alias_path format a80
select * from (
select x.gnum,x.filnum,x.full_alias_path,f.ftype from (
SELECT gnum,filnum,concat('+'||gname, sys_connect_by_path(aname, '/')) full_alias_path
FROM (SELECT g.name gname, a.parent_index pindex, a.name aname,
a.reference_index rindex,a.group_number gnum,a.file_number filnum
FROM v$asm_alias a, v$asm_diskgroup g
WHERE a.group_number = g.group_number)
START WITH (mod(pindex, power(2, 24))) = 0 CONNECT BY PRIOR rindex = pindex) x,
(select group_number gnum,file_number filnum, type ftype from v$asm_file order by group_number,file_number) f
where x.filnum != 4294967295
and x.gnum=f.gnum and x.filnum=f.filnum
MINUS
select x.gnum,x.filnum,x.full_alias_path,f.ftype
from ( select id1 gnum,id2 filnum from v$lock where type='FA' and (lmode=4 or lmode=2)) l,
(
SELECT gnum,filnum,concat('+'||gname, sys_connect_by_path(aname, '/')) full_alias_path
FROM (SELECT g.name gname, a.parent_index pindex, a.name aname,
a.reference_index rindex,a.group_number gnum,a.file_number filnum
FROM v$asm_alias a, v$asm_diskgroup g
WHERE a.group_number = g.group_number)
START WITH (mod(pindex, power(2, 24))) = 0 CONNECT BY PRIOR rindex = pindex
) x,
(select group_number gnum,file_number filnum, type ftype from v\$asm_file order by group_number,file_number) f
where x.filnum != 4294967295 and
x.gnum=l.gnum
and x.filnum=l.filnum
and x.gnum=f.gnum and x.filnum=f.filnum) q
order by q.gnum,q.ftype
/
Sample Output
1 13460 +MYDG1/LEGACYDB1/DATAFILE/indx01.dbf DATAFILE
1 12440 +MYDG2/LEGACYDB2/DATAFILE/temp01.dbf TEMPFILE
Tuesday, February 18, 2014
Reading ASM Disk Header
How to Read an ASM Disk Header
As root,
/u01/app/11.2.0/grid/bin/kfed read
/dev/mapper/mydisk1|egrep
"(dsksize|provstr|dskname|grpname|fgname)"
kfdhdb.driver.provstr: ORCLDISKMYDISK1 ; 0x000:
length=15
kfdhdb.dskname: MYDISK1 ; 0x028: length=7
kfdhdb.grpname:
MYDISKGROUP ; 0x048: length=9
kfdhdb.fgname: MYDISK1 ; 0x068: length=7
kfdhdb.dsksize:
524294 ; 0x0c4: 0x00080006
To list all ASM devices using blkid:
blkid|grep sd.*oracleasm|while
read a b;do echo -n $a$b" scsi_id=";(echo $a|tr -d [:digit:]|tr -d
[:]|cut -d"/" -f3|xargs -i scsi_id -g -s /block/{})done;
Wednesday, February 12, 2014
Rename ASM diskgroup (11.2)
Rename ASM diskgroup
Important Note: This does not change the file names/locations in the controlfile.
1. List all data/temp/control/redo files.
2. Relocate the controlfiles (search this blog for "Multiplexing Controlfiles").
3. Rename the diskgroup.
4. Rename datafiles, tempfiles, online/standby redo logfiles using "alter database rename file 'x' to 'y';" with the database in mount mode.
1. List all data/temp/control/redo files.
2. Relocate the controlfiles (search this blog for "Multiplexing Controlfiles").
3. Rename the diskgroup.
4. Rename datafiles, tempfiles, online/standby redo logfiles using "alter database rename file 'x' to 'y';" with the database in mount mode.
Subscribe to:
Posts (Atom)