Newsgroup: it.comp.software.database
Titolo: Creare script per Oracle per creare database

Salve a tutto il NG
ho creato un DB con oracle scrivendo su un foglio notepad tutte le 
istruzioni sql per creare tabelle, trigger e sequence.
Ora quando devo creare il DB ex novo, devo copiare il contenuto di questi 
file nome.sql e incollarli in sql Plus di Oracle.
C'è un modo, invece di fare copia e incolla, per creare qualche script che 
in automatico si prende il contenuto di questi file .sql e o li mette in sql 
Plus o crea direttamente il DB?
Ringrazio tutti per le risposte 


SQL> @/path/to/nome.sql
esegue il contenuto del file /path/to/nome.sql, anche senza .sql alla fine.
Bye
-- 
Rudy
http://rdbland.blogspot.com/
e-mail a 
email.it

 fine.
Qundi se i miei file si trovano nella cartella c:\tab_oracle\tab1.sql, basta 
che scrivo da SQL plus
SQL>c:\tab_oracle\tab1.sql
giusto?
eventualmente potrei creare un file che mi permette di aprire anche in 
automatico SQL plus ed eseguire il file?
Se si, come dovrei fare?
grazie mille per l'info 

 Se si, come dovrei fare?
sqlplus system/manager @c:\tab_oracle\tab1.sql
Non uso Windows da molto tempo, ma dovrebbe essere cosě.
Bye
-- 
Rudy
http://hillrudy.blogspot.com/
e-mail a 
email.it

 ha scritto nel messaggio 
news:WdSkg.5153$_J1....@twister2.libero.it...

lo devo mettere in un file .bat?giusto
Grazie mille
provo e ti facio sapere 

 ha scritto nel messaggio 
news:WdSkg.5153$_J1....@twister2.libero.it...

dimenticavo
system/manager č l'utente e la relativa pw?
i file .sql possono essere di qualsiasi lunghezza?
dal momento che ci sono dei commenti in questi file, come devo escluderli 
senza cancellarli, per non avere errori con sqlplus?
grazie ancora 

> sqlplus system/manager @c:\tab_oracle\tab1.sql
non capisco come mai, se faccio un copia e incolla di ciň che ho scritto nei 
file .sql va tutto bene, se invece gli do direttamente il file, mi inizia a 
dare errori sulla sintassi....come mai? 

 
Ciao,
non si può usare system come utente per creare un database.
Due i motivi:
1. system e' un utente nel DB e questo non esiste ancora,
2. system non ha normalmente nemmeno i permessi per uno shutdown del DB 
(figuriamoci per crearne uno).
Solitamente cio' che si fa e' creare prima un password file per la 
futura istanza, quindi ci si connette come sysdba e si creano istanza e 
database.
Se vuoi un consiglio: fatti generare gli script dal dbca. Avrai anche i 
file .bat per poter usare il tutto in modalita' batch.
buona domenica
-- 
Fabrizio Magni
fabrizi...@mycontinent.com
replace mycontinent with europe

 file .bat per poter usare il tutto in modalita' batch.
grazie mille per l'info
mi dici come dovrei fare? 

 non si può usare system come utente per creare un database.
Azz, una svista colossale :-P
Non consideravo che stava creando il db.
Pardon.


 senza cancellarli, per non avere errori con sqlplus?
Non c'č problema.


 Pardon.
sinceramente ho sempre creato l'utente del mio DB con l'utente system e poi 
loggatomi con il nuovo utente e da lě create le tabelle
E' sbagliata come procedura? 

 E' sbagliata come procedura? 
Stiamo parlando di cose diverse.
Per "creare un database" si intende il comando CREATE DATABASE, che ha
bisogno di privilegi da SYSDBA.
Il tuo problema è creare tabelle ecc. con uno script all'interno di uno
schema già esistente e presumibilmente vuoto.
La tua procedura non è sbagliata. Nel tuo caso dbca non serve.
Esegui il tuo script da sqlplus con l'utente corretto, sostituendo
system/manager con il tuo utente/password.
Bye
-- 
Rudy
blog: 
http://rdbland.blogspot.com/
e-mail a 
email.it

 system/manager con il tuo utente/password.
il fatto č che se faccio copia e incolla dal mio file .sql in sqlplus, 
loggandomi con il mio utente, va tutto bene, se invece gli passo tutto il 
file con la procedura suggeritami, mi da errori su alcune righe...com'č 
possibile?!? 

 possibile?!? 
Se non posti l'errore e le righe in questione, sarà difficile capire.


> Se non posti l'errore e le righe in questione, sarà difficile capire.
rettifico, ho tolto alcuni commenti dai file e funziona ;-)
i file .sql in questione sono questi
1_UserETable.SQL
2_Sequence.SQL
3_tabelle.SQL
4_alter.SQL
5_constraint.SQL
TABFile.SQL
e li ho scritti in questo modo in un file .bat
sqlplus system/unisa @C:\Tab\1_UserETable.SQL
exit
sqlplus dbvrlab/dbvrlab @C:\Tab\2_Sequence.SQL
exit
sqlplus dbvrlab/dbvrlab @C:\Tab\3_tabelle.SQL
exit
sqlplus dbvrlab/dbvrlab @C:\Tab\4_alter.SQL
exit
sqlplus dbvrlab/dbvrlab @C:\Tab\5_constraint.SQL
exit
sqlplus dbvrlab/dbvrlab @C:\Tab\TABFile.SQL
exit
però non me li esegue tutti ma si ferma solo al primo file.
come devo fare per farli eseguire tutti da un solo file .bat?

 
Se l'exit e' all'interno del bat allora forzerà la chiusura della shell 
non eseguendo i comandi successivi.
E' piu' probabile che tu voglia l'exit all'interno dei tuoi screipt .sql.
Ciao


 E' piu' probabile che tu voglia l'exit all'interno dei tuoi screipt .sql.
grazie mille, funziona alla grande!!!
č possibile dare un percorso assoluto ai file sql? in modo da non dover 
cambiare il percorso se si sposta la cartella con i file sql