Artigo no estilo: Curso

De que se trata o artigo?

Este é o primeiro de uma série que trata da funcionalidade de agendamento de tarefas no banco de dados Oracle através da ferramenta Oracle Scheduler. Muito mais que um simples agendador de tarefas, ele oferece funcionalidades de controles diversos para a garantia de estabilidade e performance no banco de dados. O Oracle Scheduler serve para criar um ambiente extremamente bem gerenciável para o controle de execução de tarefas no banco de dados. Tais tarefas podem ser definidas para execução em horários específicos e, inclusive, com limites de recursos de hardwares também específicos.

Em que situação o tema é útil?

Sempre que se pretende automatizar tarefas no banco de dados é necessário que haja um bom gerenciador para que estas tarefas sejam iniciadas em momentos adequados e não interfiram na execução de outras tarefas. É justamente para este tipo de situação que o Oracle Scheduler se mostra muito útil.

Resumo DevMan:

O Oracle Scheduler é um utilitário do banco de dados Oracle disponível tanto na versão Standard Edition One quanto na Standard Edition e, claro, na Enterprise Edition.

Este utilitário permite que o gerenciamento das mais variadas tarefas seja feito de forma eficaz e inteligente.

Agrupamento de tarefas através de classes, limitação de recursos para cada tipo de classe de tarefas, criação de janelas de execução de tarefas, essas e outras funcionalidades estão disponíveis fazendo com que o Oracle Scheduler não seja simplesmente um agendador de tarefas.

Através dele é possível executar desde códigos de banco de dados, como stored procedures ou packages, até programas executáveis no sistema operacional, como shell scripts (no UNIX) ou arquivos de lote (batch) e ainda arquivos executáveis no MS Windows (os famosos .exe).

A sofisticação do Oracle Scheduler é tão impressionante que, além de permitir que as tarefas sejam executadas com base em um evento pré-determinado, este evento pode ser pura e simplesmente a “chegada” de um arquivo no sistema operacional, ou seja, o Oracle Scheduler transcende os limites do banco de dados oferecendo uma poderosa ferramenta para os DBAs e também para as aplicações.

Oracle Scheduler, conhecido simplesmente por Scheduler, é mais uma funcionalidade do Sistema de Gerenciamento de Banco de Dados (SGBD) Oracle. Um produto já integrado ao banco de dados Oracle nas versões SE1 (Standard Edition One), SE (Standard Edition) e EE (Enterprise Edition) sem custo adicional.

O Scheduler é uma funcionalidade que simplifica o agendamento de centenas ou até milhares de tarefas. É implementado por meio dos processos e funções do pacote PL/SQL DBMS_SCHEDULER.

O Scheduler permite que o DBA controle quando e onde diferentes tarefas ocorrem no ambiente corporativo. Auxilia também no gerenciamento e planejamento dessas tarefas, garantindo que muitas tarefas rotineiras aconteçam sem intervenção manual, permitindo a redução de custos operacionais, implementando rotinas mais confiáveis, minimizando problemas decorrentes de falha humana e também reduzindo o tempo das janelas de manutenção necessárias no sistema.

O Scheduler fornece funcionalidade de agendamento flexíveis e sofisticados. Vejamos a seguir algumas delas.

Execução de blocos de programa de banco de dados

É possível executar unidades do programa, ou seja, blocos PL/SQL anônimos, stored procedures em PL/SQL e stored procedures em Java tanto no banco de dados local quanto em um ou mais bancos de dados remotos;

Um procedimento armazenado (stored procedure) é uma sub-rotina disponível para aplicatições que acessam um Sistema de Gerenciamento de Banco de Dados Relacional (SGBDR). Um procedimento armazenado (muitas vezes chamado de proc, sproc, StoPro, ProcArmazen, sp ou SP) é armazenado no dicionário de dados do Banco de Dados.

Usos clássicos para procedimentos armazenados incluem a validação de dados (integrado ao Banco de Dados) ou de mecanismos de controle de acesso. Além disso, os procedimentos armazenados podem consolidar e centralizar a lógica que foi originalmente implementada na camada de aplicação.

Processamentos longos ou complexos, que exigem a execução de várias instruções SQL, são migrados para procedimentos armazenados, e todas as aplicações simplesmente “chamam” os procedimentos.

É possível ainda usar procedimentos armazenados aninhados, ou seja, executando um procedimento armazenado dentro de outro.

...
Quer ler esse conteúdo completo? Tenha acesso completo