Como faço para abrir um procedimento armazenado e editá-lo no SQL * Plus
-
21-08-2019 - |
Pergunta
Eu preciso fazer algumas alterações para um procedimento armazenado Oracle velho em uma caixa obsoleta que está sendo mantido em torno de executar um processo antigo legado. A única ferramenta que pode se conectar à db com é SQL Plus. Como faço para carregar um proc armazenados na memória para edição no SQL Plus?
Os tutoriais que eu encontrei on-line não exlain como isso é feito. : - (
Solução 4
A caixa é HPUX sem TNS ouvinte em execução que praticamente anula a toda a frota de ferramentas de desenvolvimento. No entanto, o DBA foi capaz de se conectar usando uma ferramenta de administração chamado OEM e fazer as mudanças necissary. Obrigado a todos por suas sugestões.
Outras dicas
Seria muito mais fácil de download a versão trial do SAPO
zero a sugestão anterior, eu apenas tentei o link desenvolvedor Oracle SQL sugerido e ele funciona muito bem peachy para a edição de procs.
para SQLPlus você praticamente necessidade de exibir o conteúdo do proc armazenados, e carretel lo em um arquivo (como sugerido por DCookie :-)):
sqlplus> spool myprocname.sql;
sqlplus> select text from all_source where name = 'MYPROCNAME' and type = 'PROCEDURE' order by line;
sqlplus> quit;
, em seguida, editar o arquivo SQL local em um editor decente.
Em seguida, use SQLPlus para executar o arquivo SQL para re-construir o proc para o teste.
>sqlplus username/password@tnsnamesentry @myproc.sql
Em suma, uma dor enorme no keester. : -)
Você pode usar a função dbms_metadata.get_ddl
para recuperar código, é muito melhor, então all_sources.
spool /tmp/my_proc.txt
set long 100000
select dbms_metadata.get_ddl('PROCEDURE','NAME','OWNER') from dual;
spool off
Se você pode se conectar ao banco de dados usando SQL * Plus, você deve ser capaz de se conectar usando um IDE SQL. Dito isto, você não pode abrir um proc para edição no SQL * Plus, mas você pode compilar um. Você pode copiar o seu proc atualizado para o prompt de comando (linha por linha, se necessário) e compilá-lo.
Se você precisar acessar a fonte de corrente na forma manual, você pode consultar a tabela de USER_SOURCE.
Eu sugiro fortemente que, no entanto, olhando para conectar ao DB com um IDE.
Você não pode baixar e instalar Oracle SQL Developer ? É grátis.
Para Unix, há Tora , (open source)