Blog do Bruno Murassaki

junho 29, 2011

GUOB TECH DAY 2011

Filed under: Eventos — brunomurassaki @ 3:01 am

Boa noite Pessoal

Venho anunciar sobre um Evento imperdível é o GUOB TECH DAY, pois o ano passado participei e tive a oportunidade de assistir uma Palestra do ilustre Tom Kyte o Mestre do Magos em Oracle. Por isso recomendo esse Evento a todos que gostam da Tecnologia Oracle, pois além de fazer um ótimo Network com outros Profissionais, as Palestras são de alto Nível Técnico. Resumindo só Kara Fera.

GUOB TECH DAY 2011

Olá,

Agende-se para mais este grande evento organizado pelo GUOB com apoio do LAOUC e OTN. Acontecerá no dia 16/07/2011,sábado, em São Paulo no Hotel Blue Tree Morumbi, a edição 2011 do grande encontro de usuários de tecnologia Oracle do Brasil com a participação de palestrantes internacionais e nacionais.

Este ano contamos com a presença de Arup Nanda, Graham Wood, Debra Lilley, Kay Yu, Hans Forbrich e Francisco Munoz.

Aproveite esta grande oportunidade de estar próximo de grande autores e referências em tecnologia Oracle no mundo.

Faça sua associação gratuita ao GUOB através da opção no menu ASSOCIE-SE em nosso site. Você poderá ser o ganhador de um dos 3 convites para associados ao GUOB para um almoço com os palestrantes durante o GUOB TECH DAY 2011.

Participem e divulguem o evento.

Acesse nosso site para maiores informações. GUOB TECH DAY 2011.

Preços

  • R$ 180,00 para inscrição antecipada até 24/06;
  • R$ 280,00 para inscrição com pagamento até 13/07;
  • R$ 360,00 no local do evento. Somente em dinheiro ou cheque.

Observação: O prazo final para pagamento do boleto será 13/07/2011, quarta-feira.

Pontos Importantes

  1. Estudantes têm 40% de desconto, com apresentação de comprovante de matrícula no momento do credenciamento.
  2. Alunos da Veris Faculdades possui entrada gratuita.

Palestrantes

Um resumo do currículo dos palestrantes que estarão no GUOB TECH DAY 2011.

Arup Nanda é reconhecido profissional na área de banco de dados Oracle, premiado DBA do Ano pela Oracle em 2003, um reconhecimento mundial. Arquiteto Senior Database, DBA,
Modeler, autor de livros com mais de 10 anos de experiência como DBA Oracle, com publicações em revistas de renome e apresentações em conferências internacionais.
Senior DBA Oracle com larga experiência em Administração de Banco de Dados Oracle (DBA), Oracle Parallel Server, Performance, Gestão de Segurança, Enterprise Manager, Design Banco de Dados, XML, Design System, Modelagem de Dados, PL / SQL, scripts Pro * C, C, Unix, NT, Shell

Graham Wood é um arquiteto no desenvolvimento de banco de dados Oracle, trabalhando na Oracle em Redwood Shores. A maioria de seus 20 anos de experiência em Oracle, foram gastos em áreas relacionadas com o desempenho, incluindo concepção e tuning grandes sistemas de alto desempenho, benchmarking e construção de ferramentas monitoração (como Statspack). Mais recentemente, Graham tem trabalhado como parte da equipe de gerenciabilidade Oracle 10g/11g encarregado de simplificar o processo de ajuste do funcionamento do banco de dados com a introdução do Automatic Workload Repository (AWR) e Automatic Database Diagnostic Monitor (DAMS).

Debra Lilley é principal consultora da Fujitsu com 15 anos de experiencia em EBS , Hyperion e Oracle BIEE
Ela vem servindo como diretora do UKOUG, grupo de usuários do Reino Unido, a oito anos. Ela é regularmente palestrante em eventos com foco em Fusion technology e applications. Ela escreve uma coluna no Oracle SCENE e possui um blog e twitter com grande acesso. É reconhecida como Diretora do programa Oracle ACE para aplicativos Oracle. Alem disso, ela é responsável pelo comitê de desenvolvimento de produtos do IOUC.

Kai Yu é um engenheiro sênior e arquiteto de soluções da Dell Soluções Oracle Engineering Lab e foi trabalhar com a Oracle Technology como DBA Oracle, DBA Oracle Apps desde 1995. Kai é especialista em Oracle RAC, Oracle E-Business Suite e Oracle VM, Ele publicou 15 artigos técnicos e 25 apresentações técnicas em conferências mundiais em tecnologia Oracle, como Oracle OpenWorld, COLLABORATE, Tech & UKOUG EBS Oracle OpenWorld Ásia. Kai é um Oracle ACE Director. Kai foi ex-presidente da Oracle RAC IOUG Special Interest Group (SIG) em 2009-2010 e gerenciou o RAC performance e alta disponibilidade Bootcamp na IOUG conferência Collabore 2010 e 2011, respectivamente. Em abril de 2011, Collabore 11, Kai recebeu o prêmio the 2011 OAUG Inovador do Ano por seu trabalho inovador na virtualização do Oracle E-Business Suite da Oracle VM. Kai tem sido ativo em compartilhar seus conhecimentos Oracle em seu blog http://kyuoracleblog.wordpress.com/ Oracle.

Hans Forbrich trabalha com os produtos Oracle como desenvolvedor, DBA e analista, desde 1984. Atualmente é consultor independente para Oracle e Linux, bem como um instrutor reconhecido na Oracle University no Canadá.
Um conferencista e colaborador freqüente em diversos fóruns Oracle, Hans está muito animado com as possibilidades da Oracle Express Edition para muitas pequenas e médias empresas e grupos de trabalho.
Francisco Munoz Alvarez é o fundador e CEO da DBIS – Banco de Dados Soluções Integradas e trabalha com o Oracle desde 1989. Ele também é o Presidente e Fundador da CLOUG (Chile Oracle Users Group) e um membro da NZOUG.
Francisco trabalhou como consultor na Oracle do Brasil e Chile, foi instrutor para Oracle New Horizons Center, Chile e Oracle Education (Brasil e Chile), e também trabalhou na primeira equipe à introduzir Oracle para a América do Sul (Oracle 6 e versão Beta da Oracle 7).
Ele foi o primeiro Master Database Administrator Oracle 7 na América do Sul. Possui níveis de Certificação Oracle: OCA (SQL e PL / SQL 10g AS), OCP (DBA 10g, E-Business 11i) e 10g OCE RAC.

Espero Vocês lá ….

Grande Abraço

Bruno Murassaki

maio 12, 2011

Oracle RAC 11gR2 11.2.0.2 – Instalação e Configuração Oracle RAC 11gR2 – Linux

Filed under: Oracle RAC — brunomurassaki @ 11:28 pm

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

Ola Pessoal, hoje o artigo será sobre Oracle RAC 11G R2 11.2.0.2. Primeiramente gostaria de dedicar este artigo a minha Esposa Rute Bomfim Murassaki que sempre tem paciência para que eu me dedique aos estudos e me apoia com meus artigos. Também agradecer a todos meus amigos DBAs que me ajudaram com esse projeto diretamente ou indiretamente. Em especial ao Edson Martins(Responsavel de TI onde implantei o Oracle RAC 11g R2) pela oportunidade e confiança do meu trabalho, onde tive a oportunidade de implantar meu primeiro Oracle RAC 11gR2 em produção. Esse foi um Caso de Sucesso em um Cliente onde estarei contando aqui um pouco da minha experiência com Oracle RAC 11g R2.

Neste Projeto foi executado uma migração de Oracle Single Instance Database 9i R2 9.2.0.8 para Oracle Rac Databse 11g R2 11.2.0.2 (2 Nodes).

Para quem nunca implantou um Oracle RAC ai vai uma dica, para executar essa migração não é apenas sair instalando o Oracle RAC, é necessário todo um planejamento desde qual Hardware comprar (Hardware Homologado para Oracle RAC) como montar a estrutura física, que tipo de Sistema Operacional e que tipo de aplicação irá rodar.  Além de instalar e configurar o Oracle RAC é necessário testar… testar… e testar antes de rodar em produção. Pra vocês terem uma idéia a bateria de testes durou um mês. Houve bastante contato com a Equipe de TI da DELL no qual montou todo a parte de Hardware para que o projeto fosse executado com sucesso. Também foi envolvido um especialista em SO Linux e uma Equipe do Sistema para validar performance do Sistema, pois como sabemos de uma Versão 9i para a Versão 11g temos muitas alterações e como eu sempre falo “Migração de Banco de Dados Oracle é igual Kinder Ovo sempre tem uma Surpresa“.

Bom vamos lá….. iniciaremos pelo ambiente.

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

AMBIENTE ORACLE RAC 11G R2 11.2.0.2

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

Sistema Operacional: Oracle Enterprise Linux 5 – 64bits

Versão do Banco de Dados: Oracle Database 11g R2 11.2.0.2 – 64bits

Instalador Oracle 11g R2 PachSet 11.2.0.2:  Uma novidade do PachSet Oracle 11gR2 11.2.0.2 é que você não precisa mais instalar a versão 11.2.0.1 para aplicar o PachSet 11.2.0.2. Agora você pode instalar direto a versão 11.2.0.2 sem precisar instalar o instalador base 11.2.0.1 como em releases anteriores.

- p10098816_112020_Linux-x86-64_1of7

- p10098816_112020_Linux-x86-64_2of7

- p10098816_112020_Linux-x86-64_3of7

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

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

Pre-requisitos Instalação do Oracle RAC 11g R2 11.2.0.2

Instalar Pacotes Requeridos para Instalação do Oracle 11G R2:

# From Enterprise Linux 5 DVD
cd /media/cdrom/Server
rpm -Uvh binutils-2.*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh elfutils-libelf-devel-*
rpm -Uvh gcc-4.*
rpm -Uvh gcc-c++-4.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh glibc-devel-2.*
rpm -Uvh glibc-headers-2.*
rpm -Uvh ksh-2*
rpm -Uvh libaio-0.*
rpm -Uvh libaio-devel-0.*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh make-3.*
rpm -Uvh sysstat-7.*
rpm -Uvh unixODBC-2.*
rpm -Uvh unixODBC-devel-2.*
cd /
eject

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

Se você não está usando DNS,  configuração do arquivo “/etc/hosts”:
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
#Public
10.0.0.3           rac1.murassaki.ind.br         rac1
10.0.0.4           rac2.murassaki.ind.br         rac2
# Private
192.168.0.3        rac1-priv.murassaki.ind.br    rac1-priv
192.168.0.4        rac2-priv.murassaki.ind.br    rac2-priv
# Virtual
10.0.0.21          rac1-vip. murassaki.ind.br     rac1-vip
10.0.0.22          rac2-vip. murassaki.ind.br     rac2-vip
# SCAN
10.0.0.20          rac-scan. murassaki.ind.br     rac-scan

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

Configuração do arquivo sysctl.conf

#Parametros de Memoria
kernel.shmmni = 4096
kernel.shmall = 2097152
# semaforos: semmsl, semmns, semopm, semmni
kernel.sem = 1010 143420 1010 142
net.ipv4.ip_local_port_range = 9000 65500
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
# parametros hugepages
kernel.shmmax = 6442450944
vm.nr_hugepages = 3072
vm.hugetlb_shm_group = 501

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

Configuração do Arquivo /etc/limits.conf
oracle           soft       nproc             131072
oracle           hard      nproc             131072
oracle           soft       nofile             131072
oracle           hard     nofile              131072
oracle           soft      core                 unlimited
oracle           hard     core                 unlimited
oracle           soft      memlock         unlimited
oracle           hard     memlock         unlimited

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

Criar usuario Oracle (Neste caso eu criei um usuario unico para tudo)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
[root@rac1 /]# passwd oracle
Changing password for user oracle.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

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

Criar Diretorio Padrão OFA (Optimal Flexibile Architecture)
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/ajr
mkdir -p /u01/installoracle
chown -R oracle.oinstall /u01

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

Configuração das Variáveis de Ambiente:

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=rac1.murassaki.ind.br; export ORACLE_HOSTNAME
ORACLE_UNQNAME=AJR; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/ajr; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH

==============================================================================================================
———————————-
INSTALANDO ASMLIB
———————————-
[root@rac2 /]# cd installoracle/
[root@rac2 installoracle]# cd ASMLIB\ asmlib\ 2.6.18-194.el5xen/
[root@rac2 ASMLIB asmlib 2.6.18-194.el5xen]# ls
oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm       oracleasm-2.6.18-194.el5-debuginfo-2.0.5-1.el5.x86_64.rpm  oracleasmlib-2.0.4-1.el5.x86_64.rpm
oracleasm-2.6.18-194.el5debug-2.0.5-1.el5.x86_64.rpm  oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.x86_64.rpm         oracleasm-support-2.1.3-1.el5.x86_64.rpm
[root@rac2 ASMLIB asmlib 2.6.18-194.el5xen]# rpm -ivh oracleasm*
warning: oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing…                ########################################### [100%]
1:oracleasm-support      ########################################### [ 17%]
2:oracleasm-2.6.18-194.el########################################### [ 33%]
3:oracleasm-2.6.18-194.el########################################### [ 50%]
4:oracleasm-2.6.18-194.el########################################### [ 67%]
5:oracleasm-2.6.18-194.el########################################### [ 83%]
6:oracleasmlib           ########################################### [100%]
[root@rac2 ASMLIB asmlib 2.6.18-194.el5xen]#

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

—————————————————–
VERIFICANDO ASMLIB INSTALADA
—————————————————–
[root@rac2 /]# rpm -q -i -a | grep asm
Name        : oracleasm-2.6.18-194.el5-debuginfo  Relocations: (not relocatable)
Group       : Development/Debug             Source RPM: oracleasm-2.6.18-194.el5-2.0.5-1.el5.src.rpm
URL         : http://oss.oracle.com/projects/oracleasm/
Summary     : Debug information for package oracleasm-2.6.18-194.el5
This package provides debug information for package oracleasm-2.6.18-194.el5.
Name        : oracleasm-2.6.18-194.el5xen  Relocations: (not relocatable)
Group       : System Environment/Kernel     Source RPM: oracleasm-2.6.18-194.el5-2.0.5-1.el5.src.rpm
URL         : http://oss.oracle.com/projects/oracleasm/
Name        : oracleasmlib                 Relocations: (not relocatable)
Group       : System Environment/Kernel     Source RPM: oracleasmlib-2.0.4-1.el5.src.rpm
Name        : oracleasm-2.6.18-194.el5     Relocations: (not relocatable)
Group       : System Environment/Kernel     Source RPM: oracleasm-2.6.18-194.el5-2.0.5-1.el5.src.rpm
URL         : http://oss.oracle.com/projects/oracleasm/
Name        : oracleasm-2.6.18-194.el5debug  Relocations: (not relocatable)
Group       : System Environment/Kernel     Source RPM: oracleasm-2.6.18-194.el5-2.0.5-1.el5.src.rpm
URL         : http://oss.oracle.com/projects/oracleasm/
Name        : oracleasm-support            Relocations: (not relocatable)
Group       : System Environment/Kernel     Source RPM: oracleasm-support-2.1.3-1.el5.src.rpm
URL         : http://oss.oracle.com/projects/oracleasm/

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

Criar ASM DISKS
No nosso Storage temos o seguinte utilizando multipath:
[root@rac1 /]# cd /dev/mapper/
[root@rac1 mapper]# ls
asm-data  ocr01  VolGroup00-LogVol00  VolGroup00-LogVol02  voting01
control   ocr02  VolGroup00-LogVol01  VolGroup00-LogVol03  voting02

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

Rode esse comando nos 2 nodes
[root@rac1 ~]# /usr/sbin/oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets (‘[]‘).  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface [oracle]: oracle
Default group to own the driver interface [dba]: dba
Start Oracle ASM library driver on boot (y/n) [y]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@rac1 ~]#

[root@rac1 ~]# /usr/sbin/oracleasm createdisk ASMDATA /dev/mapper/asm-data

[root@rac1 ~]# /usr/sbin/oracleasm createdisk OCR01 /dev/mapper/ocr01

[root@rac1 ~]# /usr/sbin/oracleasm createdisk OCR02 /dev/mapper/ocr02

[root@rac1 ~]# /usr/sbin/oracleasm createdisk VOTING01 /dev/mapper/voting01

[root@rac1 ~]# /usr/sbin/oracleasm createdisk VOTING02 /dev/mapper/voting02

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

[root@rac1 sysconfig]# /usr/sbin/oracleasm listdisks
ASMDATA
OCR01
OCR02
VOTING01
VOTING02

[root@rac2 sysconfig]# /usr/sbin/oracleasm listdisks
ASMDATA
OCR01
OCR02
VOTING01
VOTING02

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

Configurar Multipath se não o Grid InfraStructure não irá achar os ASM DISKS

Rode em todos os nodes:
1. Modify the /etc/sysconfig/oracleasm with:

ORACLEASM_SCANORDER=”dm”
ORACLEASM_SCANEXCLUDE=”sd”

2. restart the asmlib by :

# /etc/init.d/oracleasm restart

The configuration file /etc/sysconfig/oracleasm parameters “ORACLEASM_SCANORDER”

and “ORACLEASM_SCANEXCLUDE” were updated, but after restarting the Oracleasm service the changes were not put into effect.

For example: multipath was configured and the “dm-” devices are presented.The “/etc/sysconfig/oracleasm” file was configured accordingly:

# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER=”dm”

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE=”sd”

Caso não consiga
[root@rac1 sysconfig]# /usr/sbin/oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=”"
ORACLEASM_SCANEXCLUDE=”"

Solução
Remover Manualmente o arquivo criado e criar um soft-link:

# mv /etc/sysconfig/oracleasm /etc/sysconfig/oracleasm_bak
# ln oracleasm-_dev_oracleasm /etc/sysconfig/oracleasm

Subsequentemente edite o arquivo /etc/sysconfig/oracleasm e verifique se está corretamente aplicado.

Note: Qualquer alteração no arquivo de configuração requer  restart do OracleASM para que as alterações sejam efetivadas:
# /etc/init.d/oracleasm restart

Selecione as Variáveis:

Mofique nas 2 maquinas
1. Modifique os parametros no arquivo /etc/sysconfig/oracleasm:
ORACLEASM_SCANORDER=”dm”
ORACLEASM_SCANEXCLUDE=”sd”

2. Reinicie o ASMLIB:
# /etc/init.d/oracleasm restart

Resultado Final terá que ficar assim em todos os Nodes:
[root@rac1 sysconfig]# /usr/sbin/oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=”dm”
ORACLEASM_SCANEXCLUDE=”sd”

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

Com isso o Grid InfraStructure reconhecerá os discos

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

Configurações de Rede cada Servidor possui 4 placas de Rede(Recomendado para Oracle RAC):

[root@rac1 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr B8:AC:6F:14:3E:06

inet addr:10.0.0.3  Bcast:10.0.0.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe14:3e06/64 Scope:Link

eth1      Link encap:Ethernet  HWaddr B8:AC:6F:14:3E:08

inet addr:192.168.0.3  Bcast:192.168.0.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe14:3e08/64 Scope:Link

eth2      Link encap:Ethernet  HWaddr B8:AC:6F:14:3E:0A

inet addr:192.168.130.50  Bcast:192.168.130.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe14:3e0a/64 Scope:Link

eth3      Link encap:Ethernet  HWaddr B8:AC:6F:14:3E:0C

inet addr:192.168.130.51  Bcast:192.168.130.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe14:3e0c/64 Scope:Link

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

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

[root@rac2 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr B8:AC:6F:13:E1:C7

inet addr:10.0.0.4  Bcast:10.0.0.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe13:e1c7/64 Scope:Link

eth1      Link encap:Ethernet  HWaddr B8:AC:6F:13:E1:C9

inet addr:192.168.0.4  Bcast:192.168.0.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe13:e1c9/64 Scope:Link

eth2      Link encap:Ethernet  HWaddr B8:AC:6F:13:E1:CB

inet addr:192.168.130.52  Bcast:192.168.130.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe13:e1cb/64 Scope:Link

eth3      Link encap:Ethernet  HWaddr B8:AC:6F:13:E1:CD

inet addr:192.168.130.53  Bcast:192.168.130.255  Mask:255.255.255.0

inet6 addr: fe80::baac:6fff:fe13:e1cd/64 Scope:Link

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

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

INSTALAÇÃO DO GRID INFRASTRUCTURE

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

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

Uma novidade durante a instalação do Grid Infrastructure é que ele configura a Conectividade do SSH.

Eu testei e realmente funciona, não precisando configurar no linux como faziamos no Oracle RAC 10g


Caso nesta tela não apareça os discos será necessário executar os passos abaixo:

Configurar Multipath se não o Grid InfraStructure não irá achar os ASM DISKS

==============================================================================================================
Conforme Nota no Suporte Oracle seguir os procedimentos abaixo:

Rodar em todos os Nodes,

1. Modify the /etc/sysconfig/oracleasm with:

ORACLEASM_SCANORDER=”dm” ORACLEASM_SCANEXCLUDE=”sd”

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

2. restart the asmlib by : # /etc/init.d/oracleasm restart

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

The configuration file /etc/sysconfig/oracleasm parameters “ORACLEASM_SCANORDER” and “ORACLEASM_SCANEXCLUDE” were updated,

but after restarting the Oracleasm service the changes were not put into effect.

For example: multipath was configured and the “dm-” devices are presented.

The “/etc/sysconfig/oracleasm” file was configured accordingly:

# ORACLEASM_SCANORDER:

Matching patterns to order disk scanning

ORACLEASM_SCANORDER=”dm”

# ORACLEASM_SCANEXCLUDE:

Matching patterns to exclude disks from scan

ORACLEASM_SCANEXCLUDE=”sd”

Caso não consiga

[root@rac1 sysconfig]# /usr/sbin/oracleasm configure

ORACLEASM_ENABLED=true

ORACLEASM_UID=oracle

ORACLEASM_GID=dba

ORACLEASM_SCANBOOT=true

ORACLEASM_SCANORDER=”"

ORACLEASM_SCANEXCLUDE=”"

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

Solução

Remove the manually created file and create the soft-link:

# mv /etc/sysconfig/oracleasm /etc/sysconfig/oracleasm_bak

# ln oracleasm-_dev_oracleasm /etc/sysconfig/oracleasm

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

Subsequent edits to /etc/sysconfig/oracleasm will then be correctly applied

Note: Any changes to the  configuration file requires a restart of OracleASM to take effect:

# /etc/init.d/oracleasm restart

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

Selecione as Variáveis:

Mofique nas 2 maquinas 1.

Modifique o arquivo /etc/sysconfig/oracleasm:

ORACLEASM_SCANORDER=”dm”

ORACLEASM_SCANEXCLUDE=”sd”

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

2. Reinicie ASMLIB:

/etc/init.d/oracleasm restart

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

Resultado Final terá que ficar assim em todos os Nodes:

[root@rac1 sysconfig]# /usr/sbin/oracleasm configure

ORACLEASM_ENABLED=true

ORACLEASM_UID=oracle

ORACLEASM_GID=dba

ORACLEASM_SCANBOOT=true

ORACLEASM_SCANORDER=”dm”

ORACLEASM_SCANEXCLUDE=”sd”

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

Com isso o Grid InfraStructure reconhecerá os discos


Conforme a Nota no Suporte Oracle podemos ignorar este Erro conforme abaixo:

Device Checks for ASM Fails with PRVF-5150: Path xx is not a valid path on all nodes [ID 1210863.1]

Modified 10-OCT-2010     Type PROBLEM     Status MODERATED

In this Document
Symptoms
Cause
Solution


This document is being delivered to you via Oracle Support’s Rapid Visibility (RaV) process and therefore has not been subject to an independent technical review.

Applies to:

Oracle Server – Enterprise Edition – Version: 11.2.0.1 and later   [Release: 11.2 and later ]
Generic Linux

Symptoms

Device Checks for ASM Failed:

Device Checks for ASM – This is a pre-check to verity if the specified devices meet the requirements for configuration through the Oracle Universal Storage Manager Configuration Assistant.

Verification result of failed node: racnode1

List of errors:

- PRVF-5150: Path ORCL:DISKCLU is not a valid path on all nodes

Operation Failed on Nodes: [racnode1]

List of errors:

-  Could not get the type of storage

- Cause: Cause of Problem Not Available

- Action: User Action Not Available

Cause

Unpublished bug 10026970

Solution

At the time of this writing, bug 10026970 is not fixed yet. If ASM device passes manual verification, the warning can be ignored.

To verify asmlib status:

/etc/init.d/oracleasm status

Checking if ASM is loaded:                                  [  OK  ]

Checking if /dev/oracleasm is mounted:                [  OK  ]
## Both should be [OK]

To verify user setting in asmlib:
id <grid user>
uid=1001(grid) gid=1000(oinstall) groups=1000(oinstall)

/usr/sbin/oracleasm configure

ORACLEASM_ENABLED=true

ORACLEASM_UID=grid

ORACLEASM_GID=oinstall

ORACLEASM_SCANBOOT=true

ORACLEASM_SCANORDER=”"

ORACLEASM_SCANEXCLUDE=”"

## both ORACLEASM_UID and ORACLEASM_GID should match id output for grid user.

To verify disk

/etc/init.d/oracleasm listdisks

DISKCLU

ls -l /dev/oracleasm/disks

..

brw-rw—-    1 grid oinstall        8,  33 Sep 16 09:41 DISKCLU

dd if=/dev/oracleasm/disks/DISKCLU of=/dev/null bs=1024k count=1

1+0 records in

1+0 records out

## Disk DISKCLU is available and readable from above output.

[root@rac1 /]# /etc/init.d/oracleasm status

Checking if ASM is loaded: yes

Checking if /dev/oracleasm is mounted: yes

[root@rac2 /]# /etc/init.d/oracleasm status

Checking if ASM is loaded: yes

Checking if /dev/oracleasm is mounted: yes


[root@rac1 /]# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of the script is complete.

[root@rac1 /]#

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

[root@rac2 /]# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of the script is complete.

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

[root@rac1 /]# /u01/app/11.2.0/grid/root.sh

Running Oracle 11g root script…

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME=  /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin …

Copying oraenv to /usr/local/bin …

Copying coraenv to /usr/local/bin …

Creating /etc/oratab file…

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

LOCAL ADD MODE

Creating OCR keys for user ‘root’, privgrp ‘root’..

Operation successful.

OLR initialization – successful

root wallet

root wallet cert

root cert export

peer wallet

profile reader wallet

pa wallet

peer wallet keys

pa wallet keys

peer cert request

pa cert request

peer cert

pa cert

peer root cert TP

profile reader root cert TP

pa root cert TP

peer pa cert TP

pa peer cert TP

profile reader pa cert TP

profile reader peer cert TP

peer user cert

pa user cert

Adding daemon to inittab

ACFS-9200: Supported

ACFS-9300: ADVM/ACFS distribution files found.

ACFS-9307: Installing requested ADVM/ACFS software.

ACFS-9308: Loading installed ADVM/ACFS drivers.

ACFS-9321: Creating udev for ADVM/ACFS.

ACFS-9323: Creating module dependencies – this may take some time.

ACFS-9327: Verifying ADVM/ACFS devices.

ACFS-9309: ADVM/ACFS installation correctness verified.

CRS-2672: Attempting to start ‘ora.mdnsd’ on ‘rac1′

CRS-2676: Start of ‘ora.mdnsd’ on ‘rac1′ succeeded

CRS-2672: Attempting to start ‘ora.gpnpd’ on ‘rac1′

CRS-2676: Start of ‘ora.gpnpd’ on ‘rac1′ succeeded

CRS-2672: Attempting to start ‘ora.cssdmonitor’ on ‘rac1′

CRS-2672: Attempting to start ‘ora.gipcd’ on ‘rac1′

CRS-2676: Start of ‘ora.cssdmonitor’ on ‘rac1′ succeeded

CRS-2676: Start of ‘ora.gipcd’ on ‘rac1′ succeeded

CRS-2672: Attempting to start ‘ora.cssd’ on ‘rac1′

CRS-2672: Attempting to start ‘ora.diskmon’ on ‘rac1′

CRS-2676: Start of ‘ora.diskmon’ on ‘rac1′ succeeded

CRS-2676: Start of ‘ora.cssd’ on ‘rac1′ succeeded

ASM created and started successfully.

Disk Group GRIDDATA created successfully.

clscfg: -install mode specified

Successfully accumulated necessary OCR keys.

Creating OCR keys for user ‘root’, privgrp ‘root’..

Operation successful.

CRS-4256: Updating the profile

Successful addition of voting disk 9fdb329eb3924f82bf5261c58e3fc2d5.

Successfully replaced voting disk group with +GRIDDATA.

CRS-4256: Updating the profile

CRS-4266: Voting file(s) successfully replaced

##  STATE    File Universal Id                File Name Disk group

–  —–    —————–                ——— ———

1. ONLINE   9fdb329eb3924f82bf5261c58e3fc2d5 (ORCL:OCR01) [GRIDDATA]

Located 1 voting disk(s).

CRS-2672: Attempting to start ‘ora.asm’ on ‘rac1′

CRS-2676: Start of ‘ora.asm’ on ‘rac1′ succeeded

CRS-2672: Attempting to start ‘ora.GRIDDATA.dg’ on ‘rac1′

CRS-2676: Start of ‘ora.GRIDDATA.dg’ on ‘rac1′ succeeded

ACFS-9200: Supported

ACFS-9200: Supported

CRS-2672: Attempting to start ‘ora.registry.acfs’ on ‘rac1′

CRS-2676: Start of ‘ora.registry.acfs’ on ‘rac1′ succeeded

Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@rac1 /]#

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

[root@rac2 /]# /u01/app/11.2.0/grid/root.sh

Running Oracle 11g root script…

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME=  /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin …

Copying oraenv to /usr/local/bin …

Copying coraenv to /usr/local/bin …

Creating /etc/oratab file…

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

LOCAL ADD MODE

Creating OCR keys for user ‘root’, privgrp ‘root’..

Operation successful.

OLR initialization – successful

Adding daemon to inittab

ACFS-9200: Supported

ACFS-9300: ADVM/ACFS distribution files found.

ACFS-9307: Installing requested ADVM/ACFS software.

ACFS-9308: Loading installed ADVM/ACFS drivers.

ACFS-9321: Creating udev for ADVM/ACFS.

ACFS-9323: Creating module dependencies – this may take some time.

ACFS-9327: Verifying ADVM/ACFS devices.

ACFS-9309: ADVM/ACFS installation correctness verified.

CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac1, number 1, and is terminating

An active cluster was found during exclusive startup, restarting to join the cluster

Configure Oracle Grid Infrastructure for a Cluster … succeeded

[root@rac2 /]#

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

Grid InfraStructure do Cluster Instalado com sucesso !

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

INSTALAÇÃO DO SOFTWARE ORACLE 11G R2 11.2.0.2

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

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

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


[root@rac1 /]# /u01/app/oracle/product/11.2.0/ajr/root.sh

Running Oracle 11g root script…

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME=  /u01/app/oracle/product/11.2.0/ajr

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of “dbhome” have not changed. No need to overwrite.

The contents of “oraenv” have not changed. No need to overwrite.

The contents of “coraenv” have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

[root@rac1 /]#

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

[root@rac2 /]# /u01/app/oracle/product/11.2.0/ajr/root.sh

Running Oracle 11g root script…

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME=  /u01/app/oracle/product/11.2.0/ajr

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The contents of “dbhome” have not changed. No need to overwrite.

The contents of “oraenv” have not changed. No need to overwrite.

The contents of “coraenv” have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

[root@rac2 /]#

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

Software Oracle 11g 11.2.0.2 Instalado com sucesso !

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

ASMCA – Criar Disk Group para armazenamento do Banco de Dados

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

ASMCA uma nova Feature do Oracle 11gR2 no qual pode criar e gerenciar DiskGroups.

/u01/app/11.2.0/bin/asmca




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

Disk Group criado com sucesso !

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

DBCA – CRIAÇÃO DO BANCO DE DADOS COM DBCA

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


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

Banco de Dados Oracle Criado com Sucesso !

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

Para finalizar segue alguns comandos de administração do Oracle RAC 11g R2:

Parar Enterprise Manager

[oracle@rac1 ~]$ emctl stop dbconsole

Iniciar Enterprise Manager

[oracle@rac1 ~]$ emctl start dbconsole

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

Parar todos os Listerners

[oracle@rac1 ~]$ srvctl stop listener

Iniciar todos os Listerners

[oracle@rac1 ~]$ srvctl start listener

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

Parar apenas um Listener (AJR1)

[oracle@rac1 ~]$ srvctl stop listener -n AJR1

Iniciar apenas um Listener (AJR1)

[oracle@rac1 ~]$ srvctl start listener -n AJR1

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

Parar apenas uma Instancia(AJR2)

[oracle@rac1 ~]$ srvctl  stop instance -d AJR -i AJR2

Iniciar apenas uma Instancia(AJR2)

[oracle@rac1 ~]$ srvctl start  instance -d AJR -i AJR2

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

Parar todas as Instancias e Banco de Dados

[oracle@rac1 ~]$ srvctl stop database -d RAC

Iniciar todas as Instancias e Banco de Dados

[oracle@rac1 ~]$ srvctl start database -d RAC

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

Verificar o Cluster

Cluster [root@rac1 /]# /u01/app/11.2.0/grid/bin/crsctl check cluster

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

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

Parar o Cluster (detalhe com usuario root)

[root@rac1 /]# /u01/app/11.2.0/grid/bin/crsctl stop cluster

Iniciar o Cluster (detalhe com usuario root)

[root@rac1 /]# /u01/app/11.2.0/grid/bin/crsctl start cluster

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

Bom Pessoal espero ter ajudado.

Abraço,

Bruno Murassaki


março 13, 2011

Hoje eu Sou um DBA… A profissão é nobre o dificil é explicar…

Filed under: Um dia de DBA — brunomurassaki @ 1:18 am

Olá pessoal, este post vai em homenagem a todos os DBAs que sofrem explicando a profissão.

Qual DBA já não passou pela seguinte situação….

- Num encontro de familia e amigos, uma pessoa pergunta você trabalha com informática?

- Olha…meu computador parou de funcionar… Você conserta computador?

Devido essa dificuldade que passamos de como explicar nossa profissão a Banda The Sprinters criou a música abaixo:

Parabéns a Banda The Sprinters pela criatividade da música, realmente é nossa realidade.

Abraço,

Atenciosamente

Bruno Murassaki

fevereiro 21, 2011

Oracle RAC 10g – Real Application Clusters Database 10g on Linux

Filed under: Oracle RAC — brunomurassaki @ 1:27 am

Olá pessoal,

Depois de um bom tempo sem postar, gostaria de dizer a todos que acompanhavam meu blog, que estou voltando a todo vapor escrevendo novos artigos a comunidade Oracle. Estive ausente devido sobrecarga de trabalho e estudos durante esses últimos meses.

O artigo de fevereiro 2011 será sobre Oracle RAC, onde estarei simulando um ambiente Oracle RAC em Vmware Server. Como muitos sabem o ambiente Oracle RAC é um dos mais complexos e desejados por grandes Empresas e para isso exige alto custo em investimento em TI.

Oracle RAC permite múltiplos computadores rodarem um RDBMS Oracle simultaneamente enquanto acessando um unico Banco de Dados, assim fornecendo um Banco de Dados Clusterizado. Em um ambiente Oracle RAC, dois ou mais Servidores(Nodes) concorrentemente acessa um unico Banco de Dados(Storage).
Um Banco de Dados em RAC é um Banco de Dados em Cluster. Um Cluster é um grupo de servidores indenpendentes que coopera com um unico sistema.
Em um evento de uma Falha de Sistema, Cluster assegura alta disponibilidade para os Usuarios. O Acesso de missão crítica do dados não é perdido.
O ambiante RAC também fornece componentes de Hardware reduntantes, tal como nodes adicionais, interconects e discos, permitindo cluster fornecer alta disponibilidade.

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

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

Oracle RAC 10g fornece os seguintes benefícios:
- Alta Disponibilidade
- Segurança
- Flexibilidade
- Escalabilidade
- Performance

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

Ambiente:

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

- Banco de Dados: Oracle 10g 10.2.0.4 – Standard Edition  

- Sistema Operacional: Oracle Enterprise Linux 4 Update 6

- Ferramenta de Virtualização: VMware Server

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

PRÉ-REQUISITOS DO AMBIENTE:

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

1. Cada Servidor(Node) com Mínimo de 1 CPU

2. Cada Servidor(Node) com Mínimo de 700Mb de Memória RAM

3. Cada Servidor(Node) com Mínimo de 20gb de espaço em disco.

4. Total de 3 DiskGroups (ASMDISK1 = 1gb, ASMDISK2 = 1gb, ASMDISK3 = 3gb) = +DATA

5. Voting disk terá 1gb de espaço e OCR 1gb  de espaço

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

O Mínimo para um Ambiente Oracle RAC são 2 servidores e 1 Storage, como não temos esse equipamentos que o custo é alto, então utilizaremos a ferramenta de virtualização VMware Server para simular nosso ambiente.

Iniciaremos configurando WMware Server e toda sua estrutura para simular o ambiente.

Estrutura de diretorios criada:

D:\VM\rac\sharedstorage

D:\VM\rac\rac1

D:\VM\rac\rac2

Iremos preparar o VMWARE Server para que funciona o Oracle RAC:

Deixaremos com varios discos simulando um storage e com duas placas de rede.

NEXT nas Proximas telas….

Criando Partições Compartilhadas (ASM), OCR, Voting Disk

Repetir este Procedimento para todas Partições.


Pronto Partições Criadas !!


Alterar o Arquivo do Diretorio : D:\VM\rac\rac1\Red Hat Enterprise Linux 4.vmx

config.version = “8″

virtualHW.version = “4″

scsi0.present = “TRUE”

scsi0.virtualDev = “lsilogic”

memsize = “700″

scsi0:0.present = “TRUE”

scsi0:0.fileName = “localdisk.vmdk”

ide1:0.present = “TRUE”

ide1:0.fileName = “auto detect”

ide1:0.deviceType = “cdrom-raw”

floppy0.fileName = “A:”

Ethernet0.present = “TRUE”

displayName = “RAC1″

guestOS = “rhel4″

priority.grabbed = “normal”

priority.ungrabbed = “normal”

disk.locking = “FALSE”

diskLib.dataCacheMaxSize = “0″

scsi1.sharedBus = “virtual”

scsi1.present = “TRUE”

scsi1:0.present = “TRUE”

scsi1:0.fileName = “D:\VM\rac\sharedstorage\asmdisk1.vmdk”

scsi1:0.mode = “independent-persistent”

scsi1:0.deviceType = “disk”

scsi1:1.present = “TRUE”

scsi1:1.fileName = “D:\VM\rac\sharedstorage\asmdisk2.vmdk”

scsi1:1.mode = “independent-persistent”

scsi1:1.deviceType = “disk”

scsi1:2.present = “TRUE”

scsi1:2.fileName = “D:\VM\rac\sharedstorage\asmdisk3.vmdk”

scsi1:2.mode = “independent-persistent”

scsi1:2.deviceType = “disk”

scsi1:3.present = “TRUE”

scsi1:3.fileName = “D:\VM\rac\sharedstorage\asmdisk4.vmdk”

scsi1:3.mode = “independent-persistent”

scsi1:3.deviceType = “disk”

scsi1:4.present = “TRUE”

scsi1:4.fileName = “D:\VM\rac\sharedstorage\asmdisk5.vmdk”

scsi1:4.mode = “independent-persistent”

scsi1:4.deviceType = “disk”

scsi1.virtualDev = “lsilogic”

ide1:0.autodetect = “TRUE”

Ethernet1.present = “TRUE”

Ethernet1.connectionType = “hostonly”

floppy0.present = “FALSE”

Pronto nossa estrutura ja esta preparada para receber o Sistema Operacinal do Primiro Nó.


Instalando  e  Configurando Oracle Enterprise Linux 4 Update 6 – 64bits na Primeira Máquina Virtual

Preparar os Pré-requisitos para Instalação do Oracle RAC

Criar Usuario Oracle. Com usuario root, execute
# groupadd oinstall
# groupadd dba
# mkdir -p /installoracle
# chown –R oracle.oinstall /u01
# chown –R oracle.oinstall /installoracle
# useradd -g oinstall -G dba oracle
# passwd oracle
New Password:
Re-enter new Password:
passwd: password successfully changed for oracle

Criar bash_profile. Com usuario oracle, execute
# .bash_profile
TMP=/tmp
TMPDIR=$TMP
TEMP=$TMP
export ORACLE_SID=db1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_TERM=xterm
export ORACLE_TERM
PATH=$PATH:$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rd
bms/jlib
export CLASSPATH
export PATH

Após criar bash_profile, crie a estrutura de diretório. Com usuario oracle, execute
mkdir -p $ORACLE_BASE/admin
mkdir -p $ORACLE_HOME
mkdir -p $ORA_CRS_HOME
mkdir -p /u01/oradata/db
Adicionar vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

/etc/pam.d/login
session required /lib/security/pam_limits.so

/etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Instalar Pacotes OEL 4 Update 6 necessários para instalação:
Verificar Pacotes:
rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs
\libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio

Configurar Parametros de Kernel. Vi /etc/sysctl.conf.
To make the changes effective immediately, execute /sbin/sysctl –p.
# more /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144

Alterar /etc/hosts file.
# more /etc/hosts
127.0.0.1 localhost.localdomain localhost
#PUBLIC
10.1.1.131 rac1.murassaki.com.br rac1
10.1.1.132 rac2.murassaki.com.br rac2
#PRIVATE
10.10.10.31 rac1-priv.murassaki.com.br rac1-priv
10.10.10.32 rac2-priv.murassaki.com.br rac2-priv
#VIRTUAL
10.1.1.31 rac1-vip.murassaki.com.br rac1-vip
10.1.1.32 rac2-vip.murassaki.com.br rac2-vip

Criar Partições no Disco OCR, Voting Disk e ASM.
Prepare a set of raw disks for OCFS2 (/dev/sdb),and for Oracle ASM (/dev/sdc,
/dev/sdd, /dev/sde).
RAC1, com usuário root, execute
[root@rac1 installoracle]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130):
Using default value 130
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@rac1 installoracle]# fdisk /dev/sdc
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-130, default 130):
Using default value 130
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.

Caso não tenha os pacotes ASM, senão ignore este passo.Execute os pacotes do
ASM.Para verificar execute:

[root@rac1 swdl]# rpm -qa | grep oracleasm
oracleasm-support-2.0.3-2
oracleasm-2.6.9-42.0.0.0.1.ELsmp-2.0.3-2
oracleasmlib-2.0.2-1

Configure o ASM
[root@rac1 ASMLIB]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets (‘[]‘). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: [ OK ]
Creating /dev/oracleasm mount point: [ OK ]
Loading module “oracleasm”: [ OK ]
Mounting ASMlib driver filesystem: [ OK ]
Scanning system for ASM disks: [ OK ]
[root@rac1 ASMLIB]#

Mapeando RAW DEVICE

Mapeamento do raw devices para discos ASM. Um mapeamento raw device é requerido somentese você está planejando criar
discos ASM usando Standard Linux I/O. Uma alternativa para criar discos ASM é usar ASM library driver fornecido pela Oracle.
Execute os seguinte passos para mapear raw devices para compartilhar partições criadas anteriormente.
Adicione as seguintes linha em /etc/sysconfig/rawdevices.

vi /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
/dev/raw/raw3 /dev/sdd1
/dev/raw/raw4 /dev/sde1
/dev/raw/raw5 /dev/sdf1
Para garantir mapeamento efetivo imediatamente, execute os seguintes comandos com o usuario root:
# /sbin/service rawdevices restart
Assigning devices:
/dev/raw/raw1 –> /dev/sdb1
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2 –> /dev/sdc1
/dev/raw/raw2: bound to major 8, minor 33
/dev/raw/raw3 –> /dev/sdd1
/dev/raw/raw3: bound to major 8, minor 49
/dev/raw/raw4 –> /dev/sde1
/dev/raw/raw4: bound to major 8, minor 65
/dev/raw/raw5 –> /dev/sdf1
/dev/raw/raw5: bound to major 8, minor 81

Done
# chown oracle:dba /dev/raw/raw[1-5]
# chmod 660 /dev/raw/raw[1-5]
# ls -lat /dev/raw/raw*
crw-rw—- 1 oracle dba 162, 5 Sep 20 12:44 /dev/raw/raw5
crw-rw—- 1 oracle dba 162, 1 Sep 20 12:44 /dev/raw/raw1
crw-rw—- 1 oracle dba 162, 2 Sep 20 12:44 /dev/raw/raw2
crw-rw—- 1 oracle dba 162, 3 Sep 20 12:44 /dev/raw/raw3
crw-rw—- 1 oracle dba 162, 4 Sep 20 12:44 /dev/raw/raw4

Com usuario oracle execute:
ln -sf /dev/raw/raw1 /u01/oradata/db/ocr1
ln -sf /dev/raw/raw2 /u01/oradata/db/votingdisk1
ln -sf /dev/raw/raw3 /u01/oradata/db/asmdisk1
ln -sf /dev/raw/raw4 /u01/oradata/db/asmdisk2
ln -sf /dev/raw/raw5 /u01/oradata/db/asmdisk3

Modificar /etc/udev/permissions.d/50-udev.permissions. Raw devices são mapeados no boot.
O ownership do raw devices será alterado para o usuario root por default no boot.
ASM terá problemas acessando as partições compartilhadas se ownership não é o usuario oracle.

Com isso faça a seguinte alterção abaixo:

Comente a linha original em,“raw/*:root:disk:0660” em
/etc/udev/permissions.d/50-udev.permissions

e adicione uma nova linha,and add a new line,
“raw/*:oracle:dba:0660.”

/etc/udev/permissions.d/50-udev.permissions
# raw devices
ram*:root:disk:0660
#raw/*:root:disk:0660
raw/*:oracle:dba:0660

Pronto agora ja podemos clonar a maquina virtual

Após criar a Primeira VM é preciso
criar a segunda VM fazendo uma
copia da Primeira
Desligue a Virtual Machine RAC1,
# shutdown –h now
Copiar todos os arquivos do RAC1 para o diretório do RAC2
D:\>copy d:\vm\rac\rac1 d:\vm\rac\rac2

Estabilizar Equivalência de Usuário com SSH.
Durante o Cluster Ready Service (CRS) e instalação RAC, o Oracle Universal
Installer(OUI) tem que ser capaz de copiar o software Oracle para todos os NOS do
RAC sem a necessidade de digitar senha. Em Oracle 10g, isto pode ser realizado usando
SSH ao invest de RSH. Para estabilizar a equivalência de Usuário, crie a chave Publica
e Privada do Usuário com o usuário Oracle em ambos os NOS. Ative as duas VMs e
execute os seguintes passos:

On rac1,
rac1-> mkdir ~/.ssh
rac1-> chmod 700 ~/.ssh
rac1-> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_rsa.
Your public key has been saved in /export/home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
87:54:4f:92:ba:ed:7b:51:5d:1d:59:5b:f9:44:da:b6
oracle@rac1.mycorpdomain.com
rac1-> ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_dsa.
Your public key has been saved in /export/home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
31:76:96:e6:fc:b7:25:04:fd:70:42:04:1f:fc:9a:26
oracle@rac1.mycorpdomain.com

On rac2,
rac2-> mkdir ~/.ssh
rac2-> chmod 700 ~/.ssh
rac2-> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Install Oracle RAC 10g on Oracle Enterprise Linux Using VMware Server

http://www.oracle.com/technology/pub/articles/chan-ubl-vmware.html?…

20 of 46 4/19/2007 12:45 PM
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_rsa.
Your public key has been saved in /export/home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
29:5a:35:ac:0a:03:2c:38:22:3c:95:5d:68:aa:56:66
oracle@rac2.mycorpdomain.com
rac2-> ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/export/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home/oracle/.ssh/id_dsa.
Your public key has been saved in /export/home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
4c:b2:5a:8d:56:0f:dc:7b:bc:e0:cd:3b:8e:b9:5c:7c
oracle@rac2.mycorpdomain.com

On rac1,
rac1-> cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
rac1-> cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
rac1-> ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
The authenticity of host ‘rac2 (192.168.2.132)’ can’t be established.
RSA key fingerprint is 63:d3:52:d4:4d:e2:cb:ac:8d:4a:66:9f:f1:ab:28:1f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘rac2,192.168.2.132′ (RSA) to the list of known
hosts.
oracle@rac2′s password:
rac1-> ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
oracle@rac2′s password:
rac1-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
oracle@rac2′s password:
authorized_keys 100% 1716 1.7KB/s 00:00
Teste a conexão de cada NÓ. Verifique que após a Equivalência do Usuário não será
preciso emitir senha para conectar de uma VM a outra. Teste com os seguintes
comandos:
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
ssh rac1.murassaki.com.br date
ssh rac2.murassaki.com.br date
ssh rac1-priv.murassaki.com.br date
ssh rac2-priv.murassaki.com.br date

5. Configure Oracle Automatic Storage Management(ASM)
Configure ASMLib. Configure o ASMLib com o usuario root em ambos os nodes.
# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets (‘[]‘). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Install Oracle RAC 10g on Oracle Enterprise Linux Using VMware Server

http://www.oracle.com/technology/pub/articles/chan-ubl-vmware.html?…

21 of 46 4/19/2007 12:45 PM
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: [ OK ]
Loading module “oracleasm”: [ OK ]
Mounting ASMlib driver filesystem: [ OK ]
Scanning system for ASM disks: [ OK ]

Criar discos ASM. Criar discos ASM em qualquer Node com o usuario root.
[root@rac1 ~]# /etc/init.d/oracleasm createdisk ASMDISK1 /dev/sdd1
Marking disk “/dev/sdd1″ as an ASM disk: [ OK ]
[root@rac1 ~]# /etc/init.d/oracleasm createdisk ASMDISK2 /dev/sde1
Marking disk “/dev/sde1″ as an ASM disk: [ OK ]
[root@rac1 ~]# /etc/init.d/oracleasm createdisk ASMDISK3 /dev/sdf1
Marking disk “/dev/sdf1″ as an ASM disk: [ OK ]
[root@rac1 ~]# /etc/init.d/oracleasm listdisks
ASMDISK1
ASMDISK2
ASMDISK3

Instalando Oracle Clusterware


Rode VIPCA Manualmente no RAC2 com Usuario
ROOT para configurar a interface eth0 Public como
Virtual e assim resolvendo este problema.

Pronto VIPCA Configurado com Sucesso. Por Favor
volte ao RAC1 e Terminei a Instalação do Clusterware
clicando em OK.

Pronto Clusterware Instalado e Configurado com Sucesso.

Para Verificar se o Recurso de Clusterware está rodando corretamente:

Instalando o Software do Banco de Dados e Criando uma Instância ASM.

Pronto Software Oracle e Instancia ASM Instalado e Configurado com Sucesso

Instalação PatchSet 10.2.0.4 – CRS

Identificar o ORACLE_HOME do CRS:

Instalação PatchSet 10.2.0.4 – RDBMS 10g
Antes de aplicar o PatchSet devemos parar as instancias:
- cd /u01/app/Oracle/product/10.2.0/crs/Bin/
./srvctl stop asm –n rac1
./srvctl stop asm –n rac2
A primeira tela basta dar next:

Identificar o ORACLE_HOME do Software Oracle:

Pronto Pachset 10.2.0.4 aplicado com sucesso.

Inicia a Instancia
$ ./srvctl stop asm -n rac1
$ ./srvctl start asm -n rac1
$ ./srvctl stop asm -n rac2
$ ./srvctl start asm -n rac2
Inicia – Listener e Servicos de CLuster
$ ./srvctl start nodeapps -n rac1
$ ./srvctl stop nodeapps -n rac1
$ ./srvctl start nodeapps -n rac2
$ ./srvctl stop nodeapps -n rac2
Inicia Banco de Dados e Todos os Serviços
$ srvctl start database -d orcl
$ srvctl stop database -d orcl

Verifica se a Instancia, Listener e Servicos de Cluster estão no Ar.
$ ./crs_stat -t

Criando um Banco de Dados Usando DBCA

Pronto Banco de Dados Instalado e Configurado com Sucesso.

Resultado Final deverá ser esse:

Bom é isso espero ter ajudado !!

Hope this help!

Best Regards

Bruno Murassaki


janeiro 3, 2011

Os números de 2010

Filed under: Sem categoria — brunomurassaki @ 1:44 am

Os duendes das estatísticas do WordPress.com analisaram o desempenho deste blog em 2010 e apresentam-lhe aqui um resumo de alto nível da saúde do seu blog:

Healthy blog!

O Blog-Health-o-Meter™ indica: Mais fresco do que nunca.

Números apetitosos

Imagem de destaque

Um Boeing 747-400 transporta 416 passageiros. Este blog foi visitado cerca de 9,600 vezes em 2010. Ou seja, cerca de 23 747s cheios.

Em 2010, escreveu 1 novo artigo, aumentando o arquivo total do seu blog para 18 artigos. Fez upload de 53 imagens, ocupando um total de 3mb. Isso equivale a cerca de 1 imagens por semana.

The busiest day of the year was 19 de outubro with 85 views. The most popular post that day was Oracle Data Guard Database 10g Linux.

De onde vieram?

Os sites que mais tráfego lhe enviaram em 2010 foram profissionaloracle.com.br, google.com.br, rodrigoalmeida.net, search.conduit.com e dbabrasil-adelson.blogspot.com

Alguns visitantes vieram dos motores de busca, sobretudo por bruno murassaki, how-to oracle data guard broker, enterprise manager grid control, how to install oracle db console enterprise manager on oracle 10g e oracle grid control

Atracções em 2010

Estes são os artigos e páginas mais visitados em 2010.

1

Oracle Data Guard Database 10g Linux dezembro, 2009
10 comentários

2

Oracle Enterprise Manager 10g Grid Control Release 5 fevereiro, 2010
6 comentários

3

Criando e Gerenciando Sinônimos – Oracle dezembro, 2009

4

Comandos Básicos Administração Banco de Dados Oracle dezembro, 2009
1 comentário

5

Alterando uma Tabela em um Banco de Dados Oracle dezembro, 2009
1 comentário

fevereiro 1, 2010

Oracle Enterprise Manager 10g Grid Control Release 5

Filed under: OEM Grid Control — brunomurassaki @ 1:48 am

Olá Pessoal, tudo bem?

Hoje estarei postando sobre uma ferramenta da Oracle muito interessante que é o Oracle Enterprise Manager Grid Control. Com esta ferramenta é possível monitorar mais de um banco de dados ao mesmo tempo.  Essa ferramenta não é a ferramenta que vem default com o Oracle Database 10g que seria o Oracle Enterprise Manager DCONSOLE.

A diferença entre o Grid Control e DBCONSOLE:

- Oracle Enterprise Manager DBCONSOLE: Gerencia apenas um Banco de Dados.

- Oracle Enterprise Manager Grid Control: Gerencia varios Banco de Dados ao mesmo tempo.

Abaixo um exemplo de Gerenciamento do Oracle Enterprise Manager Grid Control:

Ambiente:

Preparar uma maquina a separada para o Grid Control

Sistema Operacional: Red Hat 5 Enterprise Linux Update 3 – 32 bits

Versão do Oracle: Grid Control Oracle 10g – 32 bits

Memória RAM: Requer 2024Mb ou 2GB

Aplicações Oracle a serem utilizadas:

1- gc_102011_linux

2- gc_10205_part1of2

3- gc_10205_part2of2

Preparar o Ambiente Linux para o Grid Control 10g:

Ajustar o host do Servidor:

The /etc/hosts file must contain a fully qualified name for the server:

192 127.0.0.1               localhost.localdomain  localhost
192.168.199.60              gridcontrol.murassaki.com.br gridcontrol

Criar usuario Oracle:

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

mkdir -p /u01/app/oracle/product/10.2.0/oms
mkdir –p /installoracle
chown -R oracle.oinstall /u01
chown -R oracle.oinstall /installoracle

Configurar todos os Parametros do Kernel e Pacotes como se  fosse executar uma instalação normal de um banco de dados Oracle 10g.

Prepare Red Hat Enterprise Linux 5 Environment

Oracle Enterprise Manager 10g Grid Control Release 2 não é diretamente suportado pela plataforma Red Hat Enterprise Linux 5. Para assegurar que o Software Enterprise Manager 10g Grid Control Release 2 será instalado com sucesso na paltaforma RHEL 5, execute os seguintes comandos com o usuario root:

[root@oemprod ~]# ln -s /usr/lib/libgdbm.so.2.0.0 /usr/lib/libdb.so.2
[root@oemprod ~]# chmod 755 /usr/lib/libgdbm.so.2.0.0
[root@oemprod ~]# chmod 755 /usr/lib/libdb.so.2

Iniciando Instalação Grid Control:

Instalaremos primeiro o 10.2.0.1 = gc_102011_linux.zip

[oracle@gridcontrol Disk1]$ ./runInstaller

[oracle@gridcontrol bin]$ ./opmnctl start

opmnctl: opmn is already running

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

[oracle@gridcontrol bin]$ ./opmnctl status

Processes in Instance: EnterpriseManager0.gridcontrol.db1.com.br

——————-+——————–+———+———

ias-component      | process-type       |     pid | status

——————-+——————–+———+———

DSA                | DSA                |     N/A | Down

HTTP_Server        | HTTP_Server        |     N/A | Down

LogLoader          | logloaderd         |     N/A | Down

dcm-daemon         | dcm-daemon         |     N/A | Down

OC4J               | home               |     N/A | Down

WebCache           | WebCache           |     N/A | Down

WebCache           | WebCacheAdmin      |     N/A | Down

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

[oracle@gridcontrol bin]$ ./opmnctl startall

opmnctl: starting opmn and all managed processes…

[oracle@gridcontrol bin]$ ./opmnctl status

Processes in Instance: EnterpriseManager0.gridcontrol.db1.com.br

——————-+——————–+———+———

ias-component      | process-type       |     pid | status

——————-+——————–+———+———

DSA                | DSA                |     N/A | Down

HTTP_Server        | HTTP_Server        |   12389 | Alive

LogLoader          | logloaderd         |     N/A | Down

dcm-daemon         | dcm-daemon         |     N/A | Down

OC4J               | home               |   12390 | Alive

WebCache           | WebCache           |   12410 | Alive

WebCache           | WebCacheAdmin      |   12397 | Alive

Pronto Oracle Grid Control 10.2.0.1 instalado com Sucesso !

Acessando Grid Control 10.2.0.1

htt://hostname:4889/em

Aplicar Patch Grid Control 10.2.0.5

Oracle Enterprise Manager 10g Grid Control Release 5 (10.2.0.5) for Linux x86

[oracle@gridcontrol installoracle]$ unzip gc_10205_part1of2.zip

Archive:  gc_10205_part1of2.zip

extracting: 3731596.zip

extracting: 3822442.zip

inflating: README.txt

creating: doc/

inflating: doc/BugList_EMGC_10.2.0.5.pdf

inflating: doc/ReleaseNotes_EMGC_10.2.0.5.html

inflating: doc/ReleaseNotes_EMGC_10.2.0.5.pdf

inflating: doc/BugList_EMGC_10.2.0.5.html

[oracle@gridcontrol installoracle]$ unzip gc_10205_part2of2.zip

Archive:  gc_10205_part2of2.zip

extracting: p3731593_10205_LINUX.zip

[oracle@gridcontrol installoracle]$ unzip p3731593_10205_LINUX.zip

Parar o OPMN:

[oracle@gridcontrol /]$ /u01/app/oracle/product/10.2.0/oms/oms10g/opmn/bin/opmnctl stopall

opmnctl: stopping opmn and all managed processes…

[oracle@gridcontrol /]$

Parar o Agent:

[oracle@gridcontrol /]$ /u01/app/oracle/product/10.2.0/oms/agent10g/bin/emctl stop agent

Oracle Enterprise Manager 10g Release 10.2.0.1.0.

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

Stopping agent … stopped.

[oracle@gridcontrol /]$

Primeiro atualizaremos o OMS10G

Agora aplicaremos Patch 10.2.0.5 no AGENT10G


Verificar se atualizou a versão do Grid Control

Pronto agora basta apenas instalar o Agent no Banco de Dados que desja monitorar para iniciar o monitoramento com Grid Control pois se tudo estiver certo após instalar o Agent automaticamente o Grid Control detectará o Agent.

Vamos a instalação do Agent…..

Instalar o Agent em um Banco de Dados Oracle 10g 32bits

Primeiro Passo configurar o /etc/hosts no Banco de Dados Alvo.

127.0.0.1         localhost.localdomain   localhost

192.168.199.239   db10g.murassaki.com.br        db10g

192.168.199.60    gridcontrol.murassaki.com.br  gridcontrol

::1     localhost6.localdomain6 localhost6

Garantir a conectividade…

Ter em mãos o instalador para Linux x86: Linux_Grid_Control_agent_download_10_2_0_5_0.zip

Descompactar e instalar:

Unzip Linux_Grid_Control_agent_download_10_2_0_5_0.zip

[oracle@db10g agent]$ cd /installoracle/linux/agent

[oracle@db10g agent]$ ./runInstaller



Pronto Agent instalado com Sucesso !

Segue abaixo alguns comandos que serão utilizados no Grid Control:

# Iniciar todos os Serviços

/u01/app/oracle/product/10.2.0/oms/db10g/bin/dbstart

/u01/app/oracle/product/10.2.0/oms/oms10g/opmn/bin/opmnctl startall

/u01/app/oracle/product/10.2.0/oms/agent10g/bin/emctl start agent

# Parar todos os Serviços:

/u01/app/oracle/product/10.2.0/oms/agent10g/bin/emctl stop agent

/u01/app/oracle/product/10.2.0/oms/oms10g/opmn/bin/opmnctl stopall

/u01/app/oracle/product/10.2.0/oms/db10g/bin/dbshut

Espero ter ajudado

Abraço,

Bruno Murassaki

dezembro 14, 2009

Oracle Data Guard Database 10g Linux

Filed under: Data Guard — brunomurassaki @ 1:27 pm

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

Olá Pessoal pra fechar o ano de 2009 com chave de ouro, estarei compartilhando minha experiência com Data Guard. Agradecimento ao meu amigo David Ricardo que me ajudou com os materiais e aprendizados do Data Guard. Bom vamos lá, como sabemos existem dois tipos de Standby. O Primeiro seria o Standby Manual que o sincronismo é realizado através de scripts linux não necessitando da Versão Enterprise Edition. Ja o Segundo tipo de Standby é o Data Guard, necessita da Versão Enterprise Edition no qual o sincronismo é realizado através dos Arquivos de Inicialização, do Listener e TNSNAMES. Nesse Post estarei comentando sobre o Data Guard no qual implementei em um ambiente de Produção faz um mês, espero que gostem.

So uma observação este meu How To é na versão database 10g, mas eu fiz testes com a versão 11g e está muito boa pois conseguimos sincronização em modo Read-Only, sim realmente é verdade eu testei rs.

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

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

AMBIENTE:

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

- Banco de Dados: Oracle 10g 10.2.0.4 – Enterprise Edition 

- Sistema Operacional: Red Hat Enterprise 5

- Banco de Dados Produção e Banco de Dados Standby estão localizados em diferentes maquinas em diferentes sites.

- Banco de dados Produção é chamado DB10G e o Standby ST10G.

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

Database                     DB_UNIQUE_NAME                    Oracle Net Service Name

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

Primary                               db10g                                         db10g

———————————————————————————————————————————

Physical standby                  st10g                                           st10g

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

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

I. PRÉ-REQUISITOS:

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

1. Garantir que o Sistema Operacional e a Plataforma da Arquitetura do Servidor Produção e Standby são os mesmos.

2. Instalar apenas o Software Oracle no Servidor Standby e Path se necessário.

Garantir o mesma Release do Software Oracle instalado no Servidor Produção e Standby, e caminho do Oracle Home necessitam ser idênticos.

3. Teste a criação do Banco de Dados Standby em um ambiente Teste para depois implementar em um ambiente Produção.

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

CONFIGURAR HOSTS NO SERVIDOR PRODUÇÃO E STANDBY /ETC/HOSTS

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

SERVIDOR PRODUÇÃO /ETC/HOSTS

127.0.0.1         localhost.localdomain   localhost

192.168.199.239   db10g.db1.com.br        db10g

192.168.199.241   st10g.db1.com.br        st10g

::1     localhost6.localdomain6 localhost6

SERVIDOR STANDBY /ETC/HOSTS

127.0.0.1       localhost.localdomain   localhost

192.168.199.241 st10g.db1.com.br        st10g

192.168.199.239 db10g.db1.com.br        db10g

::1     localhost6.localdomain6 localhost6

———————————————————————————————————-

CASO NÃO CONFIGURE PODE OCORRER O ERRO ABAIXO:

Warning: ORA-16607: one or more databases have failed

DGMGRL> SHOW DATABASE ‘st10g’ ‘LogXptStatus’;

Error: ORA-12545: Connect failed because target host or object does not exist

———————————————————————————————————-

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

CONFIGURAR VARIAVEIS DE AMBIENTE NO PRODUÇÃO E STANDBY

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

#Oracle Settings

TMP=/tmp

TMPDIR=$TMP

TEMP=$TMP

ORACLE_BASE=/oracle/app

export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db10g

export ORACLE_HOME

ORACLE_SID=db10g

export ORACLE_SID

ORACLE_TERM=xterm

export ORACLE_TERM

TNS_ADMIN=$ORACLE_HOME/network/admin

export TNS_ADMIN

PATH=$PATH:$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

export CLASSPATH

export PATH

#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL

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

II. CONFIGURAR CONFIGURAR SERVIDOR PRODUÇÃO

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

Habilitar Forced Logging em seu Banco de Dados Produção:

SQL> ALTER DATABASE FORCE LOGGING;

Database altered.

Veificar se as Tablespaces estão em Modo Logging

SQL> SELECT TABLESPACE_NAME, LOGGING FROM DBA_TABLESPACES;

TABLESPACE_NAME                LOGGING

—————————— ———

SYSTEM                         LOGGING

UNDOTBS1                       LOGGING

SYSAUX                         LOGGING

TEMP                           NOLOGGING

USERS                          LOGGING

EXAMPLE                        LOGGING

KDB1                           LOGGING

DB1LOB                         LOGGING

Criar um arquivo de senha se ele não existir:

Para verificar se um arquivo de senha ja existe, rode o seguinte comando:

SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP

—————————— —– —–

SYS                            TRUE  TRUE

Se ele não existir, use o seguinte comando para criar um:

cd $ORACLE_HOME/dbs

orapwd file=$ORACLE_HOME/dbs/pwdDB10G.ora PASSWORD=oracle ENTRIES=5

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

CONFIGURAR REDO LOG STANDBY

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

O Tamanho dos Arquivos de Redolog do Standby deveria ser compativel com o mesmo tamanho dos redo logs online do Banco de Dados Produção. Para encontrar o tamanho de seus redo log files:

SQL> select bytes from v$log;

BYTES

———-

52428800

52428800

52428800

Use o seguinte comnado para determinar seu grupo de log file corrente:

SQL> select group#, member from v$logfile;

GROUP#                                           MEMBER

——————————————————————————–

3                          /oracle/app/oradata/db10g/redo03.log

2                          /oracle/app/oradata/db10g/redo02.log

1                          /oracle/app/oradata/db10g/redo01.log

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

CRIAR STANDBY REDO LOG ONLINE:

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

Meu Banco de dados tem 3 grupos originalmente e Crie 3 Grupos de Redolog online 50M usando o seguinte comando:

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 SIZE 50M;

Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 SIZE 50M;

Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 SIZE 50M;

Database altered.

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

VERIFICAR STANDBY REDO LOG ONLINE CRIADO

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

Para verificar os resultados da criação dos Grupos de Redolog Standby, rode a seguinte Query:

SQL> Select GROUP#, DBID, STATUS, ARCHIVED, BYTES from v$Standby_log;

GROUP# DBID                                     STATUS     ARC      BYTES

———- —————————————- ———- — ———-

4 UNASSIGNED                               UNASSIGNED YES   52428800

5 UNASSIGNED                               UNASSIGNED YES   52428800

6 UNASSIGNED                               UNASSIGNED YES   52428800

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

ATIVAR ARCHIVELOG SERVIDOR PRODUÇÃO:

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

Se o seu Banco de Dados não estiver em Modo Archivelog, habilitar em modo archivelog:

#Alterar os parêmetros (caso não esteja setado) log_archive_dest_1 para

#Verificar o formato do achivelog (Obs: apartir do Oracle10g é obrigatorio ter os 3 parametros (%s_%t_%r)

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter system set log_archive_dest_1=’LOCATION=/archivelog/db10g’ scope=spfile;

SQL> alter system set log_archive_format = ‘%t_%s_%r.arc’ scope=spfile;

SQL> alter database archivelog;

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

ATIVAR LOG DE FLASHBACK NO BANCO DE DADOS PRODUÇÃO. FLASHBACK SERÁ NECESSÁRIO PARA FAST-START FAILOVERS

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

SQL> alter database flashback on;

SQL> shutdown immediate

SQL> startup

SQL> archive log list;

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

CRIAR PFILE A PARTIR DO SPFILE:

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

Criar (PFILE) do Arquivo de Parametro de Servidor(SPFILE),

para adicionar um novo parametro de regras no Banco de Dados Produção.

Criar pfile através do spfile para o Banco de Dados Produção:

SQL> create pfile=’$ORACLE_HOME/dbs/pfileDB10G.ora’ from spfile;

File created.

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

EDITAR PFILEDB10G.ORA PARA ADICIONAR NOVAS REGRAS DO DATAGUARD NO SERVIDOR PRODUÇÃO:

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

==================== INIT PRODUÇÃO ==========================

db10g.__db_cache_size=54525952

db10g.__java_pool_size=4194304

db10g.__large_pool_size=4194304

db10g.__shared_pool_size=100663296

db10g.__streams_pool_size=0

audit_file_dest=’/oracle/app/admin/db10g/adump’

background_dump_dest=’/oracle/app/admin/db10g/bdump’

compatible=’10.2.0.3.0′

core_dump_dest=’/oracle/app/admin/db10g/cdump’

db_block_size=8192

db_domain=”

db_file_multiblock_read_count=16

############### Parametros Adicionais Dataguard ########################

DB_NAME=db10g

DB_UNIQUE_NAME=db10g

LOG_ARCHIVE_CONFIG=’DG_CONFIG=(db10g,st10g)’

CONTROL_FILES=’/oracle/app/oradata/db10g/control01.ctl’,'/oracle/app/oradata/db10g/control02.ctl’,'/oracle/app/oradata/db10g/control03.ctl’

LOG_ARCHIVE_DEST_1=

‘LOCATION=/archivelog/db10g/

VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=db10g’

LOG_ARCHIVE_DEST_2=

‘SERVICE=st10g LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=st10g’

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

LOG_ARCHIVE_MAX_PROCESSES=30

FAL_SERVER=st10g

FAL_CLIENT=db10g

#####################################################################

db_recovery_file_dest=’/oracle/app/flash_recovery_area’

db_recovery_file_dest_size=2147483648

dispatchers=’(PROTOCOL=TCP) (SERVICE=db10gXDB)’

job_queue_processes=10

open_cursors=300

pga_aggregate_target=16777216

processes=150

resumable_timeout=900

sga_target=167772160

undo_management=’AUTO’

undo_tablespace=’UNDOTBS1′

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

EDITAR PFILEDB10G.ORA PARA ADICIONAR NOVAS REGRAS DO DATAGUARD NO SERVIDOR STANDBY:

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

==================== INIT STANDBY ============================

db10g.__db_cache_size=54525952

db10g.__java_pool_size=4194304

db10g.__large_pool_size=4194304

db10g.__shared_pool_size=100663296

db10g.__streams_pool_size=0

audit_file_dest=’/oracle/app/admin/db10g/adump’

background_dump_dest=’/oracle/app/admin/db10g/bdump’

compatible=’10.2.0.3.0′

core_dump_dest=’/oracle/app/admin/db10g/cdump’

db_block_size=8192

db_domain=”

db_file_multiblock_read_count=16

############### Parametros Adicionais Dataguard ########################

DB_NAME=db10g

DB_UNIQUE_NAME=st10g

LOG_ARCHIVE_CONFIG=’DG_CONFIG=(db10g,st10g)’

CONTROL_FILES=’/oracle/app/oradata/db10g/control01.ctl’,'/oracle/app/oradata/db10g/control02.ctl’,'/oracle/app/oradata/db10g/control03.ctl’

LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc

LOG_ARCHIVE_DEST_1=

‘LOCATION=/archivelog/db10g/

VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=st10g’

LOG_ARCHIVE_DEST_2=

‘SERVICE=db10g LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=db10g’

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

STANDBY_FILE_MANAGEMENT=AUTO

FAL_SERVER=db10g

FAL_CLIENT=st10g

#####################################################################

db_recovery_file_dest=’/oracle/app/flash_recovery_area’

db_recovery_file_dest_size=2147483648

dispatchers=’(PROTOCOL=TCP) (SERVICE=db10gXDB)’

job_queue_processes=10

open_cursors=300

pga_aggregate_target=16777216

processes=150

resumable_timeout=900

sga_target=167772160

undo_management=’AUTO’

undo_tablespace=’UNDOTBS1′

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

CRIAR SPFILE ATRAVÉS DO PFILE ALTERADO

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

Data Guard deve usar SPFILE. Criar o SPFILE e reiniciar o Banco de Dados.

SQL> shutdown immediate;

SQL> startup nomount pfile=’$ORACLE_HOME/dbs/pfileDB10G.ora’;

ORACLE instance started.

Total System Global Area  167772160 bytes

Fixed Size                  1266392 bytes

Variable Size             109055272 bytes

Database Buffers           54525952 bytes

Redo Buffers                2924544 bytes

SQL> create spfile from pfile=’$ORACLE_HOME/dbs/pfileDB10G.ora’;

File created.

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

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

CRIAR O CONTROLFILE STANDBY

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

No Banco de Dados Produção, crie um controlfile para o Banco de Dados Standby Utilizar:

SQL> STARTUP MOUNT;

ORACLE instance started.

Total System Global Area  167772160 bytes

Fixed Size                  1266392 bytes

Variable Size             109055272 bytes

Database Buffers           54525952 bytes

Redo Buffers                2924544 bytes

Database mounted.

SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘/installoracle/standby.ctl’;

Database altered.

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

PARAR O BANCO DE DADOS PRODUÇÃO PARA CÓPIA DOS ARQUIVOS

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

SQL> SHUTDOWN IMMEDIATE

ORA-01109: database not open

Database dismounted.

ORACLE instance shut down.

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

PRONTO BANCO DE DADOS PRODUCAO PRONTO PARA A COPIA, BASTA TRANSFERIR OS ARQUIVOS PARA O SERVIDOR STANDBY

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

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

III. CONFIGURAR SERVIDOR STANDBY

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

CRIAR DIRETÓRIOS NECESSÁRIOS

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

No Servidor Standby, criar todos os diretorios requeridos para dump e directories for dump e detinação dos archived log:

Criar diretorios adump, bdump, cdump, udump, e archived log para o Banco de Dados Standby.

mkdir -p /oracle/app/admin/db10g

mkdir -p /archivelog/db10g/

mkdir -p /oracle/app/oradata/db10g

mkdir -p /oracle/app/admin/db10g/adump

mkdir -p /oracle/app/admin/db10g/bdump

mkdir -p /oracle/app/admin/db10g/cdump

mkdir -p /oracle/app/admin/db10g/dpdump

mkdir -p /oracle/app/admin/db10g/pfile

mkdir -p /oracle/app/admin/db10g/udump

mkdir -p /oracle/app/flash_recovery_area/

chown -R oracle.oinstall /oracle/

chown -R oracle.oinstall /archivelog/

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

TRANSFERÊNCIA DO BANCO DE DADOS – REPLICA DO PRODUÇÃO

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

COPIANDO…DATAFILES,TEMPFILES E REDO LOG FILES

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

[oracle@db10g db10g]$ scp * oracle@192.168.199.241:/oracle/app/oradata/db10g/

oracle@192.168.199.241′s password:

control01.ctl                                                                100% 6992KB   6.8MB/s   00:01

control02.ctl                                                                100% 6992KB   6.8MB/s   00:01

control03.ctl                                                                100% 6992KB   6.8MB/s   00:00

db1lob01.dbf                                                                 100%   30MB  10.0MB/s   00:03

example01.dbf                                                                100%  100MB   9.1MB/s   00:11

kdb101.dbf                                                                   100%  440MB  10.5MB/s   00:42

redo01.log                                                                   100%   50MB   8.3MB/s   00:06

redo02.log                                                                   100%   50MB  10.0MB/s   00:05

redo03.log                                                                   100%   50MB  10.0MB/s   00:05

sysaux01.dbf                                                                 100%  250MB  16.7MB/s   00:15

system01.dbf                                                                 100%  510MB  18.9MB/s   00:27

temp01.dbf                                                                   100%   21MB  21.0MB/s   00:01

undotbs01.dbf                                                                100%   95MB  19.0MB/s   00:05

users01.dbf                                                                  100% 5128KB   5.0MB/s   00:00

[oracle@db10g db10g]$

[oracle@db10g db10g]$ du -h

1.6G    .

IMPORTANTE: COMPARAR O TAMANHO DOS DIRETORIOS DOS SERVIDORES.

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

COPIANDO…CONTROLFILE STANDBY E CONFIGURANDO NOVO CONTROLFILE

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

[oracle@db10g installoracle]$ scp standby.ctl oracle@192.168.199.241:/oracle/app/oradata/db10g/

oracle@192.168.199.241′s password:

standby.ctl                                                                 100% 6992KB   6.8MB/s   00:01

rm -rf control01.ctl

rm -rf control02.ctl

rm -rf control03.ctl

cp standby.ctl control01.ctl

cp standby.ctl control02.ctl

mv standby.ctl control03.ctl

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

COPIANDO…PFILE DO BANCO DE DADOS PRODUÇÃO E ARQUIVO DE SENHA

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

[oracle@db10g dbs]$ scp pfileDB10G.ora oracle@192.168.199.241:/oracle/app/product/10.2.0/db10g/dbs/

oracle@192.168.199.241′s password:

pfileDB10G.ora                                                              100% 1549     1.5KB/s   00:00

[oracle@db10g dbs]$ scp orapwdb10g oracle@192.168.199.241:/oracle/app/product/10.2.0/db10g/dbs/

oracle@192.168.199.241′s password:

orapwdb10g                               100% 1536     1.5KB/s   00:00

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

COPIANDO…ARCHIVES

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

[oracle@db10g db10g]$ scp *.arc oracle@192.168.199.241:/archivelog/db10g/

oracle@192.168.199.241′s password:

1_10_694590577.arc                                                          100% 1740KB   1.7MB/s   00:01

1_11_694590577.arc                                                          100%   59KB  59.0KB/s   00:00

1_12_694590577.arc                                                          100%   14KB  14.0KB/s   00:00

1_13_694590577.arc                                                          100%  155KB 154.5KB/s   00:00

1_14_694590577.arc                                                          100%  640KB 639.5KB/s   00:00

1_15_694590577.arc                                                          100% 1716KB   1.7MB/s   00:00

1_16_694590577.arc                                                          100%  788KB 788.0KB/s   00:00

1_17_694590577.arc                                                          100% 4608     4.5KB/s   00:00

1_18_694590577.arc                                                          100%  290KB 290.0KB/s   00:00

1_19_694590577.arc                                                          100%  273KB 272.5KB/s   00:00

1_20_694590577.arc                                                          100%   49MB   9.8MB/s   00:05

1_21_694590577.arc                                                          100%   49MB   9.8MB/s   00:05

1_22_694590577.arc                                                          100%   49MB   9.8MB/s   00:05

1_23_694590577.arc                                                          100%   49MB   9.8MB/s   00:05

1_24_694590577.arc                                                          100%   49MB  12.2MB/s   00:04

1_25_694590577.arc                                                          100% 7115KB   7.0MB/s   00:01

1_26_694590577.arc                                                          100%   15KB  14.5KB/s   00:00

1_2_694590577.arc                                                           100%   14MB  14.3MB/s   00:01

1_27_694590577.arc                                                          100% 6235KB   6.1MB/s   00:01

1_28_694590577.arc                                                          100%  339KB 339.0KB/s   00:00

1_29_694590577.arc                                                          100% 1253KB   1.2MB/s   00:00

1_30_694590577.arc                                                          100% 6494KB   6.3MB/s   00:01

1_3_694590577.arc                                                           100% 4608     4.5KB/s   00:00

1_4_694590577.arc                                                           100%   42MB  10.5MB/s   00:04

1_5_694590577.arc                                                           100%  259KB 259.0KB/s   00:00

1_6_694590577.arc                                                           100% 5742KB   5.6MB/s   00:01

1_7_694590577.arc                                                           100%  142KB 141.5KB/s   00:00

1_8_694590577.arc                                                           100%   55KB  54.5KB/s   00:00

1_9_694590577.arc                                                           100% 1821KB   1.8MB/s   00:00

log1_31_694590577.arc                                                       100%   13MB  13.0MB/s   00:01

log1_32_694590577.arc                                                       100%  310KB 310.0KB/s   00:00

log1_33_694590577.arc                                                       100%  232KB 231.5KB/s   00:00

log1_34_694590577.arc                                                       100%  222KB 221.5KB/s   00:00

log1_35_694590577.arc                                                       100%  158KB 158.0KB/s   00:00

log1_36_694590577.arc                                                       100% 2703KB   2.6MB/s   00:01

[oracle@db10g db10g]$ du -h

352M

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

CONFIGURAÇÃO DE REDE (NETWORK) – LISTENER E TNSNAMES

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

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

CONFIGURAÇÃO DO LISTENER

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

No Banco de Dados Produção: use Oracle Net Manager para configurar um listener para DB10G and ST10G.

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

DB10G LISTENER:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = db10g)

(ORACLE_HOME = /oracle/app/product/10.2.0/db10g)

(SID_NAME = db10g)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = db10g)(PORT = 1521))

)

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

No Servidor Standby: use Net Manager para configurar listener para DB10G and ST10G.

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

ST10G LISTENER:

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = st10g)

(ORACLE_HOME = /oracle/app/product/10.2.0/st10g)

(SID_NAME = st10g)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = st10g)(PORT = 1521))

)

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

CONFIGURAÇÃO DO TNSNAMES

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

No Banco de Dados Produção: use Oracle Net Manager para criar Nome de Serviço de Rede para DB10G e ST10G.

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

DB10G TNSNAMES:

DB10G =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.239)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = db10g)

)

)

ST10G =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.241)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = st10g)

)

)

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

No Servidor Standby: use Oracle Net Manager para criar Nome de Serviço de Rede para DB10G e ST10G.

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

ST10G TNSNAMES:

DB10G =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.239)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = db10g)

)

)

ST10G =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.241)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = st10g)

)

)

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

TNSPING PARA VERIFICAR CONEXÃO COM O LISTENER

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

No Servidor Produção:

[oracle@db10g admin]$ tnsping st10g

TNS Ping Utility for Linux: Version 10.2.0.4.0 – Production on 18-AUG-2009 13:30:51

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.241)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = st10g)))

OK (0 msec)

[oracle@db10g admin]$ tnsping db10g

TNS Ping Utility for Linux: Version 10.2.0.4.0 – Production on 18-AUG-2009 13:30:53

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.239)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = db10g)))

OK (10 msec)

Producao

SQL> conn sys/oracle@st10g as sysdba

Connected.

SQL> conn sys/oracle@db10g as sysdba

Connected.

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

TNSPING PARA VERIFICAR CONEXÃO COM O LISTENER

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

No Servidor Standby:

[oracle@st10g admin]$ tnsping st10g

TNS Ping Utility for Linux: Version 10.2.0.4.0 – Production on 24-AUG-2009 00:19:47

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.241)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = st10g)))

OK (10 msec)

[oracle@st10g admin]$ tnsping db10g

TNS Ping Utility for Linux: Version 10.2.0.4.0 – Production on 24-AUG-2009 00:19:56

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.239)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = db10g)))

OK (10 msec)

Standby

SQL> conn sys/oracle@st10g as sysdba

Connected.

SQL>  conn sys/oracle@db10g as sysdba

Connected.

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

EDITAR PFILEDB10G.ORA PARA ADICIONAR NOVAS REGRAS DO DATAGUARD NO SERVIDOR STANDBY:

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

==================== INIT STANDBY ============================

db10g.__db_cache_size=54525952

db10g.__java_pool_size=4194304

db10g.__large_pool_size=4194304

db10g.__shared_pool_size=100663296

db10g.__streams_pool_size=0

audit_file_dest=’/oracle/app/admin/db10g/adump’

background_dump_dest=’/oracle/app/admin/db10g/bdump’

compatible=’10.2.0.3.0′

core_dump_dest=’/oracle/app/admin/db10g/cdump’

db_block_size=8192

db_domain=”

db_file_multiblock_read_count=16

############### Parametros Adicionais Dataguard ########################

DB_NAME=db10g

DB_UNIQUE_NAME=st10g

LOG_ARCHIVE_CONFIG=’DG_CONFIG=(db10g,st10g)’

CONTROL_FILES=’/oracle/app/oradata/db10g/control01.ctl’,'/oracle/app/oradata/db10g/control02.ctl’,'/oracle/app/oradata/db10g/control03.ctl’

LOG_ARCHIVE_FORMAT=log%t_%s_%r.arc

LOG_ARCHIVE_DEST_1=

‘LOCATION=/archivelog/db10g/

VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

DB_UNIQUE_NAME=st10g’

LOG_ARCHIVE_DEST_2=

‘SERVICE=db10g LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

DB_UNIQUE_NAME=db10g’

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

STANDBY_FILE_MANAGEMENT=AUTO

FAL_SERVER=db10g

FAL_CLIENT=st10g

#####################################################################

db_recovery_file_dest=’/oracle/app/flash_recovery_area’

db_recovery_file_dest_size=2147483648

dispatchers=’(PROTOCOL=TCP) (SERVICE=db10gXDB)’

job_queue_processes=10

open_cursors=300

pga_aggregate_target=16777216

processes=150

resumable_timeout=900

sga_target=167772160

undo_management=’AUTO’

undo_tablespace=’UNDOTBS1′

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

CRIAR SPFILE ATRAVÉS DO PFILE ALTERADO

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

SQL> startup nomount pfile=’$ORACLE_HOME/dbs/pfileDB10G.ora’;

ORACLE instance started.

Total System Global Area  167772160 bytes

Fixed Size                  1266392 bytes

Variable Size             109055272 bytes

Database Buffers           54525952 bytes

Redo Buffers                2924544 bytes

SQL> create spfile from pfile=’$ORACLE_HOME/dbs/pfileDB10G.ora’;

File created.

SQL> shutdown immediate

ORA-01507: database not mounted

ORACLE instance shut down.

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

ATIVAR BANCO DE DADOS STANDBY DATAGUARD

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

No Banco de Dados Standby, iniciei o Bando de Dados em Modo Mount:

SQL> STARTUP MOUNT;

ORACLE instance started.

Total System Global Area  167772160 bytes

Fixed Size                  1266392 bytes

Variable Size             109055272 bytes

Database Buffers           54525952 bytes

Redo Buffers                2924544 bytes

Database mounted.

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

ATIVAR LOG DE FLASHBACK NO BANCO DE DADOS STANDBY. FLASHBACK SERÁ NECESSÁRIO PARA FAST-START FAILOVERS

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

SQL> ALTER DATABASE FLASHBACK ON;

Database altered.

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

CRIAR STANDBY REDO LOG ONLINE NO BANCO DE DADOS STANDBY ==============================================================

Meu Banco de dados tem 3 grupos originalmente e Crie 3 Grupos de Redolog online 50M usando o seguinte comando:

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 SIZE 50M;

Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 SIZE 50M;

Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 SIZE 50M;

Database altered.

SQL> Select GROUP#, DBID, STATUS, ARCHIVED, BYTES from v$Standby_log;

GROUP# DBID                                     STATUS     ARC      BYTES

———- —————————————- ———- — ———-

4 UNASSIGNED                               UNASSIGNED YES   52428800

5 UNASSIGNED                               UNASSIGNED YES   52428800

6 UNASSIGNED                               UNASSIGNED YES   52428800

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

INICIAR SINCRONISMO DO DATAGUARD

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

======================= NO STANDBY ===========================

INICIAR SINCRONISMO

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Database altered.

SQL> SELECT RECOVERY_MODE FROM V$ARCHIVE_DEST_STATUS;

RECOVERY_MODE

———————–

MANAGED

MANAGED

MANAGED

MANAGED

MANAGED

11 rows selected.

======================= NO STANDBY ===========================

VERIFICA OS ARCHVIES DO BANCO DE DADOS STANDBY:

SQL> select sequence#, first_time, next_time from v$archived_log;

SEQUENCE# FIRST_TIM NEXT_TIME

———- ——— ———

86 19-AUG-09 19-AUG-09

85 19-AUG-09 19-AUG-09

87 19-AUG-09 19-AUG-09

====================== NO PRODUÇÃO ======================

GERAR ARCHIVE NO BANCO DE DADOS PRODUÇÃO, FORCE LOGFILE SWITCH:

SQL>alter system switch logfile;

======================NO STANDBY ======================

VERIFICA OS ARCHIVES APLICADOS NO BANCO DE DADOS STANDBY:

SQL> select sequence#, applied from v$archived_log order by sequence#;

SEQUENCE# APP

———- —

85 YES

86 YES

87 YES

========================= NO STANDBY =========================

CASO QUEIRA PARAR O SINCRONISMO.

PARAR O SINCRONISMO (APLICAÇÃO DE LOGS):

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Database altered.

SQL> SELECT RECOVERY_MODE FROM V$ARCHIVE_DEST_STATUS;

RECOVERY_MODE

———————–

IDLE

IDLE

IDLE

IDLE

IDLE

11 rows selected.

===================== NO STANDBY =====================

ATIVAR STANDBY EM MODO DE RECOVERY EM REAL TIME(enable the real-time apply).

SQL> alter database recover managed standby database using current logfile disconnect;

SQL> SELECT RECOVERY_MODE FROM V$ARCHIVE_DEST_STATUS;

RECOVERY_MODE

———————–

MANAGED REAL TIME APPLY

MANAGED REAL TIME APPLY

MANAGED REAL TIME APPLY

MANAGED REAL TIME APPLY

11 rows selected.

==================== NO STANDBY ===========================

SE CASO ESTIVER TUDO OK, NO STANDBY APARECERÁ ASSIM

SQL> select sequence#, applied from v$archived_log order by sequence#;

SEQUENCE# APP

———- —

85 YES

86 YES

87 YES

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

DATA GUARD BROKER

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

No Banco de Dados Produção ative o Parametro Data Guard Broker.

SQL> show parameter dg_broker_start

NAME                                 TYPE        VALUE

———————————— ———– ——————————

dg_broker_start                      boolean     FALSE

SQL> alter system set dg_broker_start=true;

System altered.

######################################################################

No Banco de Dados Standby ative o Parametro Data Guard Broker.

SQL> show parameter dg_broker_start

NAME                                 TYPE        VALUE

———————————— ———– ——————————

dg_broker_start                      boolean     FALSE

SQL> alter system set dg_broker_start=true;

System altered.

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

CONFIGURAR GLOBAL_DB_NAME

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

Configure GLOBAL_DB_NAME no Banco de Dados Produção e Standby.

######################## LISTENER PRODUÇÃO #######################

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = db10g)

(ORACLE_HOME = /oracle/app/product/10.2.0/db10g)

(SID_NAME = db10g)

)

(SID_DESC =

(GLOBAL_DBNAME = db10g_DGMGRL)

(ORACLE_HOME = /oracle/app/product/10.2.0/db10g)

(SID_NAME = db10g)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.239)(PORT = 1521))

)

####################### LISTENER STANDBY ##########################

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = db10g)

(ORACLE_HOME = /oracle/app/product/10.2.0/db10g)

(SID_NAME = db10g)

)

(SID_DESC =

(GLOBAL_DBNAME = st10g_DGMGRL)

(ORACLE_HOME = /oracle/app/product/10.2.0/db10g)

(SID_NAME = db10g)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.199.241)(PORT = 1521))

)

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

RECARREGAR OS PARAMETROS SETADO NO LISTENER PRODUÇÃO

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

[oracle@db10g /]$ lsnrctl reload

LSNRCTL for Linux: Version 10.2.0.4.0 – Production on 19-AUG-2009 15:50:33

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db10g)(PORT=1521)))

The command completed successfully

[oracle@db10g /]$ lsnrctl services

LSNRCTL for Linux: Version 10.2.0.4.0 – Production on 19-AUG-2009 15:50:48

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db10g)(PORT=1521)))

Services Summary…

Service “db10g” has 2 instance(s).

Instance “db10g”, status UNKNOWN, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0

LOCAL SERVER

Instance “db10g”, status READY, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0 state:ready

LOCAL SERVER

Service “db10gXDB” has 1 instance(s).

Instance “db10g”, status READY, has 1 handler(s) for this service…

Handler(s):

“D000″ established:0 refused:0 current:0 max:1022 state:ready

DISPATCHER <machine: db10g, pid: 23003>

(ADDRESS=(PROTOCOL=tcp)(HOST=db10g.db1.com.br)(PORT=9669))

Service “db10g_DGMGRL” has 1 instance(s).

Instance “db10g”, status UNKNOWN, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0

LOCAL SERVER

Service “db10g_XPT” has 1 instance(s).

Instance “db10g”, status READY, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0 state:ready

LOCAL SERVER

The command completed successfully

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

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

RECARREGAR OS PARAMETROS SETADO NO LISTENER STANDBY

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

[oracle@st10g /]$ lsnrctl reload

LSNRCTL for Linux: Version 10.2.0.4.0 – Production on 25-AUG-2009 01:49:44

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=st10g)(PORT=1521)))

The command completed successfully

[oracle@st10g /]$ lsnrctl services;

LSNRCTL for Linux: Version 10.2.0.4.0 – Production on 25-AUG-2009 01:49:56

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=st10g)(PORT=1521)))

Services Summary…

Service “db10g” has 1 instance(s).

Instance “db10g”, status UNKNOWN, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0

LOCAL SERVER

Service “st10g” has 1 instance(s).

Instance “db10g”, status READY, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0 state:ready

LOCAL SERVER

Service “st10g_DGMGRL” has 1 instance(s).

Instance “db10g”, status UNKNOWN, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0

LOCAL SERVER

Service “st10g_XPT” has 1 instance(s).

Instance “db10g”, status READY, has 1 handler(s) for this service…

Handler(s):

“DEDICATED” established:0 refused:0 state:ready

LOCAL SERVER

The command completed successfully

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

INICIANDO DGMGRL PARA CONFIGURAR DG BROKER

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

[oracle@db10g ~]$ dgmgrl

DGMGRL for Linux: Version 10.2.0.4.0 – Production

Copyright (c) 2000, 2005, Oracle. All rights reserved.

Welcome to DGMGRL, type “help” for information.

DGMGRL> connect sys/oracle

Connected.

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

CRIANDO CONFIGURAÇÃO DO DG BROKER

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

CREATE CONFIGURATION configuration-name AS

PRIMARY DATABASE IS database-name

CONNECT IDENTIFIER IS connect-identifier;

DGMGRL> CREATE CONFIGURATION ‘DGConfig’ as

PRIMARY DATABASE IS ‘db10g’

CONNECT IDENTIFIER IS DB10G;

Configuration “DGConfig” created with primary database “db10g”

DGMGRL> show configuration

Configuration

Name:                DGConfig

Enabled:             NO

Protection Mode:     MaxPerformance

Fast-Start Failover: DISABLED

Databases:

db10g – Primary database

Current status for “DGConfig”:

DISABLED

DGMGRL> enable configuration

Enabled.

DGMGRL> show configuration

Configuration

Name:                DGConfig

Enabled:             YES

Protection Mode:     MaxPerformance

Fast-Start Failover: DISABLED

Databases:

db10g – Primary database

Current status for “DGConfig”:

SUCCESS

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

ADICIONANDO STANDBY NA CONFIGURAÇÃO DO DG BROKER

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

DGMGRL> ADD DATABASE ‘st10g’ AS CONNECT IDENTIFIER IS ST10G MAINTAINED AS PHYSICAL;

Database “st10g” added

DGMGRL> show configuration

Configuration

Name:                DGConfig

Enabled:             YES

Protection Mode:     MaxPerformance

Fast-Start Failover: DISABLED

Databases:

db10g – Primary database

st10g – Physical standby database (disabled)

Current status for “DGConfig”:

SUCCESS

DGMGRL> enable database ‘st10g’;

Enabled.

DGMGRL> show configuration

Configuration

Name:                DGConfig

Enabled:             YES

Protection Mode:     MaxPerformance

Fast-Start Failover: DISABLED

Databases:

db10g – Primary database

st10g – Physical standby database

Current status for “DGConfig”:

SUCCESS

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

CONFIGURAR DO DG BROKER

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

DGMGRL> EDIT DATABASE ‘db10g’ SET PROPERTY ‘LogXptMode’='SYNC’;

Property “LogXptMode” updated

DGMGRL> EDIT DATABASE ‘st10g’ SET PROPERTY ‘LogXptMode’='SYNC’;

Property “LogXptMode” updated

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

ATUALIZAR O MODO DE PROTEÇÃO PARA MAXAVAILABILITY

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

DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;

Succeeded.

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

VERIFICAR A CONFIGURAÇÃO DO DG BROKER

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

DGMGRL> show configuration

Configuration

Name:                DGConfig

Enabled:             YES

Protection Mode:     MaxAvailability

Fast-Start Failover: DISABLED

Databases:

db10g – Primary database

st10g – Physical standby database

Current status for “DGConfig”:

SUCCESS

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

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

PRONTO DATA GUARD CONFIGURADO COM SUCESSO !!!

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

dezembro 13, 2009

Comandos Básicos Administração Banco de Dados Oracle

Filed under: Administração — brunomurassaki @ 8:42 pm

Olá Pessoal,

Sabe quando um cliente liga deseperado para poder desligar o Servidor de Banco de Dados pois a energia acabou e a bateria do Nobreak está acabando?  Sim, são nesses casos que o Suporte aciona o DBA, mas por algum motivo maior não conseguiram entrar em contato com DBA.

Então o Suporte mesmo pode parar o Banco de Dados corretamente, pois quando voltar o Banco de Dados o Processo de Background SMON não precisrá executar a recuperação da Instância. Evitando assim um crash do Banco de Dados.

Sei que para muitos DBAs esses comandos básicos ja estão mais que decorados, mas estou postando este material para iniciantes ou pessoas que sejam suporte e não conseguiram contactar o DBA. Com isso ele prescisa desligar o Banco de Dados corretamente com esses comandos.

Esse post é dedicado ao meu amigo Jasper que me solicitou esse artigo.

———————————————————————————

1- Iniciar e Parar o Listener

Inicar: lsnrctl start

Parar: lsnrctl stop

Status: lsnrctl status

———————————————————————————

2- Iniciar e Parar o Banco de Dados Oracle Linux

2.1- Iniciar o Banco de Dados:

Conectado como usuario oracle no Linux digite:

sqlplus /nolog

SQL> conn / as sysdba

SQL> startup
ORACLE instance started.
Total System Global Area  184549376 bytes
Fixed Size                             2019448 bytes
Variable Size                     109055880 bytes
Database Buffers                 71303168 bytes
Redo Buffers                          2170880 bytes
Database mounted.
Database opened.

———————————————————————————

2.2 – Declaração SQL para Verificar o Status do BAnco de Dados

SQL> SELECT status FROM V$INSTANCE;

———————————————————————————

2.3- Parar o Banco de Dados:

Conectado como usuario oracle no Linux digite:

sqlplus /nolog

SQL> conn / as sysdba

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
———————————————————————————

3- Iniciar e Parar o Enterprise Manager

Inicar: emctl start dbconsole

Parar: emctl stop dbconsole

Status: emctl status dbconsole

———————————————————————————

4- Desligar o Linux Red Hat

Pronto, após o Banco de Dados estar parado e todos

os seus serviços, agora iremos desligar o Linux:

Não tenho certeza se todos as distribuições

funcionam dessa forma, mas no Red Hat é asssim:

halt -p

———————————————————————————

Abraço

Bruno Murassaki

ORA-12005: may not schedule automatic refresh for times in the past

Filed under: Administração — brunomurassaki @ 8:42 pm

Olá pessoal gostaria de compartilha uma experiência que tive esses dias com um cliente.
Muitos podem achar fácil, mas tenho certeza que algumas pessoas ainda irão passar por isso, principalmente iniciantes.
Como podemos ver pela mensagem de erro tem haver com o agendamento do Job “schedule”.
Um certo dia um cliente me ligou dizendo que o horário que ele tinha agendado não estava rodando o job.
Com isso entrei no AlertLog para verificar o problema e me deparei com a seguinte mensagem:

ORA-12012: error on auto execute of job 36
ORA-12005: may not schedule automatic refresh for times in the past

Com isso pedi para o cliente que me enviasse o comando que estava sendo agendado o Job:

Comando enviado pelo cliente:  trunc(sysdate)+22/24

Verificando o comando logo notei que falta +1 logo após o Sysdate. Com isso pedi que alterasse para o seguinte comando:

Comando sugerido:  trunc(sysdate+1)+22/24

Sendo assim foi resolvido o problema do agendamento do Job

Abraço

Bruno Murassaki

Um dia de DBA – Cenário 1

Filed under: Um dia de DBA — brunomurassaki @ 8:01 pm

Olá Pessoal hoje estarei postando mais uma de minhas experiências.
Quem nunca foi acordado por um cliente de madrugada porque o Banco de Dados parou? Quem é DBA e nunca teve esta oportunidade EEESPEEEERAAAAA….
Pois se não aconteceu um dia vai acontecer e não estou jogando praga não, pois todo DBA está sujeito a este tipo de tarefa.
Um certo dia um cliente me liga às 00:30 da madrugada desesperado dizendo que o Banco de Dados dele tinha parado.
Pedi para o cliente uns 15 minutos até eu conseguir conectar e verificar o motivo do problema.
Quando verificando o Banco de Dados AlertLog e etc… me deparei que o Banco de Dados CRASH e o Sistema Operacional Linux corrompeu todos os diretórios base, tudo isso devido a uma queda de energia que o Nobreak não segurou.

Que Beleza não?  Qual plano de ação diz o cliente?

————————————————————————————————
- Utilizar Backup Lógico com Exp que foi executado na hora do almoço(Pois era o unico backup que o cliente tinha). O interessante seria Backup com RMAN mas o cliente não tinha.

- O Banco de Dados Teste está instalado em Sistema Operacional Windows.


- Importar o dump em um outro Servidor cujo Banco de Dados ja existente(atualmente é um Banco de Dados teste), pois precisamos de disponibilidade do Sistema amanhã as 8:00hrs.

————————————————————————————————

Ok e lá vamos nós mais uma madrugada trabalhando….café + café….
Após ter criados todos os schemas e importado todos os objetos e criado seu devidos GRANTS e SYNONYMS.
A base de dados ja estava perfeita aparentemente. Pedi para que o pessoal de suporte testasse o sistema e estava ok.
Beleza até ai ja eram 7:30 da manhã e estava tudo ocorrendo bem.
Em conversa com o Gerente de TI da empresa resolvemos então aumentar a memória do Servidor de 2GB para 4GB. Pois devido o número de usuários seria interessante.
Ok, parei o banco de dados e disponibilizei para manutenção.
O Pessoal da infra trocou a memória e iniciamos o servidor…
Antes de inicar o Banco de Dados fiz backup do SPFILE, pois iria alterar a SGA do Banco de Dados.
Quando fui iniciar o Banco de Dados recebi a seguinte mensagem:

————————————————————————————————

SQL> startup
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory

————————————————————————————————

Que beleza não? isso ja era 8:10hrs e o pessoal esperando o sistema e me perguntando que horas estaria no ar.

Nessas horas é que temos que ter calma e saber levar o cliente pois logo de kara não sabia o que era.

Então após uns 30 minutos de pesquisa descobri o diretório flash_recovery_area tinha sido deletado, com isso o Banco de Dados não iniciava.

O motivo disso é bem provável que algum KAMARADA deletou esse diretório.

Então apenas recriei o diretório, STARTUP MOUNT alterei a SGA. Depois SHUTDONW IMMEDIATE + STARTUP e Pronto Banco de Dados OPEN.

Bom pessoal, essa foi mais uma das minhas experiências como DBA ORACLE.

Abraço

Bruno Murassaki

Próxima Página »

Tema: Rubric. Blog no WordPress.com.

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.