Re: [oracle_br] Tamanho de uma Tabela

2009-02-02 Por tôpico Gari Einsfeldt
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

2009-02-02 Por tôpico Gari Einsfeldt
 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?

2009-02-02 Por tôpico Gari Einsfeldt
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

2009-02-02 Por tôpico Gari Einsfeldt
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

2009-02-02 Por tôpico Gari Einsfeldt
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

2009-02-02 Por tôpico Gari Einsfeldt
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

2009-02-02 Por tôpico Gari Einsfeldt
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