Um teste de unidade requer que um trabalho dbms_scheduler seja executado no mesmo nó RAC a partir do qual o teste de unidade está sendo executado. Sei que, com um banco de dados gerenciado por administrador, isso pode ser feito criando um serviço que limita as instâncias disponÃveis e, em seguida, usando esse serviço em uma classe de trabalho que o trabalho usa. Minha pergunta é: como isso pode ser feito em 11.2 com gerenciamento de polÃticas?
Os pools podem ser criados com apenas um único servidor e os bancos de dados podem ser atribuÃdos a vários pools, mas, pelo que entendi, um servidor só pode ser atribuÃdo a um único pool. Portanto, não pode ser criado um serviço que usa um único servidor e ainda ter outros serviços que usam um pool definido com vários servidores incluindo aquele.
Também sei que os serviços podem ser criados como SINGLETON ou UNIFORM, mas como o SIGNLETON não fornece servidores permitidos ou mesmo servidores preferenciais, não tenho certeza de como isso ajudaria.
Certamente estou perdendo algo que torna tudo isso possÃvel.
dbms_scheduler.set_attribute
é o que você está procurando - força a execução de um trabalho em um determinado nó (especificado porinstance_id
):dba_scheduler_jobs.instance_id
será, aNULL
menos que você o tenha definido explicitamente comset_attribute
.Sei que não foi isso que você perguntou, mas é mais fácil do que mexer em piscinas!