Newsgroup: it.comp.software.database
Titolo: Trigger su Oracle

Ho la necessità di generare un backup incrementale di un'istanza di un db
oracle (9i).
Per me il massimo sarebbe generare un dump iniziale, dopodichè
scrivermi in un log tutte le sql lanciate sull'istanza
(insert/update/delete/drop/create, escludendo le select).
Questo mi permetterebbe di rigenerare il db importando il dump iniziale e
lanciando i file di storico così generati, e inoltre avrei uno storico delle
modifiche effettuate.
E' possibile realizzare questo creando un trigger su qualche tabella interna
di oracle, tipo la v$sqlarea?
Qualcuno ha qualche esempio? Controindicazioni :-) ?
Grazie!

...
Oracle ti permette di fare un backup e quindi si mantiene dei redo-log
che ti permettono di ricostruire il db in qualsiasi stato (basta
attivare l'opzione di salvataggio dei redo-log, altrimenti dopo un
paio di swap vengono sovrascritti)
con oracle9 c'e' un package che ti consente di fare query sul database
ad un dato istante, DBMS_FLASHBACK, appunto sfruttando i meccanismi di
backup di Oracle (senza interrompere il lavoro degli altri utenti,
utile ad esempio per recuperare dati modificati/cancellati anche dopo
una commit)
Greetings,
Alessandro Trebbi
Pesaro, Italy
http://www.b3soft.com



Se non erro, tale package riesce a recuperare le qyery svolte
dall'utente, ma solo per un arco prefissato di tempo.
Correggetimi se sbaglio ;-)
Simone

 Qualcuno ha qualche esempio? Controindicazioni :-) ?
Beh io ti consiglierei di leggerti il manuale di Rama Velpuri
sul becap & restore di oracol...
Quello che hai detto è praticamente improponibile, per una
serie di motivi che sarebbe troppo lungo spiegarti (una per
esempio è che i trigger non funzionano su statement DDL)
Oracol cmq ti permette di fare bu online... senza perdere (in
teoria) neanche un dato...
C'è anche in teoria un'altra alternativa (simile al quella
che ipotizzavi tu), quella di utilizzare LogMiner (leggi il
manuale e guarda se fa al caso tuo)...
Lascia perdere quella enorme megagalattica immensa colossale
ca%%ata delle flescbec (si legge flashback) query, non servono
a un'emerita ceppa... se non per fare degli scherzi stron%i ai
colleghi...
/G

 Correggetimi se sbaglio ;-)
E solo se c'è il vento a favore e la luna in fase calante...
Che cagata di ficiur (si legge feature)...
/G

 wrote in message
news:h8o9tuo3147oa5ud1...@4ax.com...


 esempio è che i trigger non funzionano su statement DDL)
create or replace trigger evita_ddl before create or drop or alter
on SIGRAIT.SCHEMA
begin
   raise_application_error (-20000, 'Non puoi modificare niente', TRUE);
end;
Di pure al tuo amico Rama Velpuri di aggiornare il suo manuale :)
(e usalo pure per fare scherzi ai tuoi colleghi, se ti diverte...)


I trigger su schema sono stati introdotti dalla 8i...
e sottolineo il fatto che sono su schema...
o meglio su oggetti appartenenti a quello schema
e quindi inutili (come quasi i trigger su DML)
Una delle classiche stronzate di Oracle... che inserisce
feature da una release all'altra senza che servano una
ceppa... (l'uniche cose di utile che hanno fatto dalla
versione 7 è solo sulla gestione fisica dei dati)
forse servono a qualche niubbo per dire... "mazza come
è potente oracol... ma sql server mica le fa ste cose"
O ci trovi qualche cosa di utile sui trigger di sistema?
/G
PS: non ti rispondo neanche su Rama Velpuri

 č potente oracol... ma sql server mica le fa ste cose"
Non so neanche cosa vuol dire niubbo, pero' mi sembra decisamente di
cattivo gusto offendere in questo modo (non credo sia un complimento)
Greetings,
Alessandro Trebbi
Pesaro, Italy
http://www.b3soft.com
P.S. Forse i trigger su dml possono servire proprio per rispondere
alla domanda iniziale di Fabrizio, che dici?

 alla domanda iniziale di Fabrizio, che dici?
ma manco per niente...
se la risposta a fare un BU è quella di utilizzare i trigger
su DML e DDL...
uau ragazzi... la voglio proprio vedere sta procedura di BU & Rec..
/G

 prova imho che la oracol non sa più che pesci prendere...
Io in genere faccio tutto su uno schema e do i grants agli altri
utenti su questo schema + sinonimi pubblici (cfr. Oracle8i handbook,
cap. 5, "Managing the development process")
quindi ho tutti gli altri schemi vuoti (tra l'altro senza neanche
tablespace per creare qualsiasi cosa)
