[oracle_br] Delclaração Insert
Galera, desejo fazer uma declaração de " insert Múltiplos " da seguinte forma. Faço a leitura da tabela ORIGEM e antes da realização do insert na tabela DESTINO, realizo uma comparação entre um CAMPO DATA da tabela ORIGEM com o CAMPO DATA data tabela DESTINO. Abaixo segue um exemplo MORE OR LESS do que preciso fazer. INSERT WHEN (E.dtupdate> X.dtupdate) THEN INTO emp_BKP X(empno,ename,job,mgr,sal,deptno,dtinsert,dtupdate) VALUES (empno,ename,job,mgr,sal,deptno,dtinsert,dtupdate) SELECT * FROM emp E; é possivel?
Re: [oracle_br] Re: Índice condicional
Valeu, jlchiappa! Você tem toda razão. Não adianta simpelsmente comparar. mas foi a única maneira de mostrar o que eu estava pretendendo fazer. Eu tinha visto sobre esse índice de função mas não me passou pela cabeça fazer dessa forma, o filtro que eu queria. Foi falta de sagacidade mesmo! rss... Mas valeu cara... to estudando aqui aos poucos, conforme o tempo permite! rs... Brigadão pela ajuda. Abs -- --- Marcelo Santino Tel: (21) 9257-4448 www.marcelosantino.com 2009/11/13 jlchiappa > > > Colega. lógico que tem, isso se faz com índices de função, que são um > recurso mais velho q andar pra frente, foram introduzidos lá atrás no 8i... > Os dois conceitos básicos que vc vai precisar pra entender a técnica são : > > a) o Oracle ** não ** cria entradas para chave nula em índices > > b) um índice de função executa a função para cada registro quando da sua > criação > > juntando os dois conceitos vc poderia criar um índice tipo : > > CREATE INDEX nomedoindice ON nomedatabela(decode(nomedacoluna, 1, 1, > null)); > > OU SEJA, a função retornal NULL pra condição não desejada, nulos não são > indexados... > > []s > > Chiappa > > ==> DICA : esses conceitos TODOS são muito bem explicados no manual de > Concepts do bd oracle, recomendo Enfaticamente que vc o leia e estude, se vc > vai trabalhar com bd Oracle isso é pré-req, Não recomendo ficar tentando > fazer 'conversão' mental de um pra outro, e sim estudar e conhecer o que > cada um tem... > > --- Em oracle_br@yahoogrupos.com.br , > Marcelo Santino escreveu > > > > > Fala pessoal, blz? > > > > Estou tentando criar um índice em uma tabela, mas acostumado com Postgre > > estou sentindo falta de uma funcionalidade muito boa que são os Índices > > Condicionais. > > > > Por exemplo, eu tenho a tabela CLIENTE com as colunas ID, NOME, EMAIL, > > STATUS, DATA_CADASTRO. > > EU queria criar um índice para a coluna EMAIL mas apenas para os > registros > > aonde o STATUS = 1. > > > > No Postgre eu criaria um indice assim: > > CREATE INDEX cliente_email_idx > > ON cliente > > USING btree > > (email) > > WHERE status = 1; > > > > Existe algo parecido no Oracle? > > > > Abraços, > > > > -- > > --- > > Marcelo Santino > > Tel: (21) 9257-4448 > > www.marcelosantino.com > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > [As partes desta mensagem que não continham texto foram removidas] -- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira >responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ -- >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: >http://www.oraclebr.com.br/ Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [oracle_br] Tuning de Querys
Procure pelo livro do burleson, The Definitive Tuning esse vai te ajudar em mta coisa.. - Original Message - From: darcio XX To: oracle_br@yahoogrupos.com.br Sent: Saturday, November 14, 2009 3:45 PM Subject: [oracle_br] Tuning de Querys Alguem conhece algum livro "apostila, post..." bom para tuning query? __ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- O Banco de Dados de Vírus interno expirou. Verificado por AVG - http://www.avgbrasil.com.br Versão: 8.0.233 / Banco de dados de vírus: 270.10.16/1926 - Data de Lançamento: 30/1/2009 17:31 [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Tuning de Querys
Alguem conhece algum livro "apostila, post..." bom para tuning query? Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] Re: Patchset 10.2.0.4 + Aix 6.1 = ódio
Prezados, Graças ao nosso amigo de fora Ayax Morales, consegui solucionar o problema: Para aplicação do Patchset 10.2.0.4 no AIX 6.1, utilizem a versão máxima 6 TL03 pois a última (6 TL04) é a causadora do problema. Abraços, Marcelo Medrado 2009/11/13 Ayax Morales > Hello Marcelo, > I do not check this e-mail often, I am just reading it. I have gone through > the error, I did post the "solution" in the forum but was not able to see it > so I am not sure if you were able to read it. > > The previous days I installed Oracle in a couple of server with AIX 6 TL03, > then I got the error in another server and after checking it I noticed that > it had AIX 6 TL04, I asked the OS admin to downgrade the TL and after that > it worked ok. I guess that sometime in the future this will be solved but in > the meantime I have to deliver this installations so I have no time to > waste. I hope this helps you. > > Regards, > Ayax > > --- On Thu, 11/12/09, Marcelo Medrado > wrote: > > > From: Marcelo Medrado > > Subject: Re: Patchset 10.2.0.4 + Aix 6.1 = ódio > > To: "morales_ayax" > > Date: Thursday, November 12, 2009, 9:21 PM > > Olá Ayax, > > > > Se quiser, podemos falar em inglês também. > > > > Não consegui instalar o Patchset, o erro persiste. Já fiz > > diversas tentativas sem sucesso. Houve algo que você fez > > para que funcionasse? > > > > Sds, > > > > > > > > Marcelo > > > > 2009/11/12 morales_ayax > > > > > > Hola Marcelo, > > > > Me he encontrado con el mismo mensaje de error, ¿has > > podido aplicar el parche? No hablo portugués pero pude > > entenderle a tu mensaje, espero que mi español sea claro. > > > > > > > > Saludos, > > > > Ayax > > > > > > > > --- Em oracle_br@yahoogrupos.com.br, > > Marcelo Medrado escreveu > > > > > > > > > > Prezados, > > > > > > > > > > Acabei de instalar uma base de dados 10g (10.2.0.1) > > num AIX 6.1 conforme > > > > > manda o figurino. Coloquei todos os pacotes, > > parametrizações, tudo. Me > > > > > baseei no Installation Guide da própria Oracle e em > > alguns papers da IBM. > > > > > > > > > > Sei que o 10gR2 não homologa o AIX 6.1 (mais ou menos > > como o 10gR2 com o Red > > > > > Hat 5) mas o Patchset 10.2.0.4 já o aceita na > > checagem de PreReqs. > > > > > > > > > > Fiz todos os procedimentos: > > > > > > > > > > - rootpre.sh (inclusive um diferenciado, que deve ser > > baixado do site, li no > > > > > blog do Proni) > > > > > - rodei o slibclean > > > > > > > > > > As variáveis estão lindamente setadas. > > > > > > > > > > Após checar os pré-requisitos, antes mesmo de > > começar a instalar, vem uma > > > > > mensagem velha conhecida: > > > > > > > > > > "Oracle Universal Installer has detected that > > there are processes running in > > > > > the currently selected Oracle Home. The following > > processes need to be > > > > > shutdown before continuing:javaksh" > > > > > > > > > > Ok, legal. Isso já tinha me acontecido com processos > > conhecidos como o CSSD > > > > > e o Listener mas estes processos não existem! > > > > > > > > > > ps -ef |grep java > > > > > ps -ef |grep ksh > > > > > > > > > > Nada. > > > > > > > > > > O pior de tudo é que as documentações e foruns > > geralmente informam algo > > > > > óbvio do tipo "finalize o processo e clique em > > retry", levando em > > > > > consideração que este tipo de ocorrência é comum > > quando existem processos DO > > > > > ORACLE abertos ao se aplicar o Patchset... > > > > > > > > > > Alguém já passou por isso? > > > > > > > > > > Abraços, > > > > > > > > > > Marcelo > > > > > > > > > > > > > > > [As partes desta mensagem que não > > continham texto foram removidas] > > > > > > > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas]
Res: [oracle_br] Dicas sobre migração de St orage
Um detalhe importante que não pode passar batido são os arquivos OCR e VOTINGDISK. Faça o backup deles a frio (caso seja um OCFS2 ou outro tipo de CFS - parando o clusterware). Caso esteja utilizando RAW DEVICES... 1. procure os backups do OCR com o comando: ocrconfig -showbackup 2. faça o backup a frio, finalizando o clusterware: crsctl stop crs ocrconfig -export /home/oracle/backup/ocr.dump dd if=/unidade/votingdisk of=/home/oracle/backup/votingdisk.bkp 3. Após a operação, e a montagem das unidades de disco e com o clusterware ainda parado restaure os arquivos: ocrconfig -import /home/oracle/backup/ocr.dump dd if=/home/oracle/backup/votingdisk.bkp of=/unidade/votingdisk 4. Verificar a integridade: cluvfy comp ocr -n all 5. Iniciar o clusterware: crsctl start crs Qualquer operação no ambiente RAC que ocorre a perda dos OCR e VotingDisk HAVERÁ A NECESSIDADE DE REINSTALAR O SOFTWARE. Neste exemplo estou assumindo que as unidades (ou raw devices) possuam o mesmo nome do original. Caso não seja, deverá modificar o arquivo ocr.loc e restaurá-lo em um novo local. O votingdisk deverá ser adicionado, e depois removido o arquivo anterior. Estas operações devem ser feitas com o clusterware parado. Espero ter auxiliado, qualquer dúvida estou a disposição. Marcus Pavan. De: Mária Cristina Silva Para: oracle_br@yahoogrupos.com.br Enviadas: Sexta-feira, 13 de Novembro de 2009 16:58:18 Assunto: Re: [oracle_br] Dicas sobre migração de Storage Marcelo, nossa muito bom... Os servidores vão enxergar sim o novo storage tb.. Bom mas valew d+ as dicas.. isso era mesmo pra ter uma ideia de como fazer.. e ajudou muito .. Marcelo, Renato e Duilio muitissimo obrigada pela atenção... Bjim 2009/11/13 Marcelo Procksch > Mária > > Uma coisa que não está claro é se seus servidores estão acessando os dois > storages? > > Se sim, segue essa receitinha de bolo > > É simples adicione os discos do novo storage no seu DISK GROUP faça um > rebalance, após terminar o rebalance, comece a remover os discos do storage > antigo. > > Segue um procedimento de EXEMPLO: > > [r...@rac2 ~]# /etc/init.d/oracleasm createdisk ASMDISK4 /dev/sdg1 <-- > suposto disco do novo storage > Marking disk "ASMDISK4" as an ASM disk: [ OK ] > > Verifiquei se no outro nó foi adicionado o disco do novo storage: > [r...@rac1 ~]# oracleasm querydisk -v /dev/sdg1 > Device "/dev/sdg1" is marked an ASM disk with the label "ASMDISK4" > > Verificando nome da instancia > > [ora...@rac2 ~]$ ps -xa | grep pmon > Warning: bad syntax, perhaps a bogus '-'? See > /usr/share/doc/procps-3.2.7/FAQ > 925 pts/0 S+ 0:00 grep pmon > 17940 ? Ss 0:03 asm_pmon_+ASM2 > 18562 ? Ss 0:08 ora_pmon_RAC2 > > export ORACLE_SID=+ASM2 > > sqlplus / as sysdba > > verificando os grupos de disco que vc tem: > > SQL> select group_number,name from v$asm_diskgroup; > > GROUP_NUMBER NAME > -- > 1 DG_1 > > Adicione todos os discos do novo storage ao seu DISK GROUP. > > SQL> alter diskgroup DG_1 add disk 'ORCL:ASMDISK4'; > > aumente a força do balanceamento > > Aumentando a força do rebalance, e seu banco estiver em produção recomendo > entre 5 e 6 para não usar muito recurso, para não afetar muito as operações > dos usuários. > alter diskgroup DG_1 rebalance power 6; > > Após adicionar TODOS os discos do seu novo storage verifiquei se o REBAL já > terminou. > > SQL> select * from v$asm_operation; > > GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK > EST_RATE EST_MINUTES > —– —- ———- ———- ———- ———- ———- ———– > 3 REBAL RUN 1 1 18652 69864 722 > 70 > > Após ter terminado o REBALANCE > > SQL> select * from v$asm_operation; > > no rows selected > > Identifiquei os discos do STORAGE antigo e comece a dropar os discos > > SQL> select DISK_NUMBER, name, failgroup, group_number from v$asm_disk; > > DISK_NUMBER NAME FAILGROUP > GROUP_NUMBER > --- -- -- > > > 0 > 0 > > 1 > 0 > 0 ASMDISK1 > ASMDISK1 1 > 1 ASMDISK2 > ASMDISK2 1 > 2 ASMDISK3 > ASMDISK3 1 <-- suposto disco do storage > antigo a ser removido. > 3 ASMDISK4 > ASMDISK4 1 > > No exemplo vou remover o ASMDISK3 > > SQL> alter diskgroup DG_1 drop disk asmdisk3; > > Diskgroup altered. > > SQL> alter diskgroup DG_1 rebalance power 6; > > Diskgroup altered. > > SQL> select * from v$asm_operation; > > GROUP_NUMBER OPERA STAT POWER ACTUAL SOFAR EST_WORK > EST_RATE > - -- -- -- -- > -- > EST_MINUTES > --- > 1 REBAL RUN 6 6 75 979 > 495 > 1 > Após terminado o balanceamento não