[oracle_br] Automatizando cópia do ARCHIVELOG
Bom dia!, Gostaria de iniciar agradecendo aos amigos que responderam ao meu questionamento passado, muito obrigado... Caros amigos, minha versão do DB oracle é: banner Oracle Database 10g Release 10.2.0.3.0 - 64bit Production MODO full_version version_bit isDb64bit isHPUX ARQUIVAMENTO -- - - -- --- 10.2.0.3.0 10.2.0.3.0 - 64bit True FalseSTARTED Gostaria de saber se existe algum parâmetro no Oracle o qual possa ser informado para que o próprio oracle administre a cópia dos ARCHIVELOG´S após arquivamento dos mesmos para uma nova localização em outro servidor, servidor remoto, funcionando assim como uma cópia dos ARCHIVESLOG´S como se fosse uma cópia de backup. Hoje estou fazendo manualmente, por meio de shell disparado via crontab de tempo em tempo, sem ter a certeza que o archive já fez ou não seu arquivamento com ou sem sucesso, neste cenário atual que estou trabalhando, como poderia confirmar se o ARCHIVELOG já fez seu arquivamento com sucesso para que pudesse mandá-los íntegros, sem estar com a transação incompleta???. Algum dos amigos poderiam ajudar-me na formação deste script/shell???. Teria que interagir com o RMAN forçando o arquivamento ou teria outra solução mais prática de fazê-lo???. Agradeço de logo a ajuda dos amigos... Atenciosamente, [image: Foto Cristiano Vasconcelos Barbosa] *Cristiano Vasconcelos Barbosa.'.* * Analista de Sistemas Banco de Dados* | Cel: +55 (85) 9691.8331 -- http://br.linkedin.com/in/cristianovasconcelos *DEUS MEUMQUE JUS*.'. *DÓMINI SUMUS*.'. Contact me: [image: Google Talk] cvasconcel...@gmail.com [image: Skype] cvasconcelosb [image: MSN] cvasconcel...@hotmail.com [image: Y! Messenger] cvasconcel...@yahoo.com.br [image: My QR VCard] http://s.wisestamp.com/links?url=http%3A%2F%2Fbr.linkedin.com%2Fin%2Fcristianovasconcelossn=Y3Zhc2NvbmNlbG9zYkBnbWFpbC5jb20%3D
Re: [oracle_br] Automatizando cópia do ARCHIVELOG
Conecte-se no banco via SQL*Plus como SYS e execute: SQL show parameter log_archive_dest Você vai ver que tem dezenas de parametros onde você pode incluir destinos dos archives. Não precisa copiar, o rdbms vai criar as cópias para esses locais sempre que gerar archive. Att, Em 19 de maio de 2015 10:59, Cristiano Vasconcelos Barbosa cvasconcel...@gmail.com [oracle_br] oracle_br@yahoogrupos.com.br escreveu: Bom dia!, Gostaria de iniciar agradecendo aos amigos que responderam ao meu questionamento passado, muito obrigado... Caros amigos, minha versão do DB oracle é: banner Oracle Database 10g Release 10.2.0.3.0 - 64bit Production MODO full_version version_bit isDb64bit isHPUX ARQUIVAMENTO -- - - -- --- 10.2.0.3.0 10.2.0.3.0 - 64bit True FalseSTARTED Gostaria de saber se existe algum parâmetro no Oracle o qual possa ser informado para que o próprio oracle administre a cópia dos ARCHIVELOG´S após arquivamento dos mesmos para uma nova localização em outro servidor, servidor remoto, funcionando assim como uma cópia dos ARCHIVESLOG´S como se fosse uma cópia de backup. Hoje estou fazendo manualmente, por meio de shell disparado via crontab de tempo em tempo, sem ter a certeza que o archive já fez ou não seu arquivamento com ou sem sucesso, neste cenário atual que estou trabalhando, como poderia confirmar se o ARCHIVELOG já fez seu arquivamento com sucesso para que pudesse mandá-los íntegros, sem estar com a transação incompleta???. Algum dos amigos poderiam ajudar-me na formação deste script/shell???. Teria que interagir com o RMAN forçando o arquivamento ou teria outra solução mais prática de fazê-lo???. Agradeço de logo a ajuda dos amigos... Atenciosamente, [image: Foto Cristiano Vasconcelos Barbosa] *Cristiano Vasconcelos Barbosa.'.* * Analista de Sistemas Banco de Dados* | Cel: +55 (85) 9691.8331 -- http://br.linkedin.com/in/cristianovasconcelos *DEUS MEUMQUE JUS*.'. *DÓMINI SUMUS*.'. Contact me: [image: Google Talk] cvasconcel...@gmail.com [image: Skype] cvasconcelosb [image: MSN] cvasconcel...@hotmail.com [image: Y! Messenger]cvasconcel...@yahoo.com.br [image: My QR VCard] http://s.wisestamp.com/links?url=http%3A%2F%2Fbr.linkedin.com%2Fin%2Fcristianovasconcelossn=Y3Zhc2NvbmNlbG9zYkBnbWFpbC5jb20%3D
[oracle_br] Re: Automatizando cópia do ARCHIVELOG
O que temos nesse sentido é a DUPLEXAÇÃO de archives, ie : vc indica um destino ADICIONAL aonde gravar os archives , além do atualmente setado : nada impede esse destino adicional de ser um mountpoint NFS/Samba/whatever remoto em outro servidor, o que vc teria que setar... O complicador nesse setup seria a PERFORMANCE : archived redo logs é algo que pode ser gerado intensamente, em intervalos de poucos minutos, vc teria que confirmar com o teu pessoal de infra se uma montagem NFS/samba/whatever atende a esse nível de utilização : é Importante deixar claro que quando vc cria um destino adicional de arquivamento, a operação de arquivamento só termina quando o archive for gravado em ** TODOS ** os destinos corretamente e com sucesso : se o teu mountpoint remoto der problema de performance o banco pode ter que ficar Esperando ele responder pra só então concluir a operação de arquivamento Idem sobre a Confiabilidade : se der um pico/pau de rede e o local remoto ficar indisponível, é pau na certa, ORA-XXX logado... Uma segunda opção (uma variação do tema, mais que qqer outra coisa) poderia ser vc ter um mountpoint NFS/samba/oquefor na máquina remota e fazer o RMAN backupear os archives para lá - hoje vc já tem, óbvio, uma rotina de backup de archives para fita/disco local, vc poderia adicionar uma Outra que fizesse o backup para esse disco remoto... Claro, isso pode influenciar na performance do RMAN, claro, E traz a desvantagem da cópia acontecer não quando o archive é gerado mas sim na tua janela de backup dos archives, mas que funciona, funciona... Caso vc fique inseguro com a opção de destino adicional e de backup extra, aí a outra opção é mesmo vc escrever um script que copie cada archive gerado para o destino, via ftp, scp ou o que for... Adicionalmente, informo que não faz sentido a sua preocupação de archive com transação incompleta : no RDBMS Oracle, conforme os SQLs vão se sucedendo, os dados (mesmo que não tenham sido comitados!!!) vão para o REDO LOG file (passando rapidamente por um buffer antes, mas não importa conceitualmente) , e assim que o REDO LOG FILE fica cheio, ele é Arquivado, mesmo que contenha Transações em aberto, não comitadas, sacou ENtão NÃO FAZ SENTIDO ALGUM a sua preocupação de transação incompleta no archive : assim que o archive foi gerado em disco, o RDBMS Oracle o fecha e dele não mais necessitará, assim ele pode ser copiado sem problema algum Há diversos mecanismos para vc ter dois diretórios constantemente sincronizados com os mesmos arquivos (que é o que vc quer, neste cenário) : nos unix-like (o que é o seu caso, ao que parece) normalmente há disponível uma tool chamada rsync , que faz exatamente isso, veja lá com o seu sysadmin se vc a tem... Caso não tenha, é mesmo escrever um shell script que além de simplesmente copiar os arquivos faça um check/chksum/algum tipo de verificação de integridade lá e cá - eu não tenho um tal script mas qquer técnico local seu aí que tenha um pouco mais de conhecimento de shell scripting pode criar um... []s Chiappa
Res: Re: [oracle_br] Utiliza ção do Cluster de tabela
Chiappa, muito obrigado. Vou procurar os livros recomendados. Fiz a prova do 12C Fundamentals (e felizmente consegui passar) recentemente e inclusive estava procurando um livro para começar a estudar a prova para Administration I. Abs, Rodrigo
Re: Res: Re: [oracle_br] Utiliza ção do Cluster de tab ela
ok : o importante é que vc tenha captado o conceito, E ao mesmo tempo aprendido um pouco mais sobre o funcionamento físico do RDBMS ORACLE... Aliás, como vc está fazendo um treinamento de DBA pelo que vejo, eu recomendo que vc coloque como objetivo para vc mesmo conhecer o que acontece no RDBMS desde quando o usuário abre o programa-cliente e conecta no banco: os processos que o banco cria no servidor, o recebimento do SQL enviado, a questão do PARSE, montagem do plano de execução, execução do plano com os dados lidos (a partir dos blocos em disco), os blocos ficando em cache, as linhas retornadas Mas blz, retornando ao ponto em questão a sua pergunta tá esclarecida, né ? E só adiciono que esse livro que citei é para aprender conceitos e recursos básicos do RDBMS de modo geral, ele não é voltado especificamente para os tópicos do Exame de certificação - por incrível que pareca, tem muita coisa que o Exame cobra e não é tão importante na prática real do dia-a-dia, e tem muito coisa importante para o uso diário que o Exame []s Chiappa
[oracle_br] Re: phyrds/phys_wrts
Muito obrigado Chiappa.. Abraço, LM
[oracle_br] Re: phyrds/phys_wrts
Physical reads writes vc pode sim, tirar do gv$datafile, ok, OU também poderia (se fosse ASM) tirar das views do ASM... Já Performance CPU/RAM eu ** absolutamente desconheço ** o que vc quer com isso - até mesmo porque o RDBMS Oracle é um SIMPLES e RELES ** consumidor ** de CPU e RAM, ele absolutamente Não Sabe se estava havendo gargalo ou não, quantos porcento do total foi consumido : isso vc obtém é pelo Sistema Operacional, okdoc ??? INCLUSIVE, a Oracle oferece uma tool (um conjunto de scripts Linux/AIX/Unix, na verdade) que já executam os comando de SO necessários por um determinado intervalo de horas e salvam a informação coletada, é o OS Watcher Black Box... Dentro do database a única Informação que ele registra de CPU é o tempo de CPU que o RDBMS gastou , e de RAM é quanta RAM foi consumida em PGA e em SGA : verifique as views de waits para obter essa info, E com o detalhe que essa info é acumulativa , mostra o TOTAL de waits do banco até agora... Pra vc obter o consumo (e repito, é em TEMPO de waits, não em porcentagem de CPU nem nada assim) em 1 hora vc tem que consultar algora, esperar uma hora , consultar de novo e fazer a diferença... []s Chiappa
[oracle_br] phyrds/phys_wrts
Boa tarde Colegas, Eu preciso gerar estes relatórios - Quantidade de Pedidos Leitura/Escrita por hora nas últimas 24 horas - Performance CPU/RAM nas últimas 24 Horas Estou me baseando neste select, teriam outra forma? WITH totreadwrite AS (SELECT SUM (phyrds) phys_reads, SUM (phywrts) phys_wrts FROM v$filestat) SELECT NAME, phyrds, phyrds * 100 / trw.phys_reads read_pct, phywrts, phywrts * 100 / trw.phys_wrts write_pct,TO_CHAR(checkpoint_time,'-MM-DD HH24') FROM totreadwrite trw, v$datafile df, v$filestat fs WHERE df.file# = fs.file# and checkpoint_time To_Date('18.05.2015 00','DD.MM. HH24') GROUP BY NAME, phyrds, phyrds * 100 / trw.phys_reads, phywrts, phywrts * 100 / trw.phys_wrts,TO_CHAR(checkpoint_time,'-MM-DD HH24') LM