O Scheduler é uma funcionalidade que simplifica o agendamento de tarefas possibilitando que o DBA defina quando e onde diferentes tarefas irão ocorrer sem intervenção manual. Isto contribui com a redução de custos e problemas associados à execuções manuais.
Este é o oitavo e último artigo de nossa série. Abordaremos desta vez o tema priorização de jobs. Esta técnica permite que jobs tenham sua execução priorizada com base nos grupos consumidores de recursos do banco de dados.
É possível priorizar jobs através da utilização de três objetos Scheduler: job classes, windows e windows group. Esses objetos são utilizados para priorizar os jobs associando-os a grupos de consumidores do gerenciador de recursos do banco de dados. O Resource Manager, por sua vez, controla a quantidade de recursos alocados para estes jobs.
Em que situação o tema é útil
Quando se pretende trabalhar com o Scheduler para criar e
executar jobs priorizando-os com base nos grupos consumidores de recursos do
banco de dados. É o mesmo que dizer que determinado job terá prioridade de
execução e consumo de recursos do banco de dados em relação a outro job
dependendo de qual o usuário proprietário do job.
Até agora vimos como trabalhar com o Scheduler no sentido de trabalhar com jobs, mas continua sendo complicado gerenciar o momento em que cada job deve ser executado e, o mais importante, como definir quanto de recurso do banco de dados cada job pode consumir.
Neste artigo será visto como trabalhar com windows que são objetos que permitem definir horários em que os jobs podem ser executados e, caso um job dependente de um primeiro job que não tenha sido concluído dentro da janela especificada, não será executado, pois está fora da janela definida para execução.
Esta é uma prática comum que evita que jobs “pesados” avancem muito no horário prédefinido e acabem impactando nas operações da empresa.
Outra funcionalidade interessante é a possibilidade de agrupamento de janelas de execução de jobs. Assim, ao invés do DBA tentar definir períodos incomuns de execução, simplesmente cria-se janelas simples e agrupa-se de forma coerente. Por exemplo, como você criaria uma janela que contemplasse os períodos de 21:00 de um dia às 6:00 do outro dia e finais de semana completos?
Fica muito mais fácil o DBA criar uma janela chamada NOTURNO, que compreende o horário entre 21:00 e 06:00, e outra janela chamada FIM_SEMANA, que contempla todo o sábado e domingo e, finalmente, criar um agrupamento de janelas com o nome MANUTENCAO que contempla os períodos NOTURNO e FIM_SEMANA.
E finalmente, mas não menos importante, existe também a possibilidade de definir-se percentuais de alocação de recursos do banco de dados (e alguns recursos de hardware, como CPU) para que os jobs não consumam todos os recursos do servidor e façam com que todos os usuários comecem a reclamar de lentidão.
Para isso, o Scheduler está completamente integrado ao Resource Manager para que os recursos sejam devidamente alocados conforme prioridades.
Neste artigo abordaremos a priorização de jobs, que é uma tarefa fundamental para que os jobs mais importantes tenham sua execução garantida e com a quantidade de recursos necessária.
É possível priorizar jobs do Oracle Scheduler através da utilização de três objetos Scheduler: job classes, windows e windows group. Esses objetos são utilizados para priorizar os jobs associando-os a grupos de consumidores do gerenciador de recursos do banco de dados (os Consumer Groups do Resource Manager). O Resource Manager, por sua vez, controla a quantidade de recursos alocados para estes jobs. Além disso, as job classes permitem que se definam prioridades relativas entre um grupo de jobs caso todos os jobs deste grupo possuam níveis de recursos idênticos.
O Oracle Database Resource Manager (Gerenciador de Recursos do Banco de Dados) permite gerenciar várias cargas de trabalho dentro de um banco de dados que estão lutando por recursos do sistema e do banco de dados.
Quando as decisões de alocação de recursos de banco de dados são deixadas para o sistema operacional, pode-se encontrar os seguintes problemas com o gerenciamento de carga de trabalho:
- Sobrecarga excessiva;
- Programação ineficiente;
- Alocação inadequada de recursos;
- Incapacidade de gerenciar recursos específicos do banco de dados como execução paralela e sessões ativas.
O Resource Manager ajuda a resolver esses problemas, permitindo um maior controle do banco de dados sobre como os recursos de hardware são alocados. Em um ambiente com várias sessões de usuários simultâneas que executam tarefas com prioridades diferentes, todas as sessões não devem ser tratadas de forma igual. O Resource Manager permite classificar sessões em grupos com base em atributos de sessão e, em seguida, alocar recursos para os grupos de uma forma que otimiza a utilização do hardware para o seu ambiente de aplicação.
Com o Resource Manager é possível:
- Garantir a determinadas sessões uma quantidade mínima de CPU, independentemente da carga no sistema e o número de usuários;
- Distribuir CPU disponível através da alocação de percentual de tempo de CPU para diferentes usuários e aplicações. Em um Data Warehouse, uma porcentagem maior pode ser dada a aplicações ROLAP (Relational Online Analytical Processing – Processamento Analítico Relacional em Tempo Real) do que para processos executados em lote (batch);
...
Confira outros conteúdos:
SQL SUM: somando os valores de uma...
SQL: INNER JOIN
SQL: Introdução ao Where
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.