Newsgroup: it.comp.software.database
Titolo: [ORACLE] Spazio disco e efficienza

Secondo voi aumenta di molto lo spazio disco e l'efficienza del DB
se tolgo dal database tutti gli schemi di esempio (HR, OE QS)
e inoltre una volta droppate le relative tabelle
bisogna far girare qualche utility per liberare lo spazio disco?
grazie.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Secondo voi aumenta di molto lo spazio disco e l'efficienza del DB
Non dovrebbe cambiare una mazza come efficienza. Come spazio su disco,
se hai creato i database tutti nello stesso tablespace non cambiera'
nulla neanche li'.
Davide

 Davide
Visto che:
gli schemi di esempio sono tutti collegati al tablespace example
per ottenere il massimo di pulizia quindi credo non basti eliminare 
il file example.dbf ... dovrei effettuare un' elimina tablespace,
e poi esiste un comando per eliminare tutto uno schema?
e inoltre, dato un tablespace e' possibile vedere tutti gli schemi a lui
collegati?
arigrazie.


 collegati?
Ci sono varie "view" che ti consentono di sapere quali oggetti sono
nel tablespace. Consulta la documentazione.
Davide

 Davide
Il fatto e' che ci sono decine e decine di volumi...e' gia' difficile
capire su quale pdf cercare l'argomento...comunque credo ti riferisca 
ad Administrator guide... o no?


 ad Administrator guide... o no?
Si'. Altrimenti ci sono vari script di esempio su "Practical Oracle 8i"
di Lewis. Trovi l'ISBN sulle FAQ.
Davide

1. Se ricordo bene, se usi dbca (l'utility grafica di aiuto
 per la creazione dei db), puoi scegliere di evitare
 la creazione degli utenti di esempio.
 Questo può esserti di aiuto x la prossima volta
2. Se elimini gli utenti, con il comando
 SQL> drop user <nome utente> cascade;
 lo spazio che recuperi è quello all'interno del tablespace.
 Per recuperare definitivamente spazio su file system invece,
 devi droppare il tablespace stesso.
 Ovviamente su tablespace non devono esserci segmenti.
2.1 controllo degli oggetti sul tablespace
 come utente con privilegi di dba (utente system tipicamente):
 SQL> select username,object_name,object_type from dba_objects
 where tablespace_name='<NOME_DEL_TABLESPACE>'
 Attenzione! Il nome del tablespace tra gli apici deve essere
 in upper case (maiuscolo)
2.2 drop del tablespace
 dopo che hai eliminato i segmenti sul tablespace incriminato
 lo devi eliminare
 SQL> drop tablespace <nome_tablespace> including contents
	and datafiles;
 Attenzione! La cancellazione dei datafile come scritto sopra
 è vera per 9i. Se usi una release di oracle precedente, devi
 eliminare fisicamente il datafile con il comando rm di sistema
 operativo.
 SQL> drop tablespace <nome_tablespace> including contents;
 $ cd <directory dove esiste il datafile>
 $ rm <nome del datafile>
 Per conoscere il nome del datafile associato al tablespace,
 come utente con privilegi da dba devi;
 SQL> select file_name from dba_data_files
 where tablespace_name='<NOME_DEL_DATAFILE>';
Facci sapere

  Questo puņ esserti di aiuto x la prossima volta
SI pero' mi fa  costruire il DB senza i datafile 
il che, comporta un tempo di creazione molto piu' elevato...


 il che, comporta un tempo di creazione molto piu' elevato...
...mmmm....se ben ricordo, ti viene data la scelta tra 4 opzioni.
 Dovresti scegliere quella che dice "custom" e poi procedere.
 In alternativa, puoi provare a non creare subito il db, ma farti
 salvare gli script di creazione del db su file; aprire a mano
 (con il tuo editor di testo preferito) tali file, trovare il
 punto in cui viene lanciata la creazione degli schemi di
 esempio ed eliminarli.
 A questo punto puoi quindi lanciare il run.sh che richiama tutti
 gli altri file x creare il database.