Seguinte : a) quando vc tá na situação de uma base absolutamente descontrolada, onde qquer um (do faxineiro à secretária) criava o que queria SEM documentar nada (o que parece ser o caso), pra quase todos os objetos (dblink inclusive) o banco só mantém normalmente uma lista de usuários/dependetes interna, na DBA_DEPENDENCIES : por "interno" eu quero dizer uso "dentro" do banco de dados, por elementos internos como (por exemplo) procedures/triggers/functions PL/SQL, e coisas assim... Então vc até consegue saber por parte do banco de dados os programas/usuários que usam os dblinks, PORÉM se tem dblinks que são usados por programas externos, aí neca.... Só mesmo implementando algum tipo de auditoria, seja via AUDIT, seja via TRIGGER, seja FGA (Fine-Grained Audit), seja armazenando e depois consultando os SQLs executados pra ver se tem @nomedodblink no meio, OU (se é exigido o menor overhead possível no banco/servidor E não é exigida a maior precisão/menor taxa de perda possível) vc pode simplesmente ter um job que a cada 5 minutos checa quais objetos estão em uso ... b) que fique Claro : - Auditoria ** NÃO ** vai ter dar a resposta de bate-pronto, vc Vai Ter que ficar uns tantos muitos dias coletando a informação - uso de Auditoria para este tipo de resposta (usage check) ** NÃO ** é 100% garantida : absolutamente NADA impede que vc tenha ficado, sei lá, 3 semanas auditando , do dia 01 ao dia 21 do mês, Mas aí vc não sabia que no dia 31 roda um hiper-mega-boga importante programa mensal de fechamento que usa o raio do dblink .... Quanto maior o período de coleta, menor a chance de vc ter perdas do tipo, mas Zero de perda não tem como garantir Isto posto : afaik não há no AUDIT um comando pra auditar SQLs que usem dblink (o AUDIT só pega SELECT em geral, DDLs e DMLs), E não há trigger que dispare quando vc faz um SELECT, ENTÃO imho ** NENHUMA ** das suas opções serviria, penso que vc teria que usar umas das outras que citei, ie : - FGA guardando o texto (veja a Documentação da DBMS_FGA para refs/exemplos simples) e/ou - armazenamento automático do texto dos SQLs (via ativação do trace de SQL no banco) - NEM preciso dizer que esse cara vai ter dar uma taxa de perda baixa MAS vai comer um espaço em disco e causar um overhead sensível e/ou - consulta periódica de quem tá usando dblinks : http://jkstill.blogspot.com/2010/03/whos-using-database-link.html tem um exemplo possível de consulta, que vc programaria num job, imagino, OU vc pode consultar a V$SQL e ver quem tem @nomedolink no texto []s Chiappa
--- Em oracle_br@yahoogrupos.com.br, José Carlos Guerrieri <guerrieri.jc@...> escreveu > > Bom dia. > > Estou com o seguinte problema: > > Atendendo à necessidade de um cliente cujo legado é a existência de inúmeros > dblinks públicos criados com usuário e senha, preciso saber qual usuário da > base faz uso destes dblinks para chegar à(s) outra(s) instância(s). > A possível solução seria uma trigger ou "ligar" o audit ? > > Agradeço a quem possa ajudar. > > José Carlos > > > [As partes desta mensagem que não continham texto foram removidas] >