Pessoal, saiu na última sexta feira o Update 3 do Oracle Linux 6.
O download está disponível aqui no site Under-Linux.Org.
Para quem esperava que o update 3 iria demorar, quebrou a cara … mais uma vez a Oracle nos surpreendendo.
Asynchronous I/O é uma maneira diferente de processar os dados de input/output. Utilizando Async I/O permite que outros processos continue antes da transmissão ter sido concluída, fornecendo assim grande ganho de performance para operações de IO.
Para verificar se está característica está habilitado checamos através do slabinfo. O slabinfo mantém todas as estatísticas sobre os objetos em memória, assim podemos verificar as operações de AIO já que ele trata os objetos na memória virtual.
cat /proc/slabinfo | grep kio
Caso o seu ASYNC IO esteja habilitado o retorno do comando acima deve parecer assim:
kioctx 188 244 128 9 9 1 : 252 126 kiocb 43010 43010 96 1652 1652 1 : 252 126
Agora, se o seu AIO não está habilitado o kiocb deve estar seguido de dois 0 (zeros).
kioctx 28 60 192 20 1 : tunables 120 60 8 : slabdata 3 3 0 kiocb 0 0 128 30 1 : tunables 120 60 8 : slabdata 0 0 0
Com o a utilizando do ASMLib, esse comportamento não pode ser seguido já que o ASMLib não utiliza as funções POSIX aio_*(), então nunca vamos ver o kiocb em ação.
Quando o ASMLib é utilizado podemos simplesmente checar através do parâmetro disk_asynch_io na instância ASM, você pode inclusive habilitar e desabilitar o AIO apenas definindo o parâmetro disk_asynch_io para TRUE ou FALSE.
O yum é uma ferramente extremamente importante que economiza tempo de configuração e instalação.
Para quem não conhece, YUM (Yellow dog Updater, Modified) é uma ferramenta para gerenciar, instalar e remover pacotes (rpm) de instalações linux e o melhor, ele faz um calculo eficaz e resolve aquelas dependências de pacotes que gastamos um tempão para resolver.
Para configurar o PUBLIC YUM (repositório publico yum oracle) no Oracle Linux, além de ter habilitado a internet no servidor é somente preciso algumas poucas configurações. Para configurar o public YUM no Oracle Linux 5, faça:
cd /etc/yum.repos.d wget http://public-yum.oracle.com/public-yum-el5.repo
Feito isso, um arquivo será criado no diretório /etc/yum.repos.d. Edite o arquivo e habilite qual repositório você precisa, no meu caso eu quero habilitar o repositório do Oracle Linux 5 64bits, então eu mudo o ol5_u5_base de enable=0 para enable=1 e pronto seu yum está instalado.
[ol5_u5_base]
name=Oracle Linux $releasever - U5 - x86_64 - base
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL5/5/base/x86_64/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5
gpgcheck=1
enabled=1
Para utilizar o YUM é mais simples do que configurar. Vamos a um exemplo, estou instalado o Oracle 11gR2 no Oracle Linux e preciso instalar o pacote rpm libaio x86_64, seja como instalar pelo YUM.
# yum search libaio
...
============================= N/S Matched: libaio ==============================
libaio.i686 : Linux-native asynchronous I/O access library
libaio.x86_64 : Linux-native asynchronous I/O access library
libaio-devel.i686 : Development files for Linux-native asynchronous I/O accesslibaio-devel.x86_64 : Development files for Linux-native asynchronous I/O access
Com encontramos nosso pacote através do search do yum, vamos instalar. Basta executar.
yum install libaio.x86_64
Pronto, seu pacote instalado.
O tempo é preciso ainda mais para o DBA, então … Porque perder tempo digitando aquele comando enorme sendo que você pode cortar caminho?
Quer um exemplo simples? Vamos supor que você é um DBA que sempre segue a convenção de diretório OFA (espero que sim) que tenha instalado um Oracle 11g e que gostaria de visualizar o arquivo de log do banco de dados dbtst. O caminho comum seria o seguinte:
cd $ORACLE_BASE/diag/rdbms/dbtst/dbtst/trace/ tail -100 alert_dbtst.log ... ARCH: Archival disabled due to shutdown: 1089 Shutting down archive processes Archiving is disabled Archive process shutdown avoided: 0 active Mon Jan 02 11:39:29 2012 Stopping background process VKTM: Mon Jan 02 11:39:31 2012 Instance shutdown complete
Que tal agora, realizar todos os passos acimas com apenas um comando? Essa é a facilidade que trás o comando alias, veja o exemplo como ficaria apenas executando o alias showalert as últimas 100 linhas do log de alerta do banco é visualizado na tela:
alias showalert='tail -100 /u01/app/oracle/diag/rdbms/dbtst/dbtst/trace/alert_dbtst.log' showalert ... ARCH: Archival disabled due to shutdown: 1089 Shutting down archive processes Archiving is disabled Archive process shutdown avoided: 0 active Mon Jan 02 11:39:29 2012 Stopping background process VKTM: Mon Jan 02 11:39:31 2012 Instance shutdown complete
Já deu para ver as vantagens, não é mesmo? Para que então digitar echo $ORACLE_SID somente para poder ver qual é o valor da variável de ambiente ORACLE_SID, vamos definir um alias para ela:
[oracle@oracle11gR1 ~]$ echo $ORACLE_SID dbtst [oracle@oracle11gR1 ~]$ alias es='echo $ORACLE_SID' [oracle@oracle11gR1 ~]$ es dbtst
Para remover um alias já definido, utilize apenas o comando unalias seguido do nome do alias desejado para remover:
unalias es
O alias perde sua configuração caso você efetue um logout do usuário Linux/Unix conectado. Para que esses alias permaneçam em cada login feito pelo usuário basta colocar os alias no arquivo ~/.bashrc do usuário. No meu caso, costumo sempre customizar esse arquivo (~/.bashrc) com os alias que vou utilizar. Segue alguns desses alias que já se tornaram inseparáveis em ambiente que vou trabalhar, facilitando e economizando meu tempo.
alias sqlp='sqlplus "/ as sysdba"' alias asmcmd='asmcmd -p' alias rmn='rman target /' alias esid='echo $ORACLE_SID' alias cbase='cd $ORACLE_BASE' alias chome='cd $ORACLE_HOME' alias bdump='cd $ORACLE_BASE/admin/$ORACLE_SID/bdump' alias cdiag='cd $ORACLE_SID/diag' alias l='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias mv='mv -i' alias rm='rm -i' alias tns='cd $ORACLE_HOME/network/admin'
Caso tenha criado seus próprios alias, compartilhe aqui …
Um grande abraço !

