Archive
1º GUOB 2012
GUOB Tech Day with Craig Shallahamer
In my feedback about last GUOB event (on March 24th, 2012) I will mainly talk about Mr. Craig Shallahamer, who enlighted us with two brilliant lectures.
I decided to write this post in English so Craig would understand what I am saying about him. I think it wouldn’t be fair to write in Portuguese.
Well, GUOB Tech Day. Once again, I shall compliment Eduardo Hahn and staff for a very well organized event, very nice coffee breaks and all the work/effort backstage we can’t see but is vital for a great outcome.
From my point of view, as a DBA working with Oracle, last GUOB Tech Day wouldn’t be very interesting if it wasn’t for Craig’s lectures. Aside from Craig’s, the others were more like product’s advertisements: “This is my software, it does everything you need fast and accurately. Buy it now and be happy”.
Don’t get me wrong, I’m not making fun of those softwares. The point is I wasn’t there to hear about new tools to work with or learn what they are capable of. I usually go to GUOB events expecting to get some tips about my job as DBA, advices on how to manage databases more efficiently, to understand more of Oracle internals, to know what more experienced DBAs consider as best practices, that kind of stuff. And I expect to hear it from widely known professionals. Don’t blame me, blame GUOB’s staff that already brought us Tom Kyte, Graham Wood, Arup Nanda, Francisco Muñoz, Kai Yu…
I wasn’t the target audience for those 2 specific presentations. Probably a lot of other people enjoyed it. But this is my blog and I’m writing about what matters to me and my fellow DBAs.
That said, 50% of the presentations scheduled meant nothing to me. Fortunately, Mr. Craig came to save the day!
I want to praise Craig’s speeches not by the value of their content, not by how much what he said make sense to me and allowed me to understand Oracle’s internals in a different way, but by how he managed to share his knowledge on the subject with the audience.
What I loved about Craig’s way of speech, was his enthusiasm while speaking to us. It’s completely different to hear a speech from someone that master the subject but stands there, in front of the crowd like it’s just another day in his life than from someone who also masters the subject, but shows he really loves talking about it, with shine on his eyes, with passion for what he chose to study and work with. It’s inspiring.
His struggle to make a picture of what happens behind the scenes in Oracle memory made a huge difference and was really worth it (at least to me). It could’ve been a completely acceptable speech without all that pictures and gestures but by drawing in the air and interacting in the created scene (reminded me of Minority Report, the movie) he transformed all that abstraction into “invisible-visible” objects and I will never forget the “LRU-modified²” (touch-count) algorithm.
I think he nailed it as a professor transferring (a tiny little bit of) his knowledge to his students. That’s how I felt.
I had the chance to talk to him during coffee break. Craig is very friendly and seems to enjoy talking to people face to face, not only while lecturing. This changes the impersonality lectures usually carry into something much more comfortable and personal between speaker and audience.
Hope he can come back to Brazil many more times to inspire us again with new lectures!
You don’t know him yet? Well, you should!
Twitter: @CShallahamer
Company: Orapub Inc.
Blog: A Wider View
Thank you very much, Mr. Craig!
crsctl start crs… FAILURE!
Puta que pariu! Não subiu!
Perdoem-me o palavrão, mas foi isso que ecoou na minha cabeça quando recebi a mensagem abaixo:
[root@machine bin]# ./crsctl start crs
Attempting to start CRS stack
Failure at scls_scr_create with code 1
Internal Error Information:
Category: 1234
Operation: scls_scr_create
Location: mkdir
Other: Unable to make user dir
Dep: 2
Eu não achei nada relevante na internet sobre esse erro! Nem no Metalink estava claro. Agora sei a solução e, por isso, compartilho com vocês!
Detalhes do ambiente
• Servidor Enterprise Linux 5 (EL5) 64 bits
• Oracle DB Enterprise 10.2.0.5 com PSU 10.2.0.5.6 aplicado, single instance
• Usando ASM
Mas… “Crsctl” sem ser ambiente RAC?
Em ambientes não RAC mas com ASM, temos um processo no SO chamado “ocssd.bin” ativo também. Esse processo fica responsável pela comunicação entre a instância do BD e a instância ASM, ou seja, é vital para o funcionamento do seu BD single instance usando ASM como controlador de arquivos.
Exemplo desse processo ativo em um dos meus servidores agora:
[ prod_db@machine /home/oracle ]: ps -ef |grep ocssd |grep -v grep
oracle 20168 19928 0 Mar23 ? 00:00:13 /oracle_home/bin/ocssd.bin
Esse processo pode estar ativo mesmo se você não estiver usando ASM ou mesmo antes de você criar uma instância (foi iniciado por padrão após instalação de algum produto).
Rápido adendo:
Antes de aplicar um patch ou se não vai usar ASM nesse servidor e quer parar o serviço, você pode parar/iniciar esse serviço com o comando “init.cssd stop”/”init.cssd start”, estando logado como root. Comando válido para ambientes NÃO-RAC. Com RAC esse processo também é vital, tome cuidado.
A parte que interessa: Por que aconteceu? Como corrigir?
No meu caso, fui contemplado com o erro após trocarmos o IP e hostname desse servidor. O banco foi instalado com o servidor tendo o hostname=A e IP=X, já estava tudo rodando bonitinho (ASM, DB, usuários trabalhando).
Só que precisávamos trocar o hostname e IP. Durante a janela de manutenção planejada, seguimos os seguintes passos:
• Parei a instância de banco
• Parei o ASM
• Parei o ocssd.bin (com “crsctl stop crs”)
O analista de Linux trocou o hostname de A para B e o IP de X para Y.
Fui todo contente fazer os passos inversos e, ao mandar o primeirão “crsctl start crs”, levo na fuça um direto de um punho com soco inglês cravando esse log na minha testa:
[root@machine bin]# ./crsctl start crs
Attempting to start CRS stack
Failure at scls_scr_create with code 1
Internal Error Information:
Category: 1234
Operation: scls_scr_create
Location: mkdir
Other: Unable to make user dir
Dep: 2
Para sanar o erro acima, tive que reconfigurar o CSS seguindo os passos:
1. Se houver algum processo do CSS executando, mate-o:
$ kill -9
2. Com o usuário root, vá até o $ORACLE_HOME/bin
$ cd $ORACLE_HOME/bin
3. Faça a reconfiguração do CSS
$ localconfig reset $ORACLE_HOME
4. Inicie o processo do CSS
$ /etc/init.d/init.cssd start
Agora sim! O CSS subiu normalmente e eu pude iniciar o ASM e, depois, o BD!
O porquê de acontecer isso e os detalhes técnicos eu não sei ainda. Não achei documento que explicasse. No máximo, em um PDF chamado “ASM Best Practices” que achei, diz que “If CSS does not start automatically on reboot or if there is a hostname configuration change. The following command (localconfig reset) can be used to reconfigure CSS on that host”.
É tudo que sei! Se for trocar hostname por aí, fique ligado nisso.
Obs: Essa solução funcionou para meu ambiente, mas pode não funcionar no seu. Use por sua conta e risco!
SQL Magazine!
Publicação
Galerinha, saiu uma publicação de um artigo meu na revista SQL Magazine!
É o artigo que fiz durante minha Pós-Graduação como trabalho final (tipo TCC), do qual extraí um pedaço que publiquei no post explicando sobre latches. O assunto abordado são algumas das opções de tuning para problemas de performance devido grande ocorrência de hard parses.
Infelizmente, não posso republicar meu artigo inteiro aqui no blog, pois ele está na revista, normas editoriais. Mas vocês podem adquirir a revista ou ler online. A prévia do artigo está aqui, SQL Magazine edição 95.
Essa é notícia velha, é verdade, o artigo saiu no começo do ano, eu que não consegui me organizar para vir atualizar o blog.
Estou tirando algumas teias de aranha daqui agora. =)
Obrigado a todos pelos incentivos e pelo carinho.
Gotta keep moving! Go go GO!

