Raspucin
Moderator Član broj: 20699 Poruke: 216 212.200.97.*
ICQ: 244452581
|
Upit koji sam ti poslao si trebao da izvrsis nad starom bazom, ali kako nje vise nema onda nije bitno, inace on treba da vrati koliko u tabelama koje se uopste ne koriste u toj semi... to sada nije bitno.
Ako taj export sadrzi te pakete, odnosno ako su uopste eksportovani onda ih je moguce izvuci. Ja bih to uradio nasledeci nacin. Kreirao bih nekog privremenog korisnika i onda bih uradio nesto ovako:
imp userid="""sys/change_on_install@ime_baze as sysdba""" file=ime_fajla.dat ignore=y
fromuser=SYS touser=novi_korisnik
onda ces kada se logujes kao korisnik koga si kreirao da izvrsis sledeci upit:
SELECT text FROM user_source WHERE name=UPPER('ime_paketa_koji_ti_treba');
tako ces da selektujes kod paketa, ali kazem samo ako je taj paket eksportovan.
Inace da bi radio import sa opcijama fromuser i touser, korisnik u koga importujes treba da ima dodeljenu privilegiju IMP_FULL_DATABASE inace ce se pojaviti greska.
Inace evo ti mali alat za "cupanje" koda iz baze:
set feedback off
set heading off
set termout off
set linesize 1000
set trimspool on
set verify off
spool &1..sql
prompt set define off
select decode( type||'-'||to_char(line,'fm99999'),
'PACKAGE BODY-1', '/'||chr(10),
null) ||
decode(line,1,'create or replace ', '' ) ||
text text
from user_source
where name = upper('&&1')
order by type, line;
prompt /
prompt set define on
spool off
set feedback on
set heading on
set termout on
set linesize 100
Ovaj upit uzima iz baze jednu funkciju/proceduru/paket i smesta je u radni direktorijum.
Inace ako hoces da "iscupas" sav kod iz jedne seme onda iskoristi sledeci skript:
----------getallcode.sql---------
set termout off
set heading off
set feedback off
set linesize 50
spool xtmpx.sql
select '@getcode ' || object_name
from user_objects
where object_type in ( 'PROCEDURE', 'FUNCTION', 'PACKAGE' )
/
spool off
spool getallcode_INSTALL
select '@' || object_name
from user_objects
where object_type in ( 'PROCEDURE', 'FUNCTION', 'PACKAGE' )
/
spool off
set heading on
set feedback on
set linesize 130
set termout on
@xtmpx.sql
Ovaj skript preuzima sve funkcije/pakete/procedure iz baze i kreira za svaku poseban skript i na kraju kreira jedan skript kojim se instaliraju sve procedure/funkcije/paketi koji se zove getallcode_INSTALL
Toliko,
Pozdrav
|