[oracle_br] Re: Duvida Partição
Bom, primeiro de tudo : Não Existe no RDBMS Oracle (e nem na maioria esmagadora dos RDBMSs) o conceito de se limitar o número de linhas numa tabela (ou partição, ou índice, enfim) - por definição, enquanto o número de linhas estiver abaixo dos limites máximos do RDBMS ** e ** houver espaço de armazenamento, vc Sempre Pode inserir mais linhas, yep ??? Confira no manual e no paper http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-partitioning-11gr2-2010-10-189137.pdf os detalhes mas basicamente é isso aí... Assim, para atender a essa algo inusitada necessidade, vc tem as seguintes opções : a) se vc já tem uma chave artificial numérica e sequencial/single-increment, vc simplesmente particiona por RANGE, ie : os valores de 1 a 1999 ficam na partição P1, de 2000 a 3900 na partição 2, assim por diante... O ponto aqui é que se essa chave é mantida por SEQUENCE (normalmente é, por causa da performance) vc FACILMENTE pode ter (e mesmo VAI ter) GAPs, então talvez vc possa terminar com uns poucos registros a menos que 20 milhões numa partição - se isso não te incomoda, blz OU b) se vc não tem a situação a), aí VOCÊ vai ter que criar algum tipo de contador de registros , via trigger ou via views materializada : https://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:42304816945767 lista algumas possibilidades, mas fique CIENTE que necessariamente isso PODE INTERFERIR SERIAMENTE na performance, pois vc está colocando um Overhead para cada INSERT, é inescapável... E Óbvio, vc vai ter que ter algum código extra (talvez na Aplicação, talvez no banco via trigger) para validar antes de cada insert através do contador se chegou nos 20 milhões ou não, isso é MAIS manutenção, MAIS partes móveis, MAIS overhead... OU c) se o limite puder ser por tamanho E não for necessário ser tão precisamente especificado, vc poderia calcular mais ou menos quanto espaço em disco os 20 milhões ocupam e ter a tablespace da partição pré-criada Exatamente com esse tamanho : aí vc somente terá que ter algum código (na Aplicação, talvez) que, quando o banco der erro no INSERT por espaço esgotado, re-execute o INSERT na próxima partição... == No caso, o HASH *** Não Vai ** te atender, de forma alguma : o que ele faz é simplesmente tentar espalhar os registros em quantidades mais ou menos similares enter as partições, mas Não Há como vc limitar (em qtdade de linhas ou tamanho ou seja o que for) cada partição Sem código extra, yep ?? []s Chiappa
Re: [oracle_br] Re: Duvida Partição
Chiappa, bom dia! Muito obrigado pela resposta. Vou estudar o melhor caso. Att, Bruno N. Barboza Em 1 de agosto de 2014 11:23, jlchia...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu: Bom, primeiro de tudo : Não Existe no RDBMS Oracle (e nem na maioria esmagadora dos RDBMSs) o conceito de se limitar o número de linhas numa tabela (ou partição, ou índice, enfim) - por definição, enquanto o número de linhas estiver abaixo dos limites máximos do RDBMS ** e ** houver espaço de armazenamento, vc Sempre Pode inserir mais linhas, yep ??? Confira no manual e no paper http://www.oracle.com/technetwork/database/bi-datawarehousing/twp-partitioning-11gr2-2010-10-189137.pdf os detalhes mas basicamente é isso aí... Assim, para atender a essa algo inusitada necessidade, vc tem as seguintes opções : a) se vc já tem uma chave artificial numérica e sequencial/single-increment, vc simplesmente particiona por RANGE, ie : os valores de 1 a 1999 ficam na partição P1, de 2000 a 3900 na partição 2, assim por diante... O ponto aqui é que se essa chave é mantida por SEQUENCE (normalmente é, por causa da performance) vc FACILMENTE pode ter (e mesmo VAI ter) GAPs, então talvez vc possa terminar com uns poucos registros a menos que 20 milhões numa partição - se isso não te incomoda, blz OU b) se vc não tem a situação a), aí VOCÊ vai ter que criar algum tipo de contador de registros , via trigger ou via views materializada : https://asktom.oracle.com/pls/apex/f?p=100:11:0P11_QUESTION_ID:42304816945767 lista algumas possibilidades, mas fique CIENTE que necessariamente isso PODE INTERFERIR SERIAMENTE na performance, pois vc está colocando um Overhead para cada INSERT, é inescapável... E Óbvio, vc vai ter que ter algum código extra (talvez na Aplicação, talvez no banco via trigger) para validar antes de cada insert através do contador se chegou nos 20 milhões ou não, isso é MAIS manutenção, MAIS partes móveis, MAIS overhead... OU c) se o limite puder ser por tamanho E não for necessário ser tão precisamente especificado, vc poderia calcular mais ou menos quanto espaço em disco os 20 milhões ocupam e ter a tablespace da partição pré-criada Exatamente com esse tamanho : aí vc somente terá que ter algum código (na Aplicação, talvez) que, quando o banco der erro no INSERT por espaço esgotado, re-execute o INSERT na próxima partição... == No caso, o HASH *** Não Vai ** te atender, de forma alguma : o que ele faz é simplesmente tentar espalhar os registros em quantidades mais ou menos similares enter as partições, mas Não Há como vc limitar (em qtdade de linhas ou tamanho ou seja o que for) cada partição Sem código extra, yep ?? []s Chiappa
[oracle_br] Re: Duvida Partição
Bruno, Com 6 partições e 35 milhões de registros/mês, vc distribuirá 5,8 milhões de registros em cada partição e atingirá 20 milhões de registros em cada partição, em 3.4 meses e ao fim de 1 ano, haverá cerca de 70 milhões de registros em cada partição. Para dar o efeito de limitar quantidade de registros por partição, a dica é aumentar nova partição a cada 3.4 meses. Lembre-se que o processo de adicionar partição, faz um reball das atuais, redistribuindo os registros existentes, na nova partição para que todas fiquem balanceadas (número semelhante de registros) e isto demanda um certo tempo, apesar de poder ser feito com os usuários conectados e usando (apesar de não recomendado em termos de performance, a versão Enterpri$e permite isto). Leia o documento http://docs.oracle.com/cd/E11882_01/server.112/e25523/part_admin002.htm http://docs.oracle.com/cd/E11882_01/server.112/e25523/part_admin002.htm na sessão de Adding Partitions, especificamente em Adding a Partition to a Hash-Partitioned Table; Ederson Elias DBA Oracle - http://br.linkedin.com/pub/ederson-elias/24/8b/8b0 Labor improbus omnia vincit
Re: [oracle_br] Re: ORA-02024: link de banco de dados não localizado
Pessoal Não sei se minha mensagem anterior chegou ao grupo... mas enviei uma pergunta sobre isso (se ele estava conectado com o owner do dblink ou se estava com outro usuário administrador). Achei que talvez um alter session set current_schema funcionasse... mas fiz um teste agora e também não permite com DB links (recebi um ORA-01031: insufficient privileges). [ ]'s André Em 1 de agosto de 2014 10:43, jlchia...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu: Muito bem lembrado, colega : realmente, isso existe SIM e está documentado no manual Oracle® Database SQL Language Reference 11g Release 2 na entrada DROP DATABASE LINK, assim : Restriction on Dropping Database Links You cannot drop a database link in another user's schema, and you cannot qualify dblink with the name of a schema, because periods are permitted in names of database links. Isso aí... Eu não me lembro de ter visto na thread se o Rafael estava conectado ou não como o usuário-owner do dblink, se não estava isso Explicaria o erro do DROP, embora não o Domínio contido no dblink Mas pode ser, sim, vamos ver se ele confirma isso ou não... []s Chiappa
Re: [oracle_br] Re: Duvida Partição
Faça particionamento por data, e mande criar uma partição nova a cada 15 dias. Att, Em 1 de agosto de 2014 11:30, ederson200...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu: Bruno, Com 6 partições e 35 milhões de registros/mês, vc distribuirá 5,8 milhões de registros em cada partição e atingirá 20 milhões de registros em cada partição, em 3.4 meses e ao fim de 1 ano, haverá cerca de 70 milhões de registros em cada partição. Para dar o efeito de limitar quantidade de registros por partição, a dica é aumentar nova partição a cada 3.4 meses. Lembre-se que o processo de adicionar partição, faz um reball das atuais, redistribuindo os registros existentes, na nova partição para que todas fiquem balanceadas (número semelhante de registros) e isto demanda um certo tempo, apesar de poder ser feito com os usuários conectados e usando (apesar de não recomendado em termos de performance, a versão Enterpri$e permite isto). Leia o documento http://docs.oracle.com/cd/E11882_01/server.112/e25523/part_admin002.htm na sessão de Adding Partitions, especificamente em Adding a Partition to a Hash-Partitioned Table; Ederson Elias DBA Oracle - http://br.linkedin.com/pub/ederson-elias/24/8b/8b0 Labor improbus omnia vincit
[oracle_br] algoritmo de acesso a índices
Pessoal, Tenho uma tabela grande, 300 milhoes de registro e uma consulta exemplo: SELECT a, b FROM tabela WHERE a = 10 AND b = 20; Tenho dois índices, um apenas na coluna A e outro apenas na coluna B. Como o oracle resolveria isso ?? acessaria os dois e depois faria um JOIN em memória? ou faria como no postgreSQL abaixo: suponha um exemplo com apenas 8 tuplas, se uma navegação no índice em A retornasse as tuplas 1,4 e 7 e no índice em B as tuplas 4 e 6. O postgresql geraria bitmaps como: 1. 2. 3. 4. 5. 6. 7. 8. 1 0 0 1 0 0 1 0 = bitmap recuperado do índice em A 0 0 0 1 0 1 0 0 = bitmap recuperado do índice em B = operação AND 0 0 0 1 0 0 0 0 Pelo último bitmap (0001) percebe-se que apenas a tuplas 4 precisa ser visitada. Minha dúvida é se o oracle utiliza bitmaps para isso, ou faria de outra forma. Qualquer ajuda é bem vinda.
[oracle_br] Forçar a exclusão de uma VIEW.
Pessoal!!! Boa tarde a todos. Estou tentando excluir, renomear ou recriar uma view simples, mas em qualquer uma dessas operações está dando estourando este erro: ORA-00600: código de erro interno, argumentos: [16661],[kqdviu_update_view$],[D],[0],[492453],[],[],[] deve ser algum bug de versão, mesmo porque não encontrei nada parecido no google. E eu também estou sem metalink, e não estou conseguindo pesquisar sobre esse erro. Alguém sabe alguma maneira que eu possa forçar a exclusão dessa view? Ambiente: DB: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit SO: AIX Version 5.3 Desde já agradeço a todos pela ajuda. Att, Wanderson
Re: [oracle_br] Re: ORA-02024: link de banco de dados não localizado
Obrigado ao Chiappa e ao Alessandro. Realmente... Eu conectei com o owner do dblink e consegui dropar o database link somente com as aspas duplas. DROP DATABASE LINK XUXA.US.ORACLE.COM; Obrigado a todos. Problema resolvido. Em Sexta-feira, 1 de Agosto de 2014 10:43, jlchia...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu: Muito bem lembrado, colega : realmente, isso existe SIM e está documentado no manual Oracle® Database SQL Language Reference 11g Release 2 na entrada DROP DATABASE LINK, assim : Restriction on Dropping Database Links You cannot drop a database link in another user's schema, and you cannot qualify dblink with the name of a schema, because periods are permitted in names of database links. Isso aí... Eu não me lembro de ter visto na thread se o Rafael estava conectado ou não como o usuário-owner do dblink, se não estava isso Explicaria o erro do DROP, embora não o Domínio contido no dblink Mas pode ser, sim, vamos ver se ele confirma isso ou não... []s Chiappa
[oracle_br] Re: algoritmo de acesso a índices
O índice comum no RDBMS Oracle não é um bitmap, mas sim uma árvore de valores (b*tree), com um bloco root contendo os valores mínimos e máximos e blocos intermediários (branch blocks), cada qual contendo parte da lista de valores possíveis e um ponteiro indicando o bloco leaf/folha com o rowid do registro aonde o valor-chave reside . Assim, normalmente a busca não é por bitmap, mas sim por poda binária, ie : como o índice está fisicamente ordenado, se um valor foi encontrado na lista do branch block x, todos os anteriores a x certamente são anteriores, não precisam ser examinados... CASO vc o deseje, sim, o RDBMS Oracle ** também ** oferece índices bitmap, que aí sim sofrem search bia operações de bit com o valor-chave e com as linhas : veja o manual de Concepts e os artigos http://www.oracle.com/technetwork/articles/sharma-indexes-093638.html e https://asktom.oracle.com/pls/asktom/f?p=100:11:0P11_QUESTION_ID:2049072400346231785 para uns detalhes a mais e alguma discussão a respeito... Se vc quiser se enfronhar tecnicamente mais profundamente na estrutura interna e nos mecanismos de funcionamento dos índices no RDBMS Oracle, recomendo os artigos http://www.juliandyke.com/mwg-internal/de5fs23hu73ds/progress?id=Mj0MiaKAb8 , http://jonathanlewis.wordpress.com/2009/08/17/treedump/ e o blog http://richardfoote.wordpress.com/ []s Chiappa
[oracle_br] Comparativo entre Métodos de Junções
Olá Se alguém aqui já trabalhou com Oracle e DB2 por favor, me ajudem nisso: Estou fazendo uma pesquisa acadêmica sobre os principais SGBDs e gostaria de saber se voces sabem se tem diferenças significativas entre os métodos de Junção de tabelas entre Oracle e DB2, principalmente entre os métodos abaixo: - Nested Loop Join - Hash Join - Full Table Scan (oracle) x Segmented Tablespace Scan (DB2) Como o código desses SGBDs são fechados, fica difícil saber, mas acredito que quem trabalha na prática, nota alguma diferença nos métodos. Qualquer ajuda é bem vinda! Grato
[oracle_br] Re: Comparativo entre Métodos de Junções
Na verdade, por mais que sejam closed-source, *** NECESSARIAMENTE *** o algoritmo geral tem SIM que ser documentado, isso é um pré-requisito para vc poder entender o funcionamento do RDBMS, pra vc poder fazer tuning, para se saber se está funcionando a contento... Isso Com certeza - assim, se vc não encontrar uma fonte que tenha um bom conhecimento dos dois, a minha Sugestão é vc levantar a informação para o Oracle E para o db2, e fazer por vc mesmo a comparação... Não sei indicar pro DB2, mas pro Oracle a Documentação em questão é o manual Oracle® Database SQL Tuning Guide , cap. 9 - Joins : lá ele lista os possíveis mecanismos que o RDBMS pode usar para um JOIN, o algoritmo de cada um deles, as características de performance, as condições em que o Otimizador opta por um ou por outro Mais do que suficiente para o seu trabalho, penso... Adicionalmente, se vc quiser uma explicação mais didática de algum, e/ou cases do dia-a-dia, exemplos, etc, googla por oracle join methods que vc acha diversas fontes : as mais confiáveis eu reporto como sendo as páginas dos sites http://www.pythian.com/ , www.confio.com , www.adp-gmbh.ch/, antognini.ch , www.oracledbasupport.co.uk/ , www.orafaq.com/ , asktom.oracle.com De livros de tuning de SQL (e que também falam/explicam mecanismos de funcionamento do SQL, principalmente JOINs que é o que te interessa, e que Inclusive podem servir de Bibliografia pro teu trabalho) eu indico os livros dos Autores : Tom Kyte, Guy Harrison e Jonathan Lewis (este menos sobre SQL em si e mais sobre mecanismos internos do Otimizador). []s Chiappa
[oracle_br] Oportunidade - Consultor Oracle EBS RI
No mercado desde 1988, temos como meta garantir ao cliente alta competitividade e segurança, por meio do desenho e implantação das melhores e mais adequadas soluções tecnológicas. Contamos com uma consultoria formada por profissionais especialistas em tecnologia da informação aplicada à gestão de negócios, com equipes dedicadas, expertise comprovada em diferentes segmentos de mercado e tendo como parceiros Oracle e Philips. Atualmente estamos com uma oportunidade para trabalhar com Consultor Oracle EBS RI, QA para o Brasil, conhecimento foco RI e seus processos, desejável financeiro também. Inicio: Imediato Tempo de alocação: Indeterminado Local de alocação: São Paulo Interessados,favor enviar currículo para sele...@hqsplus.com.br
[oracle_br] Erro ao compilar forms local
Pessoal, aqui na empresa quando vamos compilar um forms nas nossas maquinas de desenvolvimento, quase sempre ele da o erro que consta na imagem abaixo, a tela fica totalmente cinza e travada. Nós até falamos que para dar certo de primeira, temos que fazer um ritual que consiste em compilar o PL/SQL 3x (Ctrl+Shift+K), compilar o módulo 1x (Ctrl+T), executar o forms, não mexer mais no PC e rezar. Só que isso já está enchendo a paciência e nem sempre funciona. O que parece minimizar um pouco essa situação, é alterar a propriedade do IE para executar o java internamente e não em janela separada, mas dessa maneira não conseguimos usar as teclas de atalhos (F6, F7, F8, etc...) Alguém já passou por isso e conseguiu resolver esse problema ? SO Desenvolvimento: Windows 7 64bits Navagedor: IE 8 Forms: 10.1.2.3.0 Java: 6u35 - Print do Erro - https://lh3.googleusercontent.com/-jYJ5M-zSNdQ/U9wJWho0LMI/FP0/bz-YFJnRp30/s912/Erro_Compilar_Forms.png
[oracle_br] Re: Erro ao compilar forms local
Eu não tenho um ambiente assim agora em mãos, mas pergunto : a. de acordo com https://blogs.oracle.com/stevenChan/entry/latest_forms_and_reports_10g , já saiu há algum tempo o Forms 10.1.2.3.2 , algum motivo Especial para vc insistir com o 10.1.2.3.0 ?? Via de regra patchsets removem diversas incompatibilidades do tipo b. tentou com outros navegadores, ou talvez uma versão não tão antiga do ie ?? c. Java 6u35 tá rezoavelmente antiga, u45 iirc é a última para java 6 - experimentou uma versão de java mais recente, isso EM CIMA do patchset mais recente ?? d. consulte direitinho o metalink pra se certificar que há algum tipo de certificação para Windows 7 64-bits - da última vez que fui olhar, o software só estava certificado/homologado para Windows 7 32-bits e. como teste, vc pode também além do acima experimentar com java 7 : os experimentos iniciais reportados em https://community.oracle.com/message/10116203 e outros não foram bem, mas tem que ser verificar com os patches aplicados E com outros navegadores []s Chiappa
Re: [oracle_br] Oportunidade - Consultor Oracle EBS RI
Gostaria muito de uma oportunidade para mostrar meu comprometimento e qualidades profissional .. Desde já agradeço a oportunidade grato Em Sexta-feira, 1 de Agosto de 2014 17:04, Carolina Borges hqsp...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu: No mercado desde 1988, temos como meta garantir ao cliente alta competitividade e segurança, por meio do desenho e implantação das melhores e mais adequadas soluções tecnológicas. Contamos com uma consultoria formada por profissionais especialistas em tecnologia da informação aplicada à gestão de negócios, com equipes dedicadas, expertise comprovada em diferentes segmentos de mercado e tendo como parceiros Oracle e Philips. Atualmente estamos com uma oportunidade para trabalhar com Consultor Oracle EBS RI, QA para o Brasil, conhecimento foco RI e seus processos, desejável financeiro também. Inicio: Imediato Tempo de alocação: Indeterminado Local de alocação: São Paulo Interessados,favor enviar currículo para sele...@hqsplus.com.br [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Oportunidade - Consultor Oracle EBS RI
Gostaria muito de uma oportunidade para mostrar meu comprometimento e qualidades profissional .. Desde já agradeço a oportunidade grato Em Sexta-feira, 1 de Agosto de 2014 19:27, Ronaldo Aparecido Rosa da Silva rnd_...@yahoo.com.br escreveu: Gostaria muito de uma oportunidade para mostrar meu comprometimento e qualidades profissional .. Desde já agradeço a oportunidade grato Em Sexta-feira, 1 de Agosto de 2014 17:04, Carolina Borges hqsp...@yahoo.com.br [oracle_br] oracle_br@yahoogrupos.com.br escreveu: No mercado desde 1988, temos como meta garantir ao cliente alta competitividade e segurança, por meio do desenho e implantação das melhores e mais adequadas soluções tecnológicas. Contamos com uma consultoria formada por profissionais especialistas em tecnologia da informação aplicada à gestão de negócios, com equipes dedicadas, expertise comprovada em diferentes segmentos de mercado e tendo como parceiros Oracle e Philips. Atualmente estamos com uma oportunidade para trabalhar com Consultor Oracle EBS RI, QA para o Brasil, conhecimento foco RI e seus processos, desejável financeiro também. Inicio: Imediato Tempo de alocação: Indeterminado Local de alocação: São Paulo Interessados,favor enviar currículo para sele...@hqsplus.com.br [As partes desta mensagem que não continham texto foram removidas]
[oracle_br] (unknown)
Gostaria muito de uma oportunidade para mostrar meu comprometimento e qualidades profissional .. Desde já agradeço a oportunidade grato [As partes desta mensagem que não continham texto foram removidas]