Jump to content
NaPraia

Sequence perde o grant

Recommended Posts

Olá pessoal,

Estou com um probleminha, eu tenho uma sequence criado num owner (owner_a), executei o comando para criar em outro owner(owner_b):
grant all on sequence_a to owner_b
e consegui usar, só que no dia seguinte esse grant sumiu e deu erro: ora-00942: tabela ou view não existe. No owner_a funciona corretamente.
voltei a executar o comando de grant de funcionou de boa mas de ontem para hoje ocorreu novamente
E acontece só para essa sequence, as outras do banco, não têm problema, funcionam normalmente

Eu até pensei em dar um drop e criar de novo mas fico com receio que possa ter algum impacto no sistema que é daqueles que ninguém gosta de mexer, "tá funcionando, não mexe"
E acontence nos dois ambiente, homologação e produção.

Obrigado

Share this post


Link to post
Share on other sites

Procurou nas referências ou no texto dos fontes o que usa esta sequence ?

Algum processo pode dropar e recriar (para zerar) ?

Não é falta de sinonimo ou de qualificação ?

Share this post


Link to post
Share on other sites
Em 01/09/2020 at 18:12, Motta disse:

Procurou nas referências ou no texto dos fontes o que usa esta sequence ?

Algum processo pode dropar e recriar (para zerar) ?

Não é falta de sinonimo ou de qualificação ?

agora que consegui ter tempo, criei um sinônimo, espero que resolva

ele não é dropado, apenas fica inválido.

 

tem algumas(umas 5) views que a gente compila e no dia seguinte estão inválidas, ainda bem que não estão sendo usadas.

 

estranho nesse caso da sequence, é que essa tabela tem duas sequences, uma para a PK e outra para um outro número distinto,

a da PK não dá erro, só a outra.

Share this post


Link to post
Share on other sites

Eu procuraria em dba_source se slgum objeto perdido não faz drop/create via execute immediate

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By NaPraia
      Beleza?
       
      seguinte, tivemos problema com o servidor que pegou fogo, foi recuperado, porém não estou conseguindo compilar uma view
      se eu executo:
      select * from v_view , funciona
       
      se eu executo a query da view, também funciona
      select 1 campo from dual Porém, quando tento recompilar a view, dá erro
      create or replace view v_view as select 1 campo from dual No caso, minha query tem várias tabelas, estava dando esse erro numa tabela, consegui solucionar com o comando
      grant select on owner1.tabela to owner2 with grant option; Mas para a segunda tabela, esse comando não funcionou.
      executei o revoke e depois novamente o grant e também não foi
      REVOKE all ON owner1.tabela FROM owner2; Isso é em ambiente de homologação e percebi que o campo grantable está YES e em produção está setado para NO com o comando abaixo e em produção está funcionando, consigo compilar a view
      select * from user_tab_privs where table_name = 'tabela'  
      Alguém tem idéia do que pode ser? o que é que está pegando?
      Obrigado
    • By MarcosAntonio
      Boa tarde !
      estou carregando um arquivo texto numa variável BLOB e preciso manipular em loop, para ler linha a linha e aplicar os SUBSTRs para inserir no banco, mas não sei como fazer o loop, a interação entre as linhas e quando saber o momento de sair do loop, alguém pode me ajudar?

      ex do conteúdo do BLOB:
       
      2AAA02012021123421
      2AAA02012021213453
      2AAA02012021105413
       
      quero por exemplo retirar a informação da linha 2 a partir do quarto caracter e parando no decimo segundo caracteres
    • By Motta
      Oracle is moving its headquarters from Silicon Valley to Austin, Texas
    • By Thiago Btos
      Boa tarde galera.
       
      Fiz um select que tras 4 informações do banco (matricula, nome, data e hora)
      SELECT QD1_MAT, RA_NOME, QD1_DTBAIX AS DATA, QD1_HRBAIX FROM QD1010 QD1 INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*' ORDER BY QD1_DTBAIX, QD1_HRBAIX Retornando os seguintes registros:

       
       
       
      Preciso retornar somente as linhas em amarelo, que seria a seguinte condição.
      Caso tiver alguma matricula igual, trazer somente o registro com a maior data, junto com seu respectivo horário.
       
       
      O mais próximo que consegui chegar foi utilizando o MAX para data e hora, e agrupando o restante dos campos.
      SELECT QD1_MAT,RA_NOME,MAX(DATA), MAX(QD1_HRBAIX) FROM ( SELECT QD1_MAT, RA_NOME, QD1_DTBAIX AS DATA, QD1_HRBAIX FROM QD1010 QD1 INNER JOIN SRA010 SRA ON RA_MAT = SUBSTR(QD1_MAT, 5) AND SRA.D_E_L_E_T_ <> '*' ) GROUP BY QD1_MAT,RA_NOME Porém na hora ele não pega o valor correspondente e sim o valor máximo.

       
       
      Ai estou travado nessa parte, como faço para trazer a hora corresponde sem o restante dos registros?
    • By mr22robot
      Boa tarde. Estou com o seguinte problema: Preciso retornar um selct da seguinte maneira:
      exemplo que não funciona:
      select codusur,numnota,codcli,cliente,vltotal,numtransvenda,dev,decode(vlvenda),if(vlvenda > 100 then 1 else 2) from( select tb1.codusur,tb1.numnota,tb1.codcli,tb1.cliente,tb1.vltotal,tb1.numtransvenda,DECODE(tb2.VLTOTAL,NULL,0,tb2.VLTOTAL)DEV from( select codusur,numnota,pcnfsaid.codcli,pcnfsaid.cliente,pcnfsaid.vltotal,pcnfsaid.numtransvenda from pcnfsaid where pcnfsaid.dtsaida > '01-OCT-2020' and pcnfsaid.dtcancel is null )tb1 left outer join (select DISTINCT VLTOTAL,VW_INTEGRA_DEVOLUCAO_TOTAL.NUMTRANSVENDA from VW_INTEGRA_DEVOLUCAO_TOTAL )tb2 on tb1.NUMTRANSVENDA = tb2.NUMTRANSVENDA order by numnota ) Como pode reparar, eu usei um if/else já que não sei a forma correta de usar. Pois com DECODE não consegui usar uma forma de fazer a comparação. 
      Pois preciso mesmo retornar uns valores fixos. Ex: 
      Se o valor > 40000, retorna um valor x; Se for maior que 5000 retorna um valor y. 
      Aguardo a ajuda dos amigos. Grato
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.