Documentação de scripts utilizando help e execução remota de scripts
Há algum tempo atrás percebemos que temos uma quantidade enorme de scripts e que, em muitos casos, nem nos lembramos mais de alguns bons scripts por não utilizá-los com muita frequência.
Decidimos documentar esses scripts e também que o acesso a essa documentação deveria ser rápido e fácil antes que efetivamente usássemos o script, caso contrário não nos ajudaria muito.
Com isso, você já pode imaginar, não é? Como DBAs, já começamos a pensar em criar tabelinhas, inserir informações, criar algumas view, etc. Esta abordagem pode se mostrar bastante acessível e fácil, mas não tão acessível e fácil quanto o próprio help de comandos já presente no SQL*Plus (Nota DevMan 1).
Foi então que surgiu a idéia de, ao invés de criar algo novo, toda uma nova estrutura para este help, porque não utilizar uma estrutura que já exista e que, por sinal, funciona muito bem?
Nota DevMan 1. SQL*Plus
O SQL*Plus é um programa em linha de comando para submeter declarações SQL ou PL/SQL ao banco de dados Oracle.
Você pode submeter declarações SQL ou PL/SQL interativamente ou através de scripts. O SQL*Plus é instalado juntamente com o banco de dados Oracle e está localizado no diretório $ORACLE_HOME/bin.
O SQL*Plus pode ser iniciado através da linha de comando ou, no caso do Microsoft Windows, também através do menu “Iniciar”.
Quando o SQL*Plus é carregado, aparecerá o prompt SQL, conforme abaixo:
SQL>
No prompt SQL, você pode submeter declarações SQL ou PL/SQL e também executar tarefas administrativas como “baixar” o banco de dados ou criar um novo usuário. Pode-se ainda executar DMLs como INSERT, UPDATE ou DELETE.
Você pode submeter uma única declaração SQL ou PL/SQL ou múltiplas linhas.
Cada declaração de deve ser finalizada com um ponto e vírgula (;) e, para executar novamente a última declaração executada, basta digitar uma barra (/) e pressionar enter.
Usando o HELP de comandos do SQL*Plus para seus scripts
Usar o HELP de comandos do SQL*Plus para os seus scripts é uma bastante simples.
Existe uma tabela, cujo dono (owner) é o usuário SYSTEM, que se chama HELP e que é criada executando o script:
@$ORACLE_HOME/sqlplus/admin/help/hlpbld.sql helpus.sql;
A estrutura da tabela HELP é apresentada na Listagem 1.
Listagem 1. Estrutura da tabela SYSTEM.HELP.
SQL> desc system.help
Name Null? Type
--------- -------- ---------------------
TOPIC NOT NULL VARCHAR2(50)
SEQ NOT NULL NUMBER
INFO VARCHAR2(80)
Onde as colunas TOPIC e SEQ formam a chave primária (Nota DevMan 2) da tabela.
Nota DevMan 2. Chave Primária
Chaves primárias (Primary Keys ou PK) sob o ponto de vista de Banco de Dados Relacionais, referem-se a linhas de um ou mais campos, cujos valores, considerando a combinação de valores de todos os campos da linha, nunca se repetem e que podem ser usadas como um índice para os demais campos da tabela do banco de dados.