Oracle Scheduler – Parte 4 - Revista SQL Magazine 108

Este artigo trata, através de exemplos práticos, da utilização de programs, que auxiliam na criação de jobs e também nas tarefas de reutilização. Será tratado também o objeto schedule, que facilita a criação de agendas para execução dos jobs.


Oracle Scheduler – Parte 4
Esta é o quarto artigo de uma série que trata da funcionalidade de agendamento de tarefas no banco de dados Oracle através da ferramenta Oracle Scheduler. Este artigo trata, através de exemplos práticos, da utilização de programs, que auxiliam na criação de jobs e também nas tarefas de reutilização. Será tratado também o objeto schedule, que facilita a criação de agendas para execução dos jobs.
Em que situação o tema é útil
Quando se pretende trabalhar com o Scheduler para criar e executar jobs é muito útil o conhecimento dos objetos program e schedule, pois ambos auxiliarão na criação de estratégias para a criação de jobs, bem como a organização e padronização de metodologias para execução de jobs no banco de dados.

No primeiro e segundo artigos desta série sobre o Oracle Scheduler apresentamos, de forma conceitual, todos os objetos que compõem esta solução completa de agendamento e gerenciamento de tarefas no banco de dados Oracle. No terceiro artigo apresentou-se, em detalhes, tudo o que é necessário para se trabalhar com jobs, que são “a alma” do Oracle Scheduler.

Dando continuidade, a cada novo artigo desta série apresentaremos, em detalhes, cada um dos objetos do Oracle Scheduler e, com isso, o leitor será capaz de construir soluções bastante completas no que diz respeito a execução de tarefas no banco de dados. Particularmente neste artigo apresentaremos todos os detalhes do objeto program, que dão ainda mais “poder” à execução dos jobs.

Outro objeto que será apresentado é o Schedule (ou Agenda), que serve para definir quando um job deve ser executado.

Criando e gerenciando Programs para a definição de Jobs

Um program (programa) é uma coleção de metadados sobre tarefas em particular. Opcionalmente estes programs podem ser usados para definir jobs. O correto conhecimento de como utilizar os programs é especialmente importante, pois eles facilitam bastante a definição dos jobs.

Antes de mais nada, é preciso conhecer quais as tarefas que podem ser feitas com os programs e quais os procedures necessários para tais tarefas, bem como os privilégios necessários para tal. A Tabela 1 apresenta estas tarefas, os procedures e privilégios necessários.

abrir imagem em nova janela

Tabela 1. Tarefas, procedures e privilégios necessários para trabalhar com programs.

Agora que conhecemos as tarefas possíveis de serem executadas com programs e também quais os procedures que devem ser usados, vamos colocar a “mão na massa”.

Criando programs

Conforme apresentado na Tabela 1, é possível criar programs usando o procedure CREATE_PROGRAM (ou o Enterprise Manager). Por padrão, os programs são criados no esquema do usuário conectado no momento desta criação. Para criar um program no esquema de outro usuário, é necessário qualificar o nome do program com o nome do esquema. Para que outros usuários possam usar os programs criados em seu esquema, é necessário que estes outros usuários tenham o privilégio de EXECUTE sobre o program portanto, uma vez que um program foi criado, é necessário conceder o privilégio EXECUTE sobre ele para todos os usuários que precisarão utilizá-lo.

A Listagem 1 apresenta um exemplo de criação de um program chamado MEU_PROGRAMA1.

Listagem 1. Criação do program MEU_PROGRAMA1.

01. BEGIN 02. DBMS_SCHEDULER.CREATE_PROGRAM ( 03. PROGRAM_NAME => 'MEU_PROGRAMA1', 04. PROGRAM_ACTION => '/usr/local/bin/date', 05. PROGRAM_TYPE => 'EXECUTABLE', 06. COMMENTS => 'Comentários aqui!'); 07. END; 08. / 09. 10. PL/SQL procedure successfully completed." [...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados