Re: [oracle_br] Tamanho de uma Tabela
Considerando que uma tabela pode ter índices associados e até mesmo campos lobs, poderias fazer algo como o exemplo abaixo: SELECT 'Tabela : '||SUM(BYTES)/1024/1024||'('||owner||')' FROM dba_SEGMENTS WHERE SEGMENT_NAME = UPPER('1') group by owner UNION SELECT 'Indices : '||SUM(BYTES)/1024/1024||'('||owner||')' FROM dba_SEGMENTS WHERE SEGMENT_NAME IN (SELECT INDEX_NAME FROM ALL_INDEXES WHERE TABLE_NAME = UPPER('1')) group by owner UNION SELECT 'LOB : '||SUM(BYTES)/1024/1024||'('||owner||')' FROM dba_SEGMENTS WHERE SEGMENT_NAME IN (SELECT SEGMENT_NAME FROM ALL_LOBS WHERE TABLE_NAME = UPPER('1')) group by owner / ou coisa do genero. 2009/2/2 Dalton Pereira dal...@sd2000.com.br Consulte a view user_segments. SELECT BYTES FROM USER_SEGMENTS WHERE SEGMENT_NAME = 'TABELA_X'; Atenciosamente, Dalton De: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br [mailto: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.br] Em nome de Samuel Santos Enviada em: segunda-feira, 2 de fevereiro de 2009 13:28 Para: oracle_br Assunto: [oracle_br] Tamanho de uma Tabela Como obter o tamanho(KB, MB, GB, TB) ocupado por uma tabela num base de dados? Atenciosamente, Samuel Geraldo dos Santos Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] Como diminuir tablespace
Terias que montar um script que pegue o ultimo block de dados no datafile (que está na marca d'água) e descobrir qual o segmento associado. Se fores no Enterprise Manager, também tens um mapa dos segmentos que estão distribuidos no tablespace. Pode acabar sendo mais funcional. O segmento descoberto terias que ser reorganizado e o redimensionmento do datafile seria possivel. Mas dependendo da sua situação, vais ficar com um tablespace com vários datafiles pequenos. Outra alternativa é criar um tablespace novo, já devidamente dimensionado e mover os objetos do tablespace para este novo. Claro, se tiveres espaço em disco. Eu tenho um script antigo aqui, não sei a versão que usas. Também não testei. Achei na internet e achei interessante para futuros estudos. Quem sabe ajude: select ddf.tablespace_name Tablespace, ddf.file_name Datafile Location, ddf.bytes/(1024*1024) Size (Mb), round(((hwm.maximum+de.blocks-1)*dbs.db_block_size)/(1024*1024),2) Highwater Mark (Mb), de.owner||'.'||de.segment_name Segment Name, de.segment_type Type from dba_data_files ddf, dba_extents de, (select file_id, max(block_id) maximum from dba_extents group by file_id) hwm, (select value db_block_size from v$parameter where name='db_block_size') dbs where ddf.file_id = hwm.file_id and de.file_id = hwm.file_id and de.block_id = hwm.maximum and ddf.tablespace_name = 'Tablespace' order by 1, 2, 6, 5 / 2009/1/29 André Alves andre_...@yahoo.com.br Olá Pessoal, descubri num banco de dados aqui da empresa uma tabela duplicada por um desenvolvedor que estava ocupando cerca de 300g dentro de uma tablespace de 800g e após excluir essa tabela a tablespace ficou com o espaço livre porém esse espaço vai demorar pra ser consumido novamente. Eu gostaria de saber qual o jeito mais indicado de diminuir essa tablespace pois apenas dando um resize nos datafiles não é possível pois é retornado que o espaço está sendo utilizado. Seria com um move table pra uma outra tablespace menor? Obrigado pela ajuda, André 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] [As partes desta mensagem que não continham texto foram removidas]
Re: [oracle_br] É possivel compactar uma tabela?
Até tem, mas nas versões com a feature de compactação anteriores, a Oracle falava em usar apenas em aplicações com muita leitura (a exemplo de BWs). Da 11g em diante também pode ser aplicado em bancos com característica de OLTP. 2009/1/29 Júlio César Corrêa juliotubi...@yahoo.com.br Olá André, Existe sim.É a Compactação de tabelas OLTP dentro da feature Oracle Advanced Compression.Pelo que sei é só na versão 11g.é um algoritimo usado somente para compactaçãod e dados relacionais. CREATE TABLE emp ( emp_id NUMBER , first_name VARCHAR2(128) , last_name VARCHAR2(128) ) COMPRESS FOR ALL OPERATIONS; E este exemplo para DW: CREATE TABLE emp ( emp_id NUMBER , first_name VARCHAR2(128) , last_name VARCHAR2(128) ) COMPRESS [FOR DIRECT_LOAD OPERATIONS]; Link: http://www.oracle.com/technology/global/lad-pt/documentation/collaterals/advanced-compression-whitepaper.pdf Nunca utilizei essa feature,mas no seu caso acho interessante ler o artigo sobre ele.É um paper de Abril/2008,portanto atualizado.Nem um ano.Acho que não mudou muita coisa. Flw, 2009/1/29 André Alves andre_...@yahoo.com.br Olá pessoal, Tenho aqui no servidor de BD um grande problema de espaço pois tenho por questão da regra de negócio que é manter dados de muitos anos em algumas tabelas e essas tablelas são enormes, tipo 500, 600g em uma só tabela. Como são dados históricos não são acessados com muita frequência, mas precisam estar lá quando decidirem usar. eu queria saber se há uma forma de compactar essa tabela e fazer ela ocupar menos espaço do que ocupa hoje? existe essa mágica?? Obrigado, André 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] -- Júlio César Corrêa IS Technologist - Oracle DBA http://jccorrea.blogspot.com To stay competitive in the tech industry, never stop learning. Always be on the lookout for better ways of doing things and new technologies. Our industry does not reward people who let themselves stagnate John Hall, Senior Vice President, Oracle University [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 [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] Views inválidas com DB_LINK
Uma pergunta bem simples que pode soar estranha, mas só para desencargo de consciencia: os database links públicos e/ou privados estão criados e operacionais no banco de importação? 2009/1/30 Júlio César Corrêa juliotubi...@yahoo.com.br Estranho Thiago.Você está colocando o nome da view em upper?Look d's: Microsoft Windows XP [versão 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Console2sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Sex Jan 30 16:21:35 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. idle conn c...@hmlg Informe a senha: Conectado. c...@cmt desc cmt.vw_order; Nome Nulo?Tipo - PRV_IDNOT NULL NUMBER(10) ROM_TRANIDNOT NULL NUMBER(10) ROM_SEQNBRNOT NULL NUMBER(3) ROM_DATE NOT NULL DATE ROM_REMOTEORDERID NUMBER(10) ROM_REMOTEORDERDATEDATE ROM_STATUSNOT NULL CHAR(1) ROM_RECSTATCHAR(1) ISS_ID NUMBER(4) CD_ID NUMBER(2) CRD_SNRNUMBER(10) ROD_AMOUNT NUMBER(10,2) ISS_DESCLONG VARCHAR2(50) APP_DESCLONG VARCHAR2(50) c...@cmt ed Gravou file afiedt.buf 1 select owner,object_name,object_type,status 2 from all_objects 3* where object_name ='vw_order' c...@cmt / nÒo hß linhas selecionadas c...@cmt ed Gravou file afiedt.buf 1 select owner,object_name,object_type,status 2 from all_objects 3* where object_name ='VW_ORDER' --upper case c...@cmt / OWNER OBJECT_NAMEOBJECT_TYPE STATUS -- -- --- --- PUBLIC VW_ORDER SYNONYM VALID CMTVW_ORDER VIEW VALID c...@cmt And look it: C:\sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Sex Jan 30 16:17:24 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. idle conn c...@dsnv Informe a senha: Conectado. c...@dsnv create or replace view bla 2 as select * from users where rownum = 1; View criada. c...@dsnv select object_name,object_type,status 2 from all_objects 3 where object_name ='BLA'; OBJECT_NAMEOBJECT_TYPE STATUS -- --- --- BLAVIEWVALID c...@dsnv 2009/1/30 Thiago Delfim tdel...@gmail.com Julio, veja isso: SQL create view blabla as 2 select * from bla...@dbl_blabla; Warning: View created with compilation errors SQL select * from dba_objects where object_name = 'BLABLA'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPECREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY -- -- -- -- -- --- - --- --- - - - SQL Ele fala que criou com erro de compilação, mas não cria nada mesmo. 2009/1/30 Júlio César Corrêa juliotubi...@yahoo.com.br Você verificou qual owner está criando estas views? Se warning( advice,suggestion,não error),é View created with compilation errors,90% de chance de estas views estarem em algum schema. select * from all_objects -- ou dba_objects where owner ='your owner' and object_type ='VIEW' and status = 'INVALID' 2009/1/30 Thiago Delfim tdel...@gmail.com Pessoal, Recentemente eu fiz um import em um Oracle 10g e todas as views e procedures que usavam DB_LINK foram criadas, porém ficaram inválidas porque os DB_LINKS não estavam acessíveis. Hoje fiz o mesmo import em um Oracle 9i e essas mesmas views e procedures não foram criadas. Quando eu tento criar direto no SQL Plus, aparece a mensagem Warning: View created with compilation errors, mas a VIEW não é criada. Alguém já passou por algo parecido? Eu preciso que o objeto seja criado, mesmo que fique inválido. Obrigado, -- Thiago Delfim Oracle SQL Server Database Administrator Oracle 9i Database
Re: [oracle_br] Re: Migração 10.2.0.4
Ja vi estes negócio de executáveis sumirem. Realmente os arquivos ficam zerados. Mas por acaso não estás tentando instalar uma mídia para uma plataforma diferente da que estás? Exemplos: PA-RISC sobre Itanium ou 32 bits para 64 bits ou algo do gênero? Aqui migramos da 9i (9.2.0.6) para a 10g (10.2.0.4) e também tivemos problemas com a JVM. O que fizemos foi desinstalar a JVM e reinstalá-la. Scripts: ?/javavm/install/initjvm.sql; ?/xdk/admin/initxml.sql; ?/xdk/admin/xmlja.sql; ?/rdbms/admin/catjava.sql; Tivemos que fazer também alguns ajustes nos parametros java_pool_size e shared_pool. Dê uma olhada nas notas do metalink: ] 133391.1 156477.1 159801.1 149393.1 204935.1 316889.1 2009/1/29 Rodrigo Almeida dbarodr...@gmail.com Olá Anderson, O problema que tivemos os executáveis não sumiram, somente teve problemas com os pacotes DBMS_JAVA e isso implicito em diversos problemas. Fizemos alguns relinks nas libs do Oracle e RELOAD do JVM que funcionou... Abraços Rodrigo Almeida 2009/1/28 Anderson ar_far...@yahoo.com.br ar_farias%40yahoo.com.br Na verdade eles estavam todos lá, mas com arquivos zerados (0 Kb). E foi solicitado para substituir os atuais. --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.broracle_br% 40yahoogrupos.com.br, Willian Fernando Frasson wfras...@... escreveu Executáveis que sumiram?? No momento de rodar o root.sh pediu para substituir os atuais? - Original Message - From: Anderson To: oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.broracle_br% 40yahoogrupos.com.br Sent: Tuesday, January 27, 2009 5:16 PM Subject: [oracle_br] Re: Migração 10.2.0.4 Rodrigo, fizemos testes aqui com aplicação do 10.2.0.4 em RH4 e também tivemos problemas com os executáveis, que 'sumiram'. Como vocês fizeram pra resolver o problema? --- Em oracle_br@yahoogrupos.com.br oracle_br%40yahoogrupos.com.broracle_br% 40yahoogrupos.com.br, Rodrigo Almeida dbarodrigo@ escreveu Olá, Tive problemas em aplicar o Patchset 10.2.0.4 para Linux em RedHat ES AS 4 32Bits saindo do Patchset 10.2.0.3, os problemas foram desde a invalidação das Packages JAVA até problemas em executáveis. E foi seguida todos os processos da Documentação para atualização. Segundo TAR aberto no Metalink, precisamente do 10.2.0.3 para 10.2.0.4 para Linux Red Hat EL AS4 (Narah) teve problemas na aplicação do CPU. Abraços, Rodrigo Almeida 2009/1/27 Willian Frasson wfrasson@ Amigo já apliquei em vários cliente o Patchset 10.2.0.4 e não tive problemas, com relação a aplicar em RAC, basta aplicar primeiro no CRS, depois no RDBMS rodando o @catupgrd.sql e recompilar os objetos inválidos. Mas sempre faça isso em ambiente de homologação, de preferência com a mesma estrutura de SO/banco. Abçs. Willian Frasson Administrador de Banco de Dados Oracle. --- Em seg, 26/1/09, Eduardo eduardo.paula@eduardo.paula%40gmail.com escreveu: De: Eduardo eduardo.paula@ eduardo.paula%40gmail.com Assunto: Re: [oracle_br] Re: Migração 10.2.0.4 Para: oracle_br@yahoogrupos.com.broracle_br%40yahoogrupos.com.broracle_br% 40yahoogrupos.com.br oracle_br%40yahoogrupos.com.br Data: Segunda-feira, 26 de Janeiro de 2009, 16:14 Exato. Eu tenho ambos ambientes aqui. Tanto RAC quanto 10.2.0.3. A única coisa que eu pisei na bola foi tentar aplicar um patch 64 em uma máquina 32. Mas consegui desfazer e refazer da maneira correta e agora ta show de bola. Dá uma lida na documentação da oracle, ela explica como fazer em RAC. Creio que o tempo que você irá levar será de aproximadamente umas 2 horas por nó, no máximo 4 horas. Isso vai depender da sua experiência e da velocidade da máquina. Inté 2009/1/26 antonio_luiz3 antonioluiz3@ gmail.com: Valeu Eduardo! Seu ambiente estava em RAC ou single instance? Tenho que planejar a atualização de nosso ambiente de 10.2.0.3 em RAC. Essa atualização é necessária para correção de bugs. --- Em oracle...@yahoogrup os.com.br, Eduardo eduardo.paula@ ... escreveu Migrar de onde para onde? Eu migrei da 10.2.0.2 para 10.2.0.4 e foi tranquilo. Nenhum erro, tudo explicado pelo manual da oracle. Té 2009/1/26 antonio_luiz3 antonioluiz3@ ...: Olá amigos, Alguém já fez a migração para a versão 10.2.0.4? Podem contar suas experiências? Anteciosamente, Antonio Luiz.
Re: [oracle_br] Duvida na Procedure
Opa, Só a titulo de convenção: quando falas em dropar a tabela, na verdade estás se referindo a eliminar as suas linhas e não dropar o objeto. É isso? Pela rápida olhada sobre o código, imagino que a tabela PRECO_PARCIAL já existe em algum schema. Veja se não consegues fundir as duas queries. Talvez consigas criar um cursor apenas no inicio e resolve todo o seu problema. Se não, já cogitasse a idéia de usar tabelas de memória para estas transações intermediárias? Dúvida: consegues garantir que o cursor vlinha2 está te retornando algo? Não sei se conheces, mas tem o site asktom.oracle.com que é excelente para dúvidas deste tipo. 2009/1/29 jusegantine jusegant...@yahoo.com.br BOM DIA NOBRES JEDIS! SEGUINTE, TENHO MAIS UMA DUVIDA! EU CRIEI ,(COM A AJUDA DO FORUM É CLARO), UMA PROCEDURE QUE LE ALGUNS DADOS E INSERE EM UMA TABELA. AGORA ESTOU TENTANDO CRIAR NA MESMA PROCEDURE, UM PROCEDIMENTO QUE PEGUE ESSES DADOS QUE FORAM GRAVADOS NA TABELA NOVA E GRAVE EM OUTRA, POREM NÃO OBTIVE SUCESSO NO MEU CODIGO...NAO TENHO NEM IDEIA SE O QUE EU FIZ FAZ ALGUM SENTIDO, SÓ TENTEI. SEGUE O CODIGO ABAIXO, ALGUEM PODE ME AJUDAR POR FAVOR? DEPOIS QUE EU GRAVAR NA ULTIMA TABELA, EU QUERIA CRIAR UMA MANEIRA DE TROPAR A PRIMEIRA TABELA QUE FOI GRAVADA, PARA QUE ELE FUNCIONE COMO UMA TEMPORARIA POIS ELA NÃO TEM CHAVE PRIMARIA DEVIDO AO FATO DE QUE MUITOS ITENS SE REPETE. VALEU GALERA, SEGUE CODIGO: CREATE OR REPLACE procedure sp_insere_tabela2(vano CHAR,vcod_modelo CHAR) Is --Index By Binary_Integer; BEGIN For vlinha In ( SELECT M.ANO, M.cod_modelo, M.item_agrupador, M.DESCRICAO_AGRUPADOR, M.QUANTIDADE_COMPOSICAO, M.QUANTIDADE_COMPOSICAO*Avg (T.PRECO_UNITARIO_NACIONAL + (F_DOLAR (vano)*T.PRECO_UNITARIO_IMPORTADO )) AS PRECO_MEDIO, AVG(T.PRECO_UNITARIO_NACIONAL + (F_DOLAR(vano) *T.PRECO_UNITARIO_IMPORTADO )) AS TOTAL FROM modelo_equipamento M join tabela_preco T ON (M.cod_equipamento = T.cod_equipamento) GROUP BY M.cod_modelo,M.item_agrupador, M.QUANTIDADE_COMPOSICAO,M.ANO,M.DESCRICAO_AGRUPADOR) --AQUI EU DOU UM INSERT NA PRIMEIRA TABELA, A QUE SERIA UMA TEMPORARIA LOOP INSERT INTO PRECO_PARCIAL (ANO,COD_MODELO,ITEM_AGRUPADOR,DESCRICAO_AGRUPADOR,QUANTIDADE_COMPOSIC AO, PRECO_MEDIO,TOTAL) VALUES (vlinha.ANO,vlinha.COD_MODELO,vlinha.ITEM_AGRUPADOR,vlinha.DESCRICAO_A GRUPADOR, vlinha.QUANTIDADE_COMPOSICAO,vlinha.PRECO_MEDIO,vlinha.TOTAL); End Loop; COMMIT; --AQUI EU TENTEI INSERIR OS DADOS DA PRIMEIRA TABELA NESTA ULTIMA CHAMADA DE PRECIFICACAO_DETALHADA For vlinha2 In(select r1.ano as ano, r1.cod_modelo as cod_modelo, r2.QUANTIDADE_INVENTARIO as quantidade_inventario, r2.unidade as unidade, r1.preco_modelo as preco_modelo, r1.preco_modelo*r2.QUANTIDADE_INVENTARIO AS VALOR_CCA, r3.custo_indireto AS CUSTO_INDIRETO, r1.preco_modelo*r2.QUANTIDADE_INVENTARIO*(1+r3.custo_indireto) as VALOR_CCA_COM_CUSTO_INDIRETO, r3.fator_ociosidade as FATOR_OCIOSIDADE, r1.preco_modelo*r2.QUANTIDADE_INVENTARIO*(1+r3.custo_indireto)*(1- r3.fator_ociosidade) AS VALOR_CCA_COM_OCIOSIDADE from (select ano,cod_modelo, sum(total) as preco_modelo from preco_parcial where ano = vano and cod_modelo = vcod_modelo group by ano, cod_modelo) r1 JOIN (select ano, cod_modelo, sum(quantidade_inventario) as QUANTIDADE_INVENTARIO,unidade from quantitativo_fisico where ano = vano and cod_modelo = vcod_modelo group by ano, cod_modelo,unidade) r2 ON(r1.ano = r2.ano and r1.cod_modelo = r2.cod_modelo) JOIN (select ano,cod_modelo,custo_indireto,fator_ociosidade from modelo_fator where ano = vano and cod_modelo = cod_modelo group by ano, cod_modelo,custo_indireto,fator_ociosidade) r3 ON(r2.ano = r3.ano and r2.cod_modelo = r3.cod_modelo)) LOOP INSERT INTO PRECIFICACAO_DETALHADA (ANO,COD_MODELO, QUANTIDADE_INVENTARIO,UNIDADE,PRECO_MODELO, VALOR_CCA,CUSTO_INDIRETO, VALOR_CCA_COM_CUSTO_INDIRETO,FATOR_OCIOSIDADE, VALOR_CCA_COM_OCIOSIDADE) VALUES (vlinha2.ANO,vlinha2.COD_MODELO,vlinha2.QUANTIDADE_INVENTARIO,vlinha2. UNIDADE,vlinha2.PRECO_MODELO, vlinha2.VALOR_CCA,vlinha2.CUSTO_INDIRETO, vlinha2.VALOR_CCA_COM_CUSTO_INDIRETO,vlinha2.FATOR_OCIOSIDADE,vlinha2. VALOR_CCA_COM_OCIOSIDADE); END LOOP; COMMIT; DELETE PRECO_PARCIAL; --AQUI TENTEI DROPAR A A TABELA DEPOIS DE UTILIZA-LA PARA EVITAR DUPLICIDADE NO CALCULO Exception When no_data_found Then raise_application_error(-2, 'Nenhum Registro Encontrado'); end sp_insere_tabela2; / QUE A FORÇA ESTEJA COM VCS! [As partes desta mensagem que não continham texto foram removidas]
Re: [Bulk] Re: [oracle_br] Views inválidas com DB_L INK
Júlio, Voce está certo, mas continuando seu laboratório, quando crias a visão como exposto, realmente gera o erro 2019: SQL create view a (a,b) as select a,b from te...@imaginario; create view a (a,b) as select a,b from te...@imaginario * ERRO na linha 1: ORA-02019: connection description for remote database not found Mas no caso do import, é acrescido a cláusula FORCE, o que maqueia o erro pra ti. Veja: SQL create force view a (a,b) as select a,b from te...@imaginario; Advertência: View criada com erros de compilação. SQL select object_name, object_type, status 2 from all_objects where object_name = 'A'; OBJECT_NAME OBJECT_TYPE STATUS --- --- AVIEWINVALID Que é o caso que descreves. Teste ai. 2009/1/30 Júlio César Corrêa juliotubi...@yahoo.com.br Como db_link invalido?Não existente? Se fosse inexistente deveria gerar este erro: Microsoft Windows XP [versão 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\jcorreasqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Sex Jan 30 17:35:27 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. idle conn c...@dsnv Informe a senha: Conectado. c...@dsnv create or replace view vw_bla 2 as select * from user_tab...@db_link_inexistente; ORA- - commit nao se loga as select * from user_tab...@db_link_inexistente * ERRO na linha 2: ORA-02019: connection description for remote database not found c...@dsnv 2009/1/30 Thiago Delfim tdel...@gmail.com Julio, o problema só ocorre nos casos em que eu uso um db_link inválido. Só acho estranho retornar que a view foi criada com erro, mas ela não é criada. SQL create view bla as 2 select * from user_tables; View created SQL select * from dba_objects where object_name = 'BLA'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPECREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY -- -- -- -- -- --- - --- --- - - - REMOTE BLA 26060 VIEW 30/1/2009 1 30/1/2009 17: 2009-01-30:17:10:49 VALID N N N SQL create view blabla as 2 select * from bla...@dbl_blabla; Warning: View created with compilation errors SQL select * from dba_objects where object_name = 'BLABLA'; OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPECREATED LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY -- -- -- -- -- --- - --- --- - - - SQL 2009/1/30 Júlio César Corrêa juliotubi...@yahoo.com.br Estranho Thiago.Você está colocando o nome da view em upper?Look d's: Microsoft Windows XP [versão 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Console2sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Sex Jan 30 16:21:35 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. idle conn c...@hmlg Informe a senha: Conectado. c...@cmt desc cmt.vw_order; Nome Nulo?Tipo - PRV_IDNOT NULL NUMBER(10) ROM_TRANIDNOT NULL NUMBER(10) ROM_SEQNBRNOT NULL NUMBER(3) ROM_DATE NOT NULL DATE ROM_REMOTEORDERID NUMBER(10) ROM_REMOTEORDERDATEDATE ROM_STATUSNOT NULL CHAR(1) ROM_RECSTATCHAR(1) ISS_ID NUMBER(4) CD_ID NUMBER(2) CRD_SNR NUMBER(10) ROD_AMOUNT NUMBER(10,2) ISS_DESCLONG VARCHAR2(50) APP_DESCLONG VARCHAR2(50) c...@cmt ed Gravou file afiedt.buf 1 select owner,object_name,object_type,status 2 from all_objects 3* where object_name ='vw_order' c...@cmt / nÒo hß linhas selecionadas