Re: [oracle_br] ASM e hugepage
Bom dia Emerson! Então, tava procurando a alguns dias e ainda não tinha encontrado, mas ontem a noite achei o que eu procurava em relação a ASM e hugepage. Na documentação de melhores praticas de alta disponibilidade, a Oracle recomenda o uso de ASMM e hugepage para a instância ASM, como você mencionou acima. Configuring Storage https://docs.oracle.com/cd/E11882_01/server.112/e10803/config_storage.htm#HABPT4806 https://docs.oracle.com/cd/E11882_01/server.112/e10803/config_storage.htm#HABPT4806 Configuring Storage https://docs.oracle.com/cd/E11882_01/server.112/e10803/config_storage.htm#HABPT4806 4.3.1 Use a Simple Disk and Disk Group Configuration Visualizar em docs.oracle.com https://docs.oracle.com/cd/E11882_01/server.112/e10803/config_storage.htm#HABPT4806 Visualização pelo Yahoo E para calcular o hugepage para a instância ASM é só seguir a nota Doc ID 401749.1 e para configurar o hugepage seguir a nota Doc ID 361468.1 Então, aqui eu já tinha o hugepage configurado para o banco com o parametro vm.nr_hugepages=81000 O banco tava usando 80200 paginas. Depois eu instalei o ASM com o gerenciamento em AMM, e continuava o uso de 80200 paginas, então eu desabilitei o gerenciamento AMM de memória da instância ASM e habilitei o gerenciamento ASMM e após o restar da instância ASM o consumo das páginas passaram de 80200 para 80978, então o ASM também passou a utilizar hugepages. Para conferencia do uso da hugepage, eu baixei a instância de banco e do ASM e depois subi só a instância ASM e pude ver que tava consumindo 778 páginas de hugepage, então eu subi a instância de banco e passou a consumir novamente as 80978 paginas. Mas como este hugepage que tenho aqui é apenas para o banco e o ASM também está consumindo está hugepage, eu preciso recalcular para um valor aonde comporte a instância do Banco e do ASM, para isso eu fiz os passos da nota 401749.1 e depois alterei o valor do parâmetro vm.nr_hugepages, seguindo a nota 361468.1. Pronto o ASM e o Banco estão usando hugepage corretamente. Eu Abri um chamado na Oracle, para saber a questão dos valores para SGA e PGA na instância ASM, e me passam que o valor para a sga_target é de 2G e para a pga_aggregate_target é de 500M. Obrigado a todos pela a ajuda...
[oracle_br] ASM e hugepage
Ola pessoal no ambiente de banco que eu estou migrando para ASM, temos o hugepage habilitado para o banco, sendo que o gerenciamento de memória do banco é manual. Agora vou passar a usar ASM+ASMLIB para este ambiente e me deparei com a seguinte questão: A instância ASM usa o gerenciamento automático de memória(AMM), vou ter problema se instalar o ASM neste ambiente aonde o hugepage está habilitado?? Oracle Database 11.2.0.4 standard edition ASM 11.2.0.4
[oracle_br] Re: Usar Multpath no ASM
Opa, com uma explicação deste porte ficou muito bem compreendido. Mais uma vez muito obrigado pela ajuda.
[oracle_br] Re: Usar Multpath no ASM
Opa, chiappa, mais uma vez muito obrigado pelas dicas, já vinha fazendo algumas simulações em uma maquina virtual que tenho aqui, mas agora vou criar um ambiente com o openfiler e dar continuidade no meu aprendizado. Chiappa, me desculpe mas eu não consegui compreender bem a parte que você fala em "precisa incluir também o ASM na sua política de Disaster recover", você poderia me dar um exemplo disso??
[oracle_br] Re: Usar Multpath no ASM
Opa, Chiappa eu fiz o curso de Grid Infrastructure a uns 3 meses e de lá até o momento eu li a documentação do ASM (http://docs.oracle.com/cd/E11882_01/server.112/e18951/toc.htm) e também o livro https://www.amazon.com/Oracle-Automatic-Storage-Management-Under/dp/0071496076 https://www.amazon.com/Oracle-Automatic-Storage-Management-Under/dp/0071496076 Do Bill Bridge. Também já realizei a migração do nosso ambiente de teste para ASM, faz uns 40 dias, Porém como não temos uma estrutura robusta como na nossa produção(storage, controladoras etc), este ambiente esta virtualizado. Até o momento não tive maiores problemas, já peguei um bug ao fazer consulta as views v$asm_disk etc, via instância de banco, que resolvi aplicando os patchs necessários. E com a ajuda de vocês aqui no grupo, tiro as duvidas de quem já tem um conhecimento teorico da coisa e está colocando ela em pratica. Agradeço imensamente a ajuda de vocês e se tiver algum outro livro/documentação para indicar, eu agradeço.
[oracle_br] Re: Usar Multpath no ASM
Opa, sim, aqui o pessoal da infra tá utilizando o DM, já confirmado com o fornecedor. Com isso to usando a nota que passei anteriormente. No mais é isso. Chiappa, mais uma vez muito obrigado pelos esclarecimentos.
[oracle_br] Re: Usar Multpath no ASM
Bom dia! Pessoal, obrigado pelas explicações, me ajudaram e muito aqui.. Chiappa, como uso Oracle Linux aqui, vou utilizar aqui o ASMLib, como você falou ele é mais simples de configurar. Como é a minha primeira vez, to seguindo o Doc ID 1365511.1 para isso. E agora to com uma duvida, no Doc ele cria a partição no disco antes de utilizar no multipath(fdisk /dev/***) Porém eu encontrei a nota COMMINITIES: 3802843, que fala que não é necessário particionar os discos em multipath para entregar para o ASM. Então, na minha ignorância, se faz necessário particionar este disco, seja ele antes(fdisk /dev/***) ou depois do multipath(fdisk /dev/mapper/***), e depois entregar ele para o ASM, agora to meio perdido enquanto a isso. Particiono ou não se tem está necessidade??
[oracle_br] Usar Multpath no ASM
Olá pessoal, to migrando um ambiente para ASM e o pessoal do TI aqui me passou que eles irão me entregar os discos para o ASM utilizando multpath. Eu pretendo utilizar o ASMLIB no ambiente aqui, o Multpath vai funcionar bem com o ASM?? Alguém tem experiência em ASM com multpath e possa compartilhar , seus prós, contras etc.. Oracle Database Standard Edition 11.2.0.4 Oracle Grid 11.2.0.4
[oracle_br] Re: Importar dump do mysql no oracle
Então Everson. Eu acho que você não vai escapar de ter que fazer um restore deste seu dump em um novo banco mysql, conforme o pessoal já comentou anteriormente, e depois fazer a migração para o Oracle. Para fazer a migração utilizando o SQL Developer segue o tutorial abaixo que você pode seguir para fazer Connect Step MySQL http://www.oracle.com/technetwork/database/migration/connect-step-mysql-1946352.html http://www.oracle.com/technetwork/database/migration/connect-step-mysql-1946352.html Connect Step MySQL http://www.oracle.com/technetwork/database/migration/connect-step-mysql-1946352.html Connect Step MySQL Visualizar em www.oracle.com http://www.oracle.com/technetwork/database/migration/connect-step-mysql-1946352.html Visualização pelo Yahoo ou SQL Developer: Migrating Third-Party Databases https://docs.oracle.com/cd/E25259_01/appdev.31/e24285/migration.htm#RPTUG45390 https://docs.oracle.com/cd/E25259_01/appdev.31/e24285/migration.htm#RPTUG45390 SQL Developer: Migrating Third-Party Databases https://docs.oracle.com/cd/E25259_01/appdev.31/e24285/migration.htm#RPTUG45390 2.1.1 Migrating Using the Migration Wizard Visualizar em docs.oracle.com https://docs.oracle.com/cd/E25259_01/appdev.31/e24285/migration.htm#RPTUG45390 Visualização pelo Yahoo Se você conseguir gerar um script com os DMLs e DDLs deste banco mysql, você poderá adaptar ele para o Oracle e rodar, porém acho que vai ser muito mais trabalhoso do que utilizar o SQL Developer para isso.
[oracle_br] Re: duvidas migração para ASM
Boa tarde! Chiappa, obrigado pelos esclarecimentos. Vou validar aqui os procedimentos que vc comentou, verificar se conseguimos alguma melhora no tempo de migração. Em relação ao banco Standard Edition com alguns TBs, é bem trabalhoso ficar sem as Features do EE, mas é a vida. Mais uma vez valeu pelas dicas, até breve...
[oracle_br] duvidas migração para ASM
Boa tarde! Pessoal, estou migrando um ambiente para ASM e estou com algumas duvidas, segue elas: 1) Este ambiente foi migrado para 11.2.0.4 a algum tempo, porém o parâmetro compatible está como 10.2.0.1.0, o melhor seria setar este parâmetro para 11.2.0.0.0 ou continuo com o 10.2.0.1.0?? 2) Eu estou utilizando a biblioteca do ASM(ASMLib), e hoje tenho os disco entregues para o ASM com a seguinte descrição: /dev/sdd,/dev/sde , /dev/sdf etc, se por algum motivo o S.O é restartado e o disco que se chamava /dev/sdd agora está como /dev/sdf, e o que era /dev/sde agora é /dev/sdd e o que era /dev/sdf agora é /dev/sde, o ASM pode se perder ao ler estes devices e causar problemas de acesso aos dados?? 3) Este banco é 24x7, tem uma janela de manutenção de 4 horas e tem 6T de dados, com 303 datafiles, sendo alguns de aplicação extremamente critica e outros de aplicação que não são criticas. Vou fazer a migração para o ASM via RMAN(backup as copy...), como não tenho janela para fazer a migração de todos os datafiles ao mesmo tempo, estou pensando em fazer a migração dos datafiles por aplicação e por criticidade, ex: aplicação A tem 5 datafile é não é critica, vou parar a aplicação, colocar os datafiles para offline, fazer o backup as copy datafile xxx format '+DATA' etc, e depois o switch to copy. Com isso terei datafiles no ASM e datafiles em disco, terei algum problema de performance ou outro tipo de problema em manter o ambiente desta forma até finalizar a migração de todos os datafiles para ASM?? OBS: Versão de banco 11.2.0.4 Standard Edition, Versão do Grid = 11.2.0.4
[oracle_br] Re: Instalação do Oracle GRID St a ndalone Server para uso do ASM
Opa chiappa, sim é bem tranquilo que utilizar o Restart, com o tutorial que você colocou aqui, fica mais fácil ainda de entender como ele funciona. Já estou utilizando ele. Obrigado mais uma vez.
[oracle_br] Re: Instalação do Oracle GRID Sta ndalone Server para uso do ASM
Boa tarde! Chiappa, obrigado, era esta mesmo a minha duvida em relação a obrigatoriedade ou não de incluir o banco a estrutura do grid. Até mais...
[oracle_br] Instalação do Oracle GRID Standalone Server para uso do ASM
Boa tarde! Pessoal, temos algum ambientes aqui que estão utilizando file system, agora queremos passar a utilizar o ASM. A partir da versão 11.2 do Oracle, para se utilizar o ASM é necessário instalar o Grid e escolher a opção "Grid Infrastructure for a Standalone Server" , porém no ambiente já tem a Instalação do RDBMS rodando normalmente. Então eu estou criando uma nova home para a instalação do Grid, e realizo a instalação do (Grid/ASM) nesta nova home. Agora vem a duvida.. Após a instalação do Grid, é necessário adicionar este banco a estrutura do grid?? Oracle 11.2.0.4 Standard Edition
[oracle_br] Re: Licenciamento Oracle
Bom dia ! Pessoal, obrigado pela dica, já conversei com o meu colega aqui. Como a base dele é pequena, ele vai fazer um dump para uma base nova. Obrigado a todos.
[oracle_br] Licenciamento Oracle
Boa tarde! Pessoal, acho que já é de conhecimento de vcs que a Oracle através dos parceiros está indo e cada cliente e fazendo auditoria nos ambientes, e pegando todo mundo de pequeno e médio porte. Conforme o Portilho fala no blog dele. http://nervinformatica.com.br/blog/index.php/2016/05/25/como-a-oracle-esta-vendendo-cloud-no-brasil/ http://nervinformatica.com.br/blog/index.php/2016/05/25/como-a-oracle-esta-vendendo-cloud-no-brasil/ O problema é que tenho um amigo que habilitou o Diagnostics & Tuning Pack, sem saber que erá pago(viajou legal), e agora tá desesperado, pois um parceiro Oracle tá querendo rodar os scripts no ambiente dele. Minha pergunta é: Tem como fazer uma nova instalação(correta agora), fazer um bump dos schemas/dados da base antiga, para a base nova e rodar depois os scripts da Oracle. sem pegar as features que ele habilitou??
[oracle_br] Re: Configurações ASM
Boa tarde! Chiappa, hoje estamos utilizando o RAID5, mas segundo o pessoal do TI aqui, que é quem comprar e está mais atualizado com o storage, a tecnologia "3PAR é um storage virtualizado, sendo assim ele não trabalha com discos físicos mas sim com chunklets, que são blocos de 1GiB. Cada disco é divido em blocos vários blocos de 1GiB e o RAID é feito nos chunklets". E então não utiliza o stripe tradicional. Abaixo o link falando mais de como isso é organizado. Learning 3PAR - Part 1 - Chunklets, Logical Disk, CPGs, and Virtual Volumes http://blog.mwpreston.net/2015/11/07/learning-3par-part-1-chunklets-logical-disk-cpgs-and-virtual-volumes/ http://blog.mwpreston.net/2015/11/07/learning-3par-part-1-chunklets-logical-disk-cpgs-and-virtual-volumes/ Learning 3PAR - Part 1 - Chunklets, Logical Disk, ... http://blog.mwpreston.net/2015/11/07/learning-3par-part-1-chunklets-logical-disk-cpgs-and-virtual-volumes/ A brief introduction to some of the terms within an HP 3PAR Storage Array such as Chunklets, Logical Disks, Common Provisioning Groups (CPGs) and Virtua... Visualizar em blog.mwpreston.net http://blog.mwpreston.net/2015/11/07/learning-3par-part-1-chunklets-logical-disk-cpgs-and-virtual-volumes/ Visualização pelo Yahoo Referente aos seguimentos, o que temos aqui são todos acessados por chave. Já referente a au_size, no Oracle 11.2, a documentação recomenda que ele tenha 4M, conforme abaixo: Specifying the Allocation Unit Size Oracle recommends that the allocation unit (AU) size for a disk group be set to 4 megabytes (MB). In addition to this AU size recommendation, the operating system (OS) I/O size should be set to the largest possible size. Some benefits of a 4 MB allocation unit are: Increased I/O through the I/O subsystem if the I/O size is increased to the AU size. Reduced SGA size to manage the extent maps in the database instance. Faster datafile initialization if the I/O size is increased to the AU size. Increased file size limits. Reduced database open time. The allocation unit size is specified with the disk group attribute AU_SIZE. The AU size cannot be altered after a disk group is created. O que você acha, seria uma boa passar a utilizar o au_size de 4M e COARSE STRIPE no ASM, ou se manter com o au_size de 1M, como vc mencionou antes??
[oracle_br] Re: Configurações ASM
Boa tarde! chiappa, desculpa a demora na resposta O ambiente aqui é OLTP, no qual hoje estamos com 4.5T de dados, ele tem 268 datafile(smallfile), onde 73 são de dados(2.224T), 67 são de index(616G) e 72 são de lobin(1618T) O S.O que utilizamos é o Oracle linux. O storage que temos aqui um HP 3PAR modelo 8200, com 66 discos físicos distribuidos em 4 cages sendo: 42 FC (1.6TB 10k RPM) 12 NL (5.4TB 7k RPM) 12 SSD (446GB) Espaço FC: 70,35TB Espaço NL: 65,658TB Espaço SSD: 5,35TB O strorage chega até 75000IOPS podendo chegar a 32IOPS com o Adpitive Otimization configurado. Nós estamos utilizando RAID5 para os mount point entregues para o banco.
[oracle_br] Re: Configurações ASM
Versão do banco 11.2.0.4 Standard Edition
[oracle_br] Configurações ASM
Boa tarde! Pessoal, estou querendo migrar os ambientes aqui na empresa para ASM, e estou com algumas duvidas segue elas: 1) Tenho datafiles para dados,index e lobin, crio um diskgroup para cada um ou crio apenas o diskgroup DATA e coloco todos neste diskgroup?? 2) A oracle recomenta que no 11.2.xxx a unidade de alocação(au_size) seja de 4M para os diskgroup, posso seguir isso ou não, como devo avaliar isso?? 3) Segundo o template do ASM, o stripe é fine para o controlfile e para os demais tipos é coarse, posso seguir desta forma ou não??
RE: [oracle_br] Re: Materialized View
Boa tarde! Rafael, apaga esta MV da lixeira do Oracle e tenta recriar ela novamente. Passei pelo mesmo problema no meu ambiente de DEV aqui, mas aqui foi com uma tabela, e resolvi apagando da lixeira. OBS: Isso é válido se não tiver estourando nenhum outro erro que não seja o de tabela ou view já existe, e com certeza ela foi removida do ambiente etc.
[oracle_br] Re: copia de binários do oracle para outro S.O
Boa tarde! Pessoal, as notas do metalink que falam do problema do pre_page_sga são: Bug 8505803 - PRE_PAGE_SGA results in excessive page table size when using MEMORY_TARGET [AMM] (Doc ID 8505803.8), Health Check Alert: Consider setting PRE_PAGE_SGA to FALSE (Doc ID 957525.1) Slow Connection or ORA-12170 During Connect when PRE_PAGE_SGA init.ora Parameter is Set (Doc ID 289585.1) Nas notas acima, nos mostra que temos problemas tanto no gerenciamento automático de memória quanto no manual. Sendo a solução desabilitar o pre_page_sga. Isso na versão Oracle 11G, que é a minha (11.2.0.4). Já para a versão 12C a história é outra, pois a nota Doc ID 1987975.1 nos diz que este parâmetro vem habilitado por default, "The default value for the parameter PRE_PAGE_SGA has changed in 12c to TRUE. It used to be FALSE in prior releases. " Na Doc acima eles demonstram a melhoria que foi realizado no 12c, para justificar o do por que o parâmetro passou a ser habilitado por default.
[oracle_br] Re: copia de binários do oracle para outro S.O
Boa tarde! Angelo, estou vendo com o suporte da Oracle este problema, pois ele é conhecido apenas com o AMM e não com o gerenciamento manual de memória. Assim que eu tiver uma resposta eu posto aqui..
[oracle_br] Re: copia de binários do oracle para outro S.O
Boa tarde! Pessoal, descobri o motivo pelo qual a conexão estava demorada. Se trata do parâmetro pre_page_sga que no meu ambiente da como "TRUE" No blog do Kevin, descreve o problema que passei com AMM, porém tive este problema com o gerenciamento manual de memória também. Oracle Database 11g Automatic Memory Management – Part IV. Don’t Use PRE_PAGE_SGA, OK? https://kevinclosson.net/2009/05/08/oracle-database-11g-automatic-memory-management-part-iv-dont-use-pre_page_sga-ok/ https://kevinclosson.net/2009/05/08/oracle-database-11g-automatic-memory-management-part-iv-dont-use-pre_page_sga-ok/ Oracle Database 11g Automatic Memory Mana... https://kevinclosson.net/2009/05/08/oracle-database-11g-automatic-memory-management-part-iv-dont-use-pre_page_sga-ok/ BLOG UPDATE (05.14.09): The bug number for this PRE_PAGE_SGA with Automatic Memory Management issue is 8505803 It has been quite a while since... Visualizar em kevinclosson.net https://kevinclosson.net/2009/05/08/oracle-database-11g-automatic-memory-management-part-iv-dont-use-pre_page_sga-ok/ Visualização pelo Yahoo Isso se deu pois no meu ambiente oficial eu tenho o hugepages habilitado, mas na Amazon eu optei por não habilitar. Sem o hugepages tem lentidão, já com o hugepages isso não ocorre. Mais uma vez obrigado a todos.
[oracle_br] Re: copia de binários do oracle para outro S.O
Bom dia! Pessoal, obrigado pela ajuda de todos, o problema está a nível de S.O/Rede. Trocamos o tipo de instancia na Amazon para força a troca do host e foi desativado o ASLR do kernel. Agora passou de 40 segundos para 7 segundos. Estamos trabalhando para diminuir ainda mais este tempo, assim que tiver novidades eu posto aqui. Mais uma vez obrigado a todos.
[oracle_br] Re: copia de binários do oracle para outro S.O
Boa tarde! Ricardo, tenho duas trigger que já estão desabilitadas, e a lentidão continua. Ricardo tenho sim como instalar os binários em um novo home, mas como eu faço para vincular estes novos binários com o meu banco que já existe??
[oracle_br] Re: copia de binários do oracle para outro S.O
bom dia! Chiappa, tem como eu fazer uma nova instalação do Oracle e utilizar o spfile da outra instalação nesta nova instalação, para que ele reconheça todas as confs do outro ambiente(datafile,controlfile etc), sem a necessidade de realizar um restore do ambiente para esta nova instalação?? pois os dados já estão todos lá nos discos.
[oracle_br] Re: copia de binários do oracle para outro S.O
Bom dia! Pessoal, a máquina está no Brasil, e a conexão que eu estou fazendo é local, a minha conexão sqlplus/ as sysdba é local, na máquina do EC2, e tá demorando muito para responder. Uma duvida, na máquina de onde eu copiei os binários tinha um IP e Host diferente da máquina que está no EC2, e lá no EC2 o que eu fiz foi editar o listener e o tnsnames e trocar o host antigo pelo host novo. Será que isso tem haver com a lentidão?? O correto seria recriar o listener,tnsnames e o sqlnet novamente em vez de apenas editar e fazer a alteração??
[oracle_br] copia de binários do oracle para outro S.O
Boa tarde! Pessoal, para um ambiente de testes na amazon, fiz a copia dos binários do banco de dados do meu ambiente na empresa, mais as unidade aonde se encontra os datafiles,redo, archive etc.. E mandei para amazon ec2, em um ambiente com o mesmo S.O, com os pacotes instalados, as configurações de S.O para o oracle etc Configuradas.. o banco faz o start normal, sem erros, mas o problema que eu estou enfrentando é o tempo que tá levando para se conectar ao banco. se eu der um sqlplus / as sysdba ou sqlplus user/passwd@ , o tempo para conectar é de 1 minuto. E no meu ambiente na empresa leva 2 segundos. Alguém sabe o que pode ser??
[oracle_br] Re: migração de storage
Bom dia! Chiappa, obrigado pelos seus esclarecimentos... Como aqui não temos links simbólicos, não teremos transtornos na migração. Vou seguir com o plano de migração. Mas uma vez muito obrigado, até mais.
[oracle_br] Re: [Problema Crítico] Ambiente de Produção
Bom dia! Samuel, você está fazendo um recover do baco de dados?? Se sim,quando você faz um incomplete recover ou recover com o backup do control file, é necessário abrir o banco com em resetlogs assim: RMAN> alter database open resetlogs; E se tiver tudo correto o banco irá abrir sem problemas. Isso não se trata de um erro, mas sim de um comportamento normal do banco de dados Oracle. OBS: Para que possamos te auxiliar melhor, descreva aqui o que realmente você está fazendo, a versão do seu banco de dados, entre outras informações que você julgue necessário.
[oracle_br] migração de storage
Bom dia! Pessoal, aqui na empresa estamos migrando o storage, como temos janela para manutenção, vamos parar o banco e fazer a cópia dos dados de um lado para outro, de todos os arquivos do oracle(datafile, archivelog,redo etc) nisso também precisamos migrar a unidade /u01, na qual está os binários, logs etc do oracle. Minha perguntá é, alguém já teve algum problema em fazer este tipo de migração?? Já fiz isso antes, porém ainda não realizei a migração da unidade aonde está os binários do banco. Sempre foi as demais unidades, por isso a minha duvida. Oracle 11.2.0.4 Standard Edition
[oracle_br] Oracle em Cloud
Bom dia! Pessoal, aqui na empresa se abriu uma discussão sobre a ida ou não da infra para a nuvem, provavelmente para a Amazon, desta forma gostaria de ouvir a opinião de vocês sobre tal. Então, gostaria de saber se alguém está trabalhando com algum ambiente Oracle em nuvem, se ele está no EC2 ou em RDS. Uma outra questão é referente ao RDS, no qual a Amazon vende por gerenciável por eles, sem a necessidade de uma pessoa para fazer isso(DBA). Isso é valido para qualquer tipo de ambiente, ou é voltado a ambiente considerado pequeno, sem um grau de criticidade. Alguém sabe até que nível eles gerenciam?? EX: Em um determinado ponto se faz necessário fazer tuning de instancia, eles fazem isso?? Pois o usuário por eles disponível não tem acesso de alter database,alter system etc. Ou eles mantem um padrão de configuração de instancia sem possibilidade de alteração?? Um outro ponto seria se alguém conhece alguma empresa com um ambiente expressivo(criticidade etc) no ambiente cloud, seja ele no EC2 ou RDS. Então, se possível o pessoal compartilhar um pouco da experiencia em se trabalhar com o ambiente de banco de dados em nuvem, prós/contras etc.
[oracle_br] Re: migração de storage
Olá Chiappa.. Sim, é como você falou, só precisarei mudar a /u01 e as demais unidades aonde estão os datafiles,controlfiles etc. o conteúdo do / e os demais, no qual o S.O está instalado, não é necessário realizar a migração. Chiappa, uma duvida, quando você se refere em alias/symbolic links que houverem, você se refere os que criamos apos a instalação do Oracle, por alguma necessidade, não os criados no momento da instalação, correto?? Sem a necessidade de refazer nenhum link que o Oracle cria na instalação?? Pois o que eu penso em fazer é dar stop no listener, no banco de dados e no serviço do EM. A nível de S.O, será criado uma nova unidade /u01_novo, e montado a partição do storage novo nesta pasta, e depois copiado(cp) tudo o que tem dentro da /u01 antiga para a nova /u01. Então a pasta /app e todas as sub pastas serão copiadas para a /u01_novo, isso já com as devidas permissões para o Oracle nas pastas e sub pastas, após isso a unidade /u01 será renomeada para /u01_old e a /u01_novo para /u01. Isso também será realizados para as demais unidades. Após tudo copiado irei iniciar o banco, listener e EM. Está é a rotina correta?? Obrigado..
[oracle_br] Re: Politica de backup para os archivelog
Boa tarde! Chiappa, Obrigado pela ajuda, agora com maior clareza, vou implementar a rotina aqui, segundo as suas orientações. Valeuuu!!!
[oracle_br] Re: Politica de backup para os archivelog
Olá chiappa.. Sim, não coloquei aqui, mas tenho uma politica que copia os backups dos datafiles, controlfile,archivelog etc, de onde eles foram gerados, para a fita. Tendo assim um timeframe mais longo, conforme você mencionou. Referente a politica de backup, aonde eu mencionei de duas rotinas para realizar o backup dos archives, é por que em uma delas, a rotina A, eu realizo o backup dos archivelogs a cada hora, sendo eles enviados para a unidade aonde fica armazenada as peças que backup(em disco), depois vem a rotina que realiza a cópia para a fita, e copia estes backup para a fita, sem apaga-los da unidade aonde eles estavam, neste ponto tenho o backup em fita e no disco. Minha politica de retenção é de 7 dias, então terei as peças em disco por 7 dias, depois o RMAN vai se encarregar de apagar eles para min. OK, até aqui blz, isso vai correr durante todo o dia, já na madrugada, após meia noite, eu tenho que fazer o backup dos datafiles,controlfiles e spfile. Ai para isso tenho uma outra rotina, a B, que realiza estes backups. Sendo eles full aos domingos e incremental durante os demais dias da semana. Agora vem a minhas duvidas, pois durante o backup dos datafiles,spfile e controlfile, realizado pela rotina B, a rotina A será disparada para realizar o backup dos archivelogs, pois ela é realizada acada hora. Sendo que o meu tempo de backup da rotina B é de 5 horas(Oracle 11.2.0.4 standard Edition, sem paralelismo). OK, duas rotinas distintas lendo em lugares destintos, pois os archivelogs estão em uma unidade e os datafiles e demais arquivos em outra, acho que até aqui não terei problemas, terei??. Agora vamos supor que a rotina A foi executada as 4 horas da manhã, e a rotina B, acabou de fazer o backup dos datafiles,etc às 4:30hs, e entre as 4 e 5 horas foram gerados mais alguns archivelogs, no qual são necessários para o restore do banco. Neste ponto o backup dos archivelogs necessários só será realizado as 5 horas , pela rotina A. Se tivermos algum problema, e perdemos estes archivelogs que são necessários, teremos um backup incompleto, correto?? Por este motivo eu queria colocar junto a rotina B, que realiza o backup dos datafiles,spfile e controlfile, uma chamada para um outro script que realiza o backup dos archivelogs que foram gerados depois das 4 horas e antes das 5 horas. Sendo assim, acabou o backup dos datafiles,spfile e controlfile, já inicia o backup dos archivelogs que a rotina A não realizou ainda(ARCHIVELOG ALL NOT BACKED UP 1 TIMES). Porém posso ter dias em que a rotina B acabe de fazer o backup dos datafiles, spfile e controlfile às 4:58min, e inicie o backup dos archivelos às 4:59min. E a rotina A inicie também o backup dos archivelogs às 5:00hs, desta forma eu terei 2 processos lendo no mesmo lugar. Ai minha duvida, se eu colocar na rotina A e B a clausula "ARCHIVELOG ALL NOT BACKED UP 1 TIMES", e a Rotina B está fazendo o backup do archivelog "121212" às 4:59hs, então quanto a rotina A iniciar o backup às 5:00hs, ele não ira ler o archivelog "121212", pois a peça está dentro da politica NOT BACKED UP 1 TIMES, e ira fazer o backup de um outro archivelog,correto??
[oracle_br] Politica de backup para os archivelog
Bom dia! Pessoal, hoje a minha politica de backup consiste em realizar o backup dos datafiles,controlfile, spfile e archivelog toda noite às 00:10(incremental) e um backup full todo domingo. Porém durante o dia é gerado uma quantidade significativa de archivelog( em media 80G), desta forma gostaria de alterar a minha rotina para que seja realizado o backup dos archivelogs a cada hora. hoje tenho um script que realiza o backup o archivelog após o termino do backup dos demais arquivo. Na nova politica eu estou pensado em fazer o backup dos archivelog a cada hora, mas sem apaga-los da unidade aonde os mesmos estão sendo gerados, que no meu ambiente é na /u03/archivelog(BACKUP as compressed ARCHIVELOG ALL NOT BACKED UP 1 TIMES), e uma outra rotina, que será executada após o termino do backup dos datafiles, spfile e controlfile, para que faça o backup dos archivelogs que ainda não foram realizados e que apague todos da pasta /u03/archivelog. Isso para garantia de que se perdemos a unidade aonde está o backup dos archivelos, teremos eles na /u03, e se perdemos a /u03 teremos os archivelogs no backups com uma perda de dados de 1 hora.. Agora vem a duvida.. Se a primeira rotina estiver fazendo o backup de um archivelog e a segunda rotina é disparada, posso ter algum problema dois processos de backup sendo executado em pararelo(os dois processos fazendo o backup do mesmo archivelog) ou o rman consegue gerenciar isso?? Vocês tem alguma sugestão de politica para conpartilhar??
Re: [oracle_br] Backup do spfile sem utilizar o RMAN
Boa tarde! Angelo, posso sim... Sim, como a ferramenta faz o backup do arquivo aberto e ela só realiza a cópia se o arquivo não tiver corrompido, acho que não teremos problemas em implementar isso. Obrigado.
Re: [oracle_br] Backup do spfile sem utilizar o RMAN
Boa tarde! Angelo, fiz o teste de copiar ospfile direto da pasta via backup exec e fazer o restore do banco utilizando está cópia. O restore foi realizado sem problemas.. Obrigado.
Re: [oracle_br] Backup do spfile sem utilizar o RMAN
Olá, Angelo.. O backup do spfile ele faz junto com o controlfile, sem problemas. O problema tá é no momento de fazer o restore, no qual a ferramenta não restaura o spfile do auto backup, ela restaura só o controlfile. Ai não restaura de forma automática via ferramenta o bacno, tendo que conectar no RMAN e fazer o restore do spfile e depois reiniciar o restore via ferramenta. Tem a possibilidade de fazer um backup direto do spfile, copiando o mesmo da pasta. Ai é que vem a duvida... Tem algum problema em copiar o spfile direto da pasta ?? Corro algum risco de no momento de fazer o estore, eu estar com o spfile corrompido, e não poder fazer o restore, etc??
[oracle_br] Backup do spfile sem utilizar o RMAN
Boa tarde! Pessoal, estou começando a utilizar o backup exec para fazer o backup do ambiente de banco de dados Oracle 11.2.0.4 aqui na empresa. Porém a ferramenta não faz o restore do spfile do autobackup . Sendo que para que para o restore do backup via backup exec é necessário que ter um banco criado, para restaurar o banco por completo, e para criar um banco é necessário de um spfile/init.ora. Se criar um init.ora na mão, vai faltar coisas.. Como uso spfile, meu init é desatualizado em relação ao spfile, então um backup de arquivo via backup exec. iria copiar um init desatualizado, o que também poderia causar problemas. Desta forma gostaria de saber quais os problemas que podemos ter se o backup do spfile for realizado de forma manual (um backup de arquivo no backup exec) , pois poderíamos restaurar o spfile para a pasta e depois iniciar a recuperação via backup exec em vez de restaurar o spfile da peça do rman. OBS: via RMAN é possivel fazer o restore do spfile sem problema, mas a partir do momento em que o backup estiver sendo realizado via ferramenta, o pessoal responsável teria que fazer os restores também. Como eles não tem conhecimento de Oracle/RMAN então o restore do spfile via RMAN eles não saberão fazer.
[oracle_br] Re: Backup Oracle com Backup Exec
Boa tarde! Chiappa, desculpa a demora em responder, aqui tá um pouco corrido.. O ambiente aqui é Oracle linux 6, com o RDBMS Oracle 11.2.0.4 Standard Edition, com o backup exec da Symantec. O ambiente vai se configura da seguinte forma: Foi adquirido uma ferramenta de backup com deduplicação da HP, o HP Store Once, então iremos fazer o backup na ferramenta através de uma vtl e depois iremos copiar estes dados já deduplicados para a vita propriamente dito. Hoje nosso backup é feito na ferramenta HP via NFS, e depois copiamos para fita, porém temos um BUG no S.O que nos obriga a utilizar a vtl para fazer o backup para a HP.
[oracle_br] Re: Backup Oracle com Backup Exec
Bom dia! pessoal, obrigado pela ajuda. Pessoal, é a primeira vez que estou trabalhando com backup em fita, então se vocês puderem colocar um exemplo genérico de como fica o script rman eu agradeceria...
[oracle_br] Backup Oracle com Backup Exec
Boa tarde! Pessoal, estou configurando o backup exec aqui na empresa e gostaria de saber se é possível fazer o backup do banco através do backup exec e do Rman, ou apenas através do backup exec. E também , quais as configurações necessárias precisam ser feitas no Rman para que o backup possa ser realizado. Exemplo: Configurei o agente do backup exec para o Oracle no servidor do banco, fiz a configuração do job de backup e agendei as execuções do job no backup exec. E se eu quiser fazer isso via rman, criando um script e agendar a execução no cron do sistema, é possível?? como deve ser o meu script?? Oracle database 11.2.0.4 Standard Edition
[oracle_br] Re: Utilizar o LogMiner pa ra ferramenta de replicação
Bom dia! Chiappa, obrigado pelas digas. Se o pessoal aqui concordar em adquirir uma ferramenta, irei fazer uma força para que seja adquirido a licença do Goldengate, pois uma ferramenta nativa, eu acho que é sempre melhor opção que uma ferramenta de terceiros. Caso não consigamos adquirir uma ferramenta, a solução será fazer através do log, pois não teremos outro recurso, que não seja necessário a aquisição de uma ferramenta.
[oracle_br] Re: [off topic] Pesquisa rápida com os DBAs do grupo
Bom dia! Letra D, até tentei gostar da área de desenvolvimento mas sem sucesso.
[oracle_br] Re: Utilizar o LogMiner para ferramenta de replicação
Olá Chiappa. A situação aqui é como você falou devido à volumes de dados opções de refresh completo tão fora, né ? Igualmente, Suponho que , por ausência de estruturas (colunas e/ou tabelas de logs) que indiquem data de mudança/inserção/deleção de um registro, não tem como se ter um processo externo ao database Oracle que periodicamente disparasse e aí fosse identificar e enviar pro destino só os dados alterados/inseridos/deletados... Em relação a colocação: alguém validou a Possibilidade de replicação lógica síncrona, ie, algo do tipo ter Triggers de INSERT/UPDATE/DELETE no database Oracle pras tabelas desejadas que OU exportassem os dados prum arquivo-texto (que depois seriam carregados no banco-destino pelas tools dele de carga de dados), ou enviassem mesmo os dados pro banco-destino (provavelmente numa java stored procedure conectando via jdbc no vertica, já que afaik não há adaptador de conexão heterogênea pro vertica dentro do RDBMS Oracle) Há diversas variações possíveis nesse cenário (como por exemplo fazer a trigger de DML programar um job com DBMS_JOB, para que a geração de arquivo/envio de dados seja efetiva só depois de COMMIT), mas TODOS tem a característica de interferir no processamento online feito no database Oracle, causando algum tipo de overhead, que seria mais sentido quanto maior fosse a frequência de DMLs A aplicação que irá consumir tem uma quantidade muito grande de DML, então fazer uma replicação lógica síncrona irá gerar bastante overhead no ambiente. Sim, hoje existe algumas boas ferramentas prontas no mercado que poderia suprir a nossa necessidade, porém o pessoal aqui não está disposto a realizar a compra de uma ferramenta para isso. Então a solução que sobrou foi tentar desenvolver uma ferramenta própria, utilizando o LogMiner para fazer replicação dos dados.
[oracle_br] Utilizar o LogMiner para ferramenta de replicação
Bom dia! Pessoal, aqui na empresa estão pensado em construir uma ferramenta que vai realizar a replicação dos dados do Oracle para outro banco de dados(vertica). E para abrir e ler os archivelogs, eles estão pensando em utilizar o logMiner. Ai tenho algumas duvidas que vocês podem me ajudar. 1) É possível utilizar o LogMiner para isso?? 2) Poderemos ter problemas de performance com a leitura constante do logMiner?? 3) Alguém trabalha ou já trabalhou em alguma empresa que desenvolveu uma ferramenta parecida com isso?? Minha versão do Oracle é 11.2.0.4 Standard Edition
[oracle_br] Re: Delete de Milhões de linhas
Bom dia! Chiappa, obrigado pela sua ajuda, com as tuas colocações, irei fazer uma rotina que realiza o bulk delete de 10.000 registros por execução, diminuindo ao máximo a carga no servidor, pois não tenho como fazer isso sem impacto no servidor e vou utilizar o parallel de pobre, para que eu possar executar mais de um processo ao mesmo tempo. Fazer estes deletes com insert /*APPEND*/ into, não é a melhor opção para o meu ambiente. Referente a o EXCEPTION WHEN OTHERS eu irei retirar, pois como você colocou, não tenho controle sobre os erros. e não saberei que problema está acontecendo.
[oracle_br] Re: Delete de Milhões de linhas
Sérgio, estou fazendo um expdp para fazer o backup dos dados do mês mais antigo que tenho. Depois de realizar o backup tenho que deletar estes dados do banco. Com um expdp/impdp, vou ter que fazer diversos passos e terá dowtime. Eu preciso é deletar apenas os dados que estão no backup sem nenhuma indisponibilidade e sem impacto no ambiente.
[oracle_br] Re: Replicação no Oracle(Oracle Streams)
Obrigado Chiappa pelas tuas dicas, irei configurar aqui um ambiente ambiente de teste com ORACLE MANUAL STANDBY. Pois o strems não comporta lob, e nosso ambiente aqui utiliza bastante este tipo de dado. Caso o mesmo não supra a nossa necessidade, o jeito é partir para as ferramentas pagas.
[oracle_br] Delete de Milhões de linhas
Olá pessoal!! Pessoal, tenho que deletar aproximadamente 300 milhões de linhas de estão em 10 tabelas. Isso é para uma rotina que iremos implantar aqui que é de fazer o backup dos dados antigos de auditoria e remover os dados do banco, de forma mensal. Inicialmente eu fiz um insert a partir de select, porém este processo é muito demorado e tem indisponibilidade de ambiente. Então resolvi aparar os dados com um bulk delete, conforme abaixo: declare cursor c1 is SELECT ROWID FROM OWNER.tableA where cod_xxx in(select cod_xxx from OWNER.tableB aa join OWNER.tableC ar on(aa.cod_xxx = ar.cod_xxx) where trunc(COLUNM_DATA) (select sysdate - TO_YMINTERVAL('01-00') from dual)); type rows_del is table of rowid index by binary_integer; dell rows_del; row_commit pls_integer := 1; rowcount pls_integer := 0; begin open c1; fetch c1 BULK COLLECT INTO dell limit 20; for vqtd IN 1 .. dell.count loop begin delete from OWNER.tableA where rowid = dell(vqtd) and rownum row_commit; exception when others then continue; exit when c1%notfound; end; rowcount := rowcount + sql%rowcount; if sql%rowcount = 0 then commit; exit; end if; commit; end loop; close c1; end; / Desta forma gostaria de saber se está é a melhor forma de fazer este delete, e qual o impacto do limit do bulk delete ser de 20 registros. Sendo que o ambiente aqui tem 250GB de memória total e o Oracle está utilizando 150GB OBS: meu gestor quer que o delete seja feito em no máximo 2 madrugadas.
Re: [oracle_br] Delete de Milhões de linhas
Ops... Pessoal, esqueci de colocar aqui a versão do Oracle. 11.0.2.0.4 Standard Edition. Desta forma minhas opções são limitadas. Sem particionamento etc..
Re: [oracle_br] Re: Delete de Milhões de linhas
Olá André!! O ambiente é 24x7. Para realizar manutenção é bem complicado.
[oracle_br] Replicação no Oracle(Oracle Streams)
Bom dia! Pessoal, aqui na empresa estamos precisando fazer uma replicação do banco(copia idêntica) , como se fosse um dataguard, não temos Dataguard aqui, pois nossa versão é a 11.2.0.4 Standard Edition. Então estava pensando em utilizar o Oracle Streams, porém não tenho nenhuma experiencia com ele, desta forma gostaria de saber de vocês, se alguém já trabalhou com o Oracle Streams, quais são os seus pros e contras etc. Hoje no mercado tem a Ferramenta da Dbvisit Standby além das ferramentas de replicação que existe no mercado. Porém todas elas tem que desprender valores. Então preciso mostrar os pros e contras do Oracle Streams, para poder ou não justificar a compra de uma ferramenta que nos nos possibilite isso.
[oracle_br] Re: Modelagem de Dados
Ops.. Obrigado a todos pelas respostas, o que eu estou passando aqui é um pouco do que cada um descreveu neste tópico. Irei levar novamente a necessidade de modelagem aos superiores, para ver se consigo que a modelagem volte a ser mantida.
[oracle_br] Re: Move de tabelas
Boa tarde! Chiappa, vou seguir as suas recomendações e depois posto aqui o resultado do processo. Muito obrigado por sua ajuda.
[oracle_br] Modelagem de Dados
Bom dia! Pessoal, aqui na empresa a modelagem de dados foi retirada. Gostaria de saber se alguém trabalha ou já trabalhou em algum empresa de desenvolvimento de software que não utiliza a modelagem de dados, quais são os problemas encontrados em não ter a modelagem etc.
[oracle_br] Re: Move de tabelas
Boa tarde! Chiappa, segue as respostas dos seus questionamentos/duvidas vc TEM CERTEZA que as tabelas que seguram o espaço que hoje está em branco/não está em uso mas reservado ** REALMENTE ** nunca mais vão sofrer carga de dados ??? = Sim, as tabelas irão sofrer carga novamente, mas tenho que fazer uma rotina que apague os dados mais antigos, a cada dia. Então hoje é dia 28/05/2015, a rotina vai fazer o backup do dia 28/05/2014 e depois vai apagar os dados do dia 28/05/2014 das tabelas, com este delete, teremos blocos que poderão ser utilizados novamente, então o crescimento dos datafiles não será como hoje, eles irão crescer de forma mais lenta. Mas antes de fazer isso preciso devolver o espaço reservado para o S.O. se depois de todo o trabalho acontecer de vc não sabia que semana que vem vai haver uma carga grande de dados aí as tabelas crescem tudo de novo, foi INÚTIL o seu trabalho todo ... Yep ?? = O crescimento é gradativo, em média uns 2GB por dia, não temos cargas muito grande nestas tabelas, então não vai crescer 100GB de um dia para outro, por exemplo. vc quer/precisa que esse espaço hoje sem uso mas reservado REALMENTE seja devolvido ao Sistema Operacional (para ser usado alhures) OU simplesmente ter esse espaço constando na DBA_FREE_SPACE dessa mesma tablespace (e portanto podendo ser reusado por qquer Segmento dessa tablespace) ?? Sim, realmente eu preciso que o espaço reservado volte para o sistema operacional, para que possa ser utilizado por outros segmentos. Eu preciso realmente diminuir o tamanho dos datafiles. iirc vc tá usando a Standard Edition, onde não há Parallel SQL, então esse INSERT não poderá ser paralelizado E a busca dos dados a serem salvos/inseridos nas tabs de trabalho também não poderá ser paralelizado: vc TEM que usar então INSERT em APPEND-MODE, BULK ARRAY, Paralelismo DIY e etc onde possível = Eu estou utilizando insert em APPEND-MODE para inserir os dados nas novas tabelas. Muito certamente TEM que ser TRUNCATE, pois como dito anteriormente com o DROP vc PERDE as contsraints, permissões/grants que haviam sido feitas anteriormente, perde os objetos secundários da tabela (como ÍNDICES) OK ? E muito provavelmente vc terá que DESABILITAR temporariamente as FKs relacionadas, pois o RDBMS não deixa vc fazer TRUNCATE com FKs habilitadas. Este último ponto é importante : enquanto vc estiver com as FKs desabilitadas, ÓBVIO que vc não vai deixar as aplicações fazerem DMLs, pois podem entrar dados inválidos : pra isso vc vai ter que aplicar manualmente um LOCK nas tabelas e/ou temporariamente revokar os privs de DMLs.. Tecnicamente pra consulta tudo bem (já que a ESTRUTURA das tabelas, ie, colunas/datatypes, não está mudando) - só o que vai acontecer é que os dados que foram Consultados antes do TRUNCATE ** obviamente ** não mais estarão presentes depois dele para serem localizados e alterados, mas a Query que estiver rodando não vai ter problemas... = Vou fazer um TRUNCATE nas tabelas antigas e depois um delete , já que estou recriando tudo novamente nas tabelas novas(PK/FK/INDEX), que estão na nova tablespace e a intenção não é colocar estas tabelas de volta na mesma tablespace aonde estão as outra 62 tabelas. Pois se for necessário realizar esta manobra novamente, só serão afetados as tabelas que estarão separadas das demais, sem a necessidade de move nas outras 62 tabelas. Aqui ficou uma dúvida : essas 62 tabelas (que são pequenas, pelo que entendi) não precisam sofrer qquer tipo de DELETE, correto ? Se sim OK, em sendo necessário o RESIZE do datafile vc as vai mover Observo apenas que, se for Enterprise Edition, o database já permite que essa movimentação seja feita ONLINE, mas se for Standard Edition aí não.. = Isso mesmo, elas não irão sofrer qualquer alteração, o move é apenas para realizar o RESIZE do datafile. Reverente ao move das tabelas com o DBMS_REDEFINE é não possível no Standard, então minha opção fica em realizar o move OFFLINE nas tabelas envolvidas.
[oracle_br] Re: Move de tabelas
Bom dia Chiappa! Valeu pelas dicas... Chiappa, vou te passar aqui o meu cenário para que você possar verificar: A tablespace xxx_dados, guarda as 5 tabelas grandes que eu necessito deletar, e mais 62 tabelas. Então como preciso deletar os dados das tabelas grandes e liberar o espaço em disco ocupado por elas, estou fazendo o seguinte procedimento: 1) criar uma tablespace nova xxx_dados_aud; 2) criar 5 tabelas novas na xxx_dados_aud idênticas as tabelas que eu preciso deletar(PK/FK/Index etc criados no final do processo de insert); 3) fazer insert nas tabelas novas a partir de um select nas tabelas antigas, copiando todos os dados que eu necessito manter no banco; 4) Após dados copiados para as novas tabelas, dar um truncate/drop nas tabelas antigas; 5) Renomear as novas tabelas, criadas no passo 2, para o mesmo nome das tabelas antigas, e todas as suas referencias, 5) Criar outra tablespace xxx_dados2; 6) Mover as outras 62 tabelas para a segunda tablespace criada xxx_dados2; 7) dropar a tablespace antiga, xxx_dados; 8) Renomear a tablespace xxx_dados2 e seus datafiles para o mesmo nome da tablespace antiga; Estou fazendo este procedimento, pois se eu apagar as tabelas antigas e não fazer o move, não consigo liberar todo o espaço em disco, mesmo utilizando o SHIRINK,COALERCE, DEALLOCATE, é retornado o erro ORA-03297: o arquivo contém dados usados além do valor solicitado de RESIZE. Isso se dá pois tenho dados nos datafiles que estão com o high water mark a frente dos dados que foram apagados, pois tenho os dados das outras 62 tabelas, que é atualizado constantemente. Com isso eu irei manter estas tabelas grandes e que tem um crescimento grande, na nova tablespace xxx_dados_aud, para não passar pelo trabalho de mover todos os demais objetos de um lado para outro, caso venha a ser necessário realizar este procedimento novamente. O que estou pensando em fazer, é realizar o move das tabelas de forma gradativa, sem parar as aplicações na madrugada. Pois na madrugada o acesso as aplicações são poucas e se a aplicação tentar acessar a tabela que esta sendo movida, a mesma ira estar locada. Desta forma meu dowtime seria menor. O meu medo é que corrompa algo no momento do move, com as aplicações tentando acessar a tabela em movimento, mesmo tendo o lock de DML quando se realiza o move da tabela. Porém para que eu faça isso com as aplicações no ar, tenho que ter a certeza de que a rotina da aplicação não ira perder nenhum dado, após tentar acessar a tabela em movimento e não conseguir.
[oracle_br] Move de tabelas
Olá pessoal!! Estou fazendo uma manutenção na qual já abri um tópico a qui e que vocês me ajudaram e muito... Delete em Tabela Muito Grande Então, o que estou fazendo é o seguinte, estou copiando os dados que eu quero que estejam no banco para tabelas novas em um tablespace novo. Após acabar a copia de tudo o que eu quero, irei apagar a tablesapce antiga. porém na tablespace antiga temos 68 tabelas, então para que eu possa apagar a tablespace antiga e liberar espaço em disco, preciso fazer o move das tabelas não envolvidas na cópia e os demais segmentos, que no meu caso são as tabelas e os indexes de PK, que estão no mesmo tablespace, os demais estão em tablespace de index e lobin , para a tablespace nova. E excluir a tablespace antiga. Minhas questões são: 1) Posso realizar o move das tabelas com a aplicação acessando?? tem algum risco de corromper, perder a tabela etc?? 2) Para as view e sequences, que o armazenamento é logico, não terei nada reverente a estes objetos armazenados no tablespace antigo, posso deletar sem problemas?? 3) Terei algum outro risco não citado aqui se deletar a tablespace antiga?? OBS: Banco de Dados Oracle 11.2.0.4 Standard Edition
[oracle_br] ASM em Single Instance
Bom dia! Pessoal, estamos pensando em iniciar a utilização do ASM no nosso ambiente Single Instance. Pois a cada vez que necessitamos adicionar mais espaço em disco para o Oracle, precisamos parar para manutenção e também tem a questão de melhora de performance etc. Como não tenho nenhuma experiencia em ASM, e não conheço ninguém que tenha ASM em Single. Gostaria de saber se vale a pena ou não utilizar o ASM em Single. OBS: Oracle Database 11.2.0.4
[oracle_br] Re: Delete em Tabela Muito Grande
Bom dia! Chiappa, o que você descreve é exatamente o que pretendo realizar... Obrigado por sua ajuda, vou seguir as suas recomendações..
[oracle_br] Re: Delete em Tabela Muito Grande
Bom dia! Chiappa, o montante restante é de mais ou mesmo 220G. Sim tenho todo estes dados na rotina de backup. Também tenho indexes nas tabelas envolvidas, porém eles são efetivos até um determinado momento. Quando o index deixa de ser efetivo ai o full table scan pega pra valer, e criar qualquer outro index nesta tabela não tá rolando, no ambiente de teste que tenho aqui, o comando de criação do index ficou executando por mais de 6 horas e não criou, retornando erro de falta de espaço na temp, que tem 180GB. Se for criar isso na produção é inviável, pois ficar 6 horas com tabela locada para a criação de index não dá. O dump seria para guardar somente os dados de auditoria separado do backup diário, pois a retenção de backup em fita é de 6 meses(limitado ao espaço). Porém os dados da auditoria devem ficar por no minimo 5 anos guardados. Sendo que depois de apagar este montante de dados, vou ter que fazer uma rotina para que diariamente realize um backup apenas dos dados de auditoria e um delete dos dados nas tabelas, para sempre manter os dados do ultimo ano. EX: hoje é dia 29/04/2015, então a rotina que eu criarei, irá realizar um backup dos dados de auditoria do dia 28/04/2014 e depois irá apagar os dados do dia 28/04/2014, para o próximo dia será o mesmo comportamento, apagando os dados do dia 29/04/2014 e assim vai... E para não ficar gerando peças de backup com um tamanho grande, eu estou pensando em fazer um export de tabela com query, para fazer o backup apenas dos registros do dia que eu irei apagar.
[oracle_br] Delete em Tabela Muito Grande
Bom dia! Pessoal, estou com o trabalho de deletar os dados de algumas tabelas de auditoria, no Oracle Database 11G Standard Edition (11.2.0.4), sendo que o meu maior problema é realizar a exclusão dos dados de uma abela que tem mais de 8 bilhões de registros, seu tamanho em disco é de +/- 842GB. Isso se faz necessário pois estes dados estão ocupando muito espaço em disco e o mais importante que é problema de performance. Nesta tabela será apagado todos os dados inferiores a 1 ano, sendo que para fazer o filtro de data da tabela, se faz necessário utilizar mais tuas tabelas no join. Os passos que eu estava utilizando para realizar a exclusão da auditoria e liberação de espaço em disco seria o seguinte: 1) Realizar um dump do schema de auditoria(será armazenado em fita para possível necessidade de verificar os dados de auditoria inferior a um ano); 2) Criar uma nova tablespace; 3) Criar tabelas de auditoria novas na nova tablespace com apenas os dados do ultimo ano, a partir de um select nas tabelas de auditoria atual; 4) Mover as demais segmentos que estão na tablespace antiga para a nova tablespace; 5) realizar um resize nos datafiles da tablespace antiga; 6) Mover todos os segmentos da tablespace nova para a tablespace antiga já com o espaço em disco liberado; 7) deletar a tablespace nova, criata apenas para dar suporte a liberação de espaço em disco. Porém ao tentar criar uma tabela nova a partir de um select na tabela que tem 842GB, o comando fica executando por mais de 4 horas, o que é inviável. Desta forma o que eu estou pensando em fazer é: 1) Realizar um dump do schema de auditoria; 2) Deletar os dados aos poucos, mês a mês, mantendo apenas os dados do ultimo ano; 3) Após deletar todos os dados inferiores a um ano, criar uma tablespace nova; 4) Mover todos os segmentos para a nova tablespace; 5) Realizar o resize dos datafiles da tabespace antiga; 6) Mover os segmentos para a tablespace antiga novamente; 7) Deletar a tablespace utilizada para apoio ao resize dos datafiles; Porém este delete vai ser muito demorado, pois com o delete é gerado redo, undo, archivelog, temp Desta forma gostaria de saber se tem alguma forma de realizar este trabalho, minimizando ao máximo a geração de redo,undo,archivelog etc. Se eu colocar as tabelas envolvidas em noarchivelog, antes de realizar o delete, eu terei uma redução na geração dos logs?? Alguém tem alguma ideia/sugestão de como eu posso realizar este trabalho??
[oracle_br] Re: Duvida Oracle Enterprise X Standard
Olá Julio!!! A algum tempo nós passamos pela mesma mudança em nosso ambiente. O que eu posso te dizer, é que caso você não esteja utilizando nenhuma feature do Enterprise, tu vai sentir muito é a falta do paralelismo. No backup/recover vai ter apenas um canal sendo utilizado, então o teu backup/recover vai ficar mais lento. O parallel do datapump (expdb/impdp) também vai deixar de funcionar. e deu dump vai ficar mais lento. Os processos que eram executados em mais de uma thread, irão passar para uma única. Com isso os SQLs que tem um tempo alto de processamento irão começar a aparecer. o teu ambiente irá ficar mais carregado. No meu caso, nós passamos a utilizar um ambiente maior e otimizamos os SQLs. Agora se você estiver utilizando alguma feature do Enterprise, você irá perder ela.. OBS: Mesmo utilizando o standard a Oracle não te impede de habilitar as features do Enterprise, então toma cuidado com isso, caso você habilite e a Oracle vá auditar o seu ambiente, eles irão cobrar de você a licença Enterprise, por que você habilitou alguma feature, a cobrança é retroativa. Isso foi o que passamos aqui. Referente a diferenças entre as versões, a nota Differences Between Enterprise, Standard and Standard One Editions on Oracle 11.2 (Doc ID 1084132.1), mostra as diferenças entre as versões. A documentação abaixo também fala sobre as diferenças: http://docs.oracle.com/cd/E11882_01/license.112/e47877/editions.htm#DBLIC109 http://docs.oracle.com/cd/E11882_01/license.112/e47877/editions.htm#DBLIC109 Espero ter te ajudado..
[oracle_br] Re: Erro no IMPDP
Olá, Emerson Nunca passei por este problema, mas dando uma procurada no metalink, encontrei a seguinte nota 1628926.1, que fala sobre o erro que você recebeu ai. Também pode dar uma olhada na nota 1628079.1. Att: Alexssandro Rocha DBA Oracle
[oracle_br] Re: Compatibilidade de Servidores para Instalação Oracle Database
Boa tarde! Dá uma olhada na nota ID 184875.1 vê se ela te ajuda ai..