Script de Implantação

Scripts Diversos para o Oracle SQL*Plus. (Relacionado a ferramenta Oracle SQL*Plus, para questões de SQL, usar o forum SQL)
Responder
muttley
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 15 Nov 2006 10:02 am
Localização: Cotia - SP
A Benção de Deus enriquece e não acrescenta dores

Como faço para fazer um script de implantação, onde todos os objetos estão dentro da mesma pasta (tabelas, procedures ...etc)

Como definiir qual diretorio ele irá buscar os objetos, isto é um diretório padrão

se alguém tiver um exemplo ficarei :) :-o
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, beleza?

Pode ser um pouco mais específico na questão?
você deseja migrar objetos de um DB para outro?

Fico no aguardo.
muttley
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 15 Nov 2006 10:02 am
Localização: Cotia - SP
A Benção de Deus enriquece e não acrescenta dores

Só queria um script que compilasse procedures/packages e mostrasse um log de possiveis erros no final :-o
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, vou lhe passar o que montei aqui e, você melhora/altera de acordo com tua necessidade:


1) Criação de um arquivo .bat, que irá chamar um arquivo .sql que irá compilar a(s) procedure(s)/package(s):

Selecionar tudo

@echo off
rem Compilando arquivos via ms-dos / SO
set oracle_sid=ORA9I
sqlplus -s "usuario/senha@banco" @c:\scripts\RECOMPILA.sql 
2) Arquivo recompila.sql que contém os objetos que devem ser compilados:

Selecionar tudo

ALTER PROCEDURE PRC_TESTE COMPILE;
EXIT;

Daí, você pode estar ajustando à tua necessidade, como por exemplo, neste segundo arquivo, realizar um select na base, buscando objetos inválidos e tal.
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Pelo que eu entendi, você quer aplicar os scripts (procedures, functions, etc) que estão num diretório para a base)

Para isso, pode fazer assim:

Selecionar tudo

spool SEU_LOGlog
prompt
prompt Criando sequence ADM_SEQ_LIMP
prompt ==============================
prompt
@@adm_seq_limp.seq
prompt
prompt Criando sequence AGR_LISTA_SEQ
prompt ===============================
prompt
@@agr_lista_seq.seq
spool off
Digamos que esse script acima se chame aplicar.sql e ele se encontra no C:\oracle\scripts
Daí você chama ele no sql*plus assim:

Selecionar tudo

@c:\oracle\script\aplica.sql
Feito !

PS: O PL/SQL Developer tem uma opção chamada Export User Objects, e ele monta um script assim dos objetos que você quiser.

:-o
muttley
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 15 Nov 2006 10:02 am
Localização: Cotia - SP
A Benção de Deus enriquece e não acrescenta dores

Por que o Script abaixo não me mostra os erros contidos na compilação do corpo da Package ? :(

Selecionar tudo

SET TIMING ON;
SET TIME ON;
SET LINESIZE 1000
SET SERVEROUTPUT ON
SET ECHO OFF
SPOOL C:\LOG_AJUSTA_CRM.LOG

@@PKG_AJUSTA_CRM_B.SQL;
show errors package_body sysadm.SYSADM.pkg_ajusta_CRM;
show errors package sysadm.SYSADM.pkg_ajusta_CRM;

commit;
SPOOL OFF
só me retornou isto

Selecionar tudo

QL> @C:\Marcelo\CARGA_CONTRATO_LOCA\Script_20070611\COMP2.SQL;
Started spooling to C:\LOG_AJUSTA_CRM.LOG

Warning: Package body created with compilation errors

Executed in 2.875 seconds
No errors for PACKAGE_BODY SYSADM.SYSADM.PKG_AJUSTA_CRM
No errors for PACKAGE SYSADM.SYSADM.PKG_AJUSTA_CRM

Commit complete

Executed in 0.031 seconds
Stopped spooling to C:\LOG_AJUSTA_CRM.LOG
:cry: :cry: :?:
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Tentou colocar nesta parte do teu código:

Selecionar tudo

@@PKG_AJUSTA_CRM_B.SQL; 
show errors package_body sysadm.SYSADM.pkg_ajusta_CRM; 
show errors package sysadm.SYSADM.pkg_ajusta_CRM; 

commit; 
SPOOL OFF 
Apenas:

Selecionar tudo

@@PKG_AJUSTA_CRM_B.SQL; 
show errors ; 

commit; 
SPOOL OFF 
???
muttley
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 24
Registrado em: Qua, 15 Nov 2006 10:02 am
Localização: Cotia - SP
A Benção de Deus enriquece e não acrescenta dores

Já sim, mas não funcionou, aliás estava assim e depois eu troquei[/quote]
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes