Arquivo

Posts Tagged ‘AIX’

Quando o IPCRM não limpa a Shared Memory.

janeiro 20, 2015 Deixe um comentário

Quando o IPCRM não limpa a Shared Memory.

Algumas vezes após limpar o shared memory , algum sh ainda ficam na memória.
ex:

#ipcs -a | grep “Nomedainstancia”
#ipcrm SHID

se a opção acima não funcionar, executar o seguinte:

Use a opção -S para obter o shared memory segment ID.
# ipcs -mS
m 131075 0x00001a4c –rw——- root system
SID :
0x2c75

2)Verifique a versão do svmon.
$ lslpp -l perfagent.tools

3) Use o svmon para procurar todos os processos que estão usando o shared
memory segment.
# svmon -S 0x2c75 -l

Vsid Esid Type Description LPage Inuse Pin Pgsp Virtual
2b85 3 work shared memory segment – 656 0 0 656
pid(s)=108752

No exemplo apenas 1 processo usa o shared memory

Para remover o shared memory segment, mate o processo e limpe o shared memory.
# kill 108752
# ipcrm -m 131075

Configurando IP address ( alias ) no AIX

janeiro 20, 2015 Deixe um comentário

Configurando IP address ( alias ) no AIX
ifconfig en0 alias 172.16.15.95 netmask 255.255.255.0 up

Categorias:AIX Tags:,

Script que Mapeia discos e fitas por HBA.

Script que Mapeia discos e fitas por HBA.

Fonte: http://www.wmduszyk.com/?p=10948&langswitch_lang=en

#!/usr/bin/ksh

# W.M.Duszyk 2/12
# map FC devices to their adapters and interfaces

for f in $(lsdev|awk ‘/fcs/{print $1}’); do
printf “${f} – ”
j=$(lsdev -p $f|awk ‘/fscsi/{print $1}’)
echo “${j}:”
z=$(lspath -p $j)
if [ -n “$z” ]
then
echo “$z”|awk ‘/rmt|smc|disk|d1/{printf “%s “, $2}END{print “\n”}’
else
lsdev -p $j|awk ‘/rmt|smc|disk/{printf “%s “, $1}END{print “\n”}’
fi
done

 

 

 

=========================================================================================

saida:

./tt.sh
fcs0 – fscsi0:
rmt2 rmt3 rmt8

fcs1 – fscsi1:
rmt0 rmt1 rmt4 rmt5 rmt6 rmt7

fcs2 – fscsi2:
hdisk5 hdisk6 hdisk6 hdisk7 hdisk8 hdisk9 hdisk10 hdisk11 hdisk12 hdisk13 hdisk14 hdisk15
hdisk16 hdisk17 hdisk18 hdisk46
hdisk47 hdisk48 hdisk49 hdisk50 hdisk51 hdisk52 hdisk53
hdisk54 hdisk55 hdisk56 hdisk57 hdisk58 hdisk59 hdisk60 hdisk61 hdisk7 hdisk8 hdisk9 hdisk10
hdisk11 hdisk12 hdisk13 hdisk14 hdisk15 hdisk16 hdisk17 hdisk18 hdisk46 hdisk47 hdisk48

fcs3 – fscsi3:
hdisk38 hdisk39 hdisk40 hdisk41 hdisk42 hdisk43 hdisk44 hdisk45 hdisk62 hdisk63 hdisk64 hdisk65
hdisk66 hdisk67 hdisk68 hdisk69 hdisk70 hdisk71 hdisk72 hdisk73 hdisk74 hdisk75 hdisk76 hdisk77
hdisk78 hdisk79 hdisk80 hdisk81 hdisk82 hdisk83 hdisk84 hdisk85 hdisk86 hdisk87 hdisk88 hdisk89
hdisk90 hdisk91 hdisk92 hdisk93 hdisk38 hdisk39 hdisk40 hdisk41 hdisk42 hdisk43 hdisk44 hdisk45

Categorias:AIX Tags:, , ,

Site sobre AIX e Linux

janeiro 7, 2014 Deixe um comentário

Site sobre AIX e Linux:

http://www.wmduszyk.com

 

Sites sobre AIX:

http://www.rootvg.net

http://www.aixmind.com

 

 

 

Categorias:AIX, LINUX, Miscelânea Tags:,

site com conteudo em AIX

janeiro 6, 2014 Deixe um comentário
Categorias:Uncategorized Tags:

Verificando e reparando discos do Oracle ASM corrompidos

outubro 27, 2013 Deixe um comentário

Galera, espero que este post  ajude você quando o ASM apresentar problemas.

No caso do sistema Operacional ser IBM AIX , vamos validar o VGDA dos discos.

Ex: lspv| awk {‘print$1’} | xargs -n1 readvgda -h

No meu caso os discos  estavam apresentados para o ASM porém com o status de candidato a ser adicionado e montado no DG.

Porém o disco continha dados e não poderia ser adicionado novamente como um disco novo, os dados ali seriam destruidos após o balance dos dados.

Segui os seguintes passos:

Pela instância ASM:

1) Checando o ASM disk header metadata ( Allocation unit # 0 , block # 0)

SQL> select DISK_NUMBER,HEADER_STATUS,substr(PATH,1,20),label from v$asm_disk;

DISK_NUMBER HEADER_STATUS PATH LABEL
———– ————————————————————————–
0 CANDIDATE ORCL:VOL1 VOL1    <—————————- Disco com problemas no meu caso.
1 MEMBER ORCL:VOL2 VOL2
0 MEMBER ORCL:VOL3 VOL3

Via linha de comando:

$ asmcmd lsdsk –p

Group_Num Disk_Num Incarn Mount_Stat Header_Stat Mode_Stat State Path
1 0 3607145378 CACHED CANDIDATE ONLINE NORMAL ORCL:VOL1   <———————- Disco com problemas.
1 1 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL2
2 0 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL3

$ kfed read /dev/oracleasm/disks/VOL1 aun=0 blkn=0

kfbh.endian: 0 ; 0x000: 0x00
kfbh.hard: 0 ; 0x001: 0x00
kfbh.type: 0 ; 0x002: KFBTYP_INVALID
kfbh.datfmt: 0 ; 0x003: 0x00
kfbh.block.blk: 0 ; 0x004: T=0 NUMB=0x0
kfbh.block.obj: 0 ; 0x008: TYPE=0x0 NUMB=0x0
kfbh.check: 0 ; 0x00c: 0x00000000
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000
kfbh.spare2: 0 ; 0x01c: 0x00000000
2B6BCD150400 00000000 00000000 00000000 00000000 […………….]
Repeat 255 times
KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][0]

Nota:  Se você ver aqui a seguinte mensagem : kfbh.type=KFBTYP_INVALID , isso indica que o ASM disk header está corrompido,

Este é o status típico kfbh.type=KFBTYP_DISKHEAD (ASM disk header).

Verificando se existe uma cópia ASM DISK HEADER no disco.

Isso indica que o  ASM tem  uma copia alocada em cada 1 dos seus discos  em (Allocation unit# 1, Block# 254) k

$ kfed read /dev/oracleasm/disks/VOL1 aun=1 blkn=254 |grep KFBTYP
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD

Nota: Neste caso o VOL1 apresenta uma cópia do ASM disk header.

Reparando o  ASM Disk Header

$ kfed repair /dev/oracleasm/disks/VOL1

Verificando o  ASM Disk Header Metadata

$ kfed read /dev/oracleasm/disks/VOL1 aun=0 blkn=0 | grep KFBTYP
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD

Pela instância ASM:

SQL> select DISK_NUMBER,HEADER_STATUS,substr(PATH,1,20),label from v$asm_disk;

DISK_NUMBER HEADER_STATUS PATH LABEL
———– —————————————————————————-
0 MEMBER ORCL:VOL1 VOL1
1 MEMBER ORCL:VOL2 VOL2
0 MEMBER ORCL:VOL3 VOL3

Via linha de comando

$ asmcmd lsdsk -p
Group_Num Disk_Num Incarn Mount_Stat Header_Stat Mode_Stat State Path
1 0 3607143578 CACHED MEMBER ONLINE NORMAL ORCL:VOL1   <————————————–
1 1 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL2
2 0 3607145378 CACHED MEMBER ONLINE NORMAL ORCL:VOL3

Listando os discos e o tamanho no AIX de forma simples.

outubro 17, 2013 Deixe um comentário

p=”/usr/sbin/lspath”;for i in `$p| awk ‘ !/Missing/ {print $2}’|sort|uniq `;do echo “$i; `getconf DISK_SIZE /dev/$i` mb; `$p| awk ‘ !/Missing/ &&/’$i’ / {print $2}’|wc -l|sed ‘s/ //g’`” ; done|cat -n

Categorias:AIX Tags:, , ,