View Full Version : importare .sql in oracle
mistergks
08-02-2017, 20:38
ho un database creato in un pc...
ora voglio passarlo su un altro pc e quindi una nuova installazione...
il dbms è oracle 11g express edition...tramite sql developer esporto il file .sql dal vecchio pc...
e non so come fare per importarlo sul nuovo!
ho provato a creare un nuovo foglio sql e incollare il contenuto del file .sql da importare ma mi da errore.
Uno tra tanti: "Report error -
ORA-01435: user does not exist
01435. 00000 - "user does not exist" "
come risolvo? ho provato anche tramite sql developer da file-data modeler-importa...
ma non vengono importate
ciao, non ho capito.
hai già il db di arrivo e devi solo copiare delle parti? (nel caso devi creare l'utente con i permessi)
oppure devi creare anche il db?
pabloski
09-02-2017, 11:19
visto che il dbms e' oracle su entrambe le macchine, perche' non usare un dump? http://oracolodeidb.blogspot.it/2008/10/oracle-e-i-backup-parte-ii.html
mistergks
09-02-2017, 12:03
ciao, non ho capito.
hai già il db di arrivo e devi solo copiare delle parti? (nel caso devi creare l'utente con i permessi)
oppure devi creare anche il db?
Devo copiarlo tutto
mistergks
09-02-2017, 12:04
visto che il dbms e' oracle su entrambe le macchine, perche' non usare un dump? http://oracolodeidb.blogspot.it/2008/10/oracle-e-i-backup-parte-ii.html
Ho trovato anche il comando da interfaccia grafica in sql developer senza usare il prompt!
Va bene uguale?
pabloski
09-02-2017, 14:51
Ho trovato anche il comando da interfaccia grafica in sql developer senza usare il prompt!
Va bene uguale?
E' un IDE creato da Oracle per il suo DBMS, quindi suppongo implementati le medesime funzionalita' di sqlplus.
Ciao,
se usi il comando è più veloce ;)
la guida di pabloski va benone :)
mistergks
09-02-2017, 17:04
Ciao,
se usi il comando è più veloce ;)
la guida di pabloski va benone :)
Ma cosi esporta tutto il database completo di dati!? Non ho capito
pabloski
10-02-2017, 08:32
Ma cosi esporta tutto il database completo di dati!? Non ho capito
si, il dump comprende schema e dati
mistergks
21-02-2017, 17:07
si, il dump comprende schema e dati
Ho provato ad effettuare il dump del database completo
Ho aperto sql developer e cliccato su view e poi DBA
Comparsa la finestra DBA, ho inserito connessione e ho avviato data pump export wizard. A quel punto ho selezionato database (dovevo fare schemi o tabelle?) e pare l'abbia creata..
Non ho capito come fare per salvare il dump e importarlo su un altro pc!
Non riesco a trovare il percorso del file
pabloski
22-02-2017, 11:04
A quel punto ho selezionato database (dovevo fare schemi o tabelle?)
dipende da cosa vuoi fare
schemi significa che esporta solo la struttura delle tabelle, senza i dati contenuti
riguardo il file non saprei dove lo mette, personalmente preferisco usare sqlplus da riga di comando
mistergks
22-02-2017, 12:00
dipende da cosa vuoi fare
schemi significa che esporta solo la struttura delle tabelle, senza i dati contenuti
riguardo il file non saprei dove lo mette, personalmente preferisco usare sqlplus da riga di comando
Voglio semplicemente trasferire tutto da un computer ad un altro computer e quindi nuova macchina e nuova installazione.
Sarebbe per una web application.
Ho provato ad esportare un file .sql ma non so se è il db completo.
mistergks
22-02-2017, 15:24
Voglio semplicemente trasferire tutto da un computer ad un altro computer e quindi nuova macchina e nuova installazione.
Sarebbe per una web application.
Ho provato ad esportare un file .sql ma non so se è il db completo.
Il data pump non so in quale cartella esporta...
pabloski
22-02-2017, 18:00
Ho provato ad esportare un file .sql ma non so se è il db completo.
Aprilo con un editor e vedi se ci sono anche le istruzioni DML.
mistergks
22-02-2017, 18:29
Aprilo con un editor e vedi se ci sono anche le istruzioni DML.
L'ho aperto e ci sono istruzioni DDL e c'è anche l'inserimento dei valori tipo INSERT TO. Ma come faccio a importare il file .sql? ho incollato tutto il file in un foglio bianco di sql developer e ho cliccato su "esegui script" ma ricevo una marea di errori tipo:
Report error -
ORA-01435: user does not exist
01435. 00000 - "user does not exist"
*Cause:
*Action:
comunque sono riuscito a trovare la directory e quindi ho esportato il database in un file .DMP
Ho preso il file (di circa 100 mb) e ho cercato di importarlo su oracle sql developer del nuovo computer...ma ricevo un errore:
Eccezione: ORA-39002: invalid operation
dbms_datapump.get_status(44...)
ORA-39002: invalid operation
ORA-39059: dump file set is incomplete
ORA-39246: cannot locate master table within provided dump files
Come posso risolvere?
pabloski
23-02-2017, 08:23
Nel primo caso dice che manca l'utente. Ovviamente devi ricreare lo stesso utente che avevi sull'altro dbms.
Nel secondo caso dice che mancano delle tabelle, quindi il dump non e' stato fatto correttamente.
Se usi la riga di comando, puoi usare i comandi EXP e IMP per gestire i dump.
EXP system/systempwd file=nomedump.dmp owner=utente_proprietario_db
IMP system/systempwd FILE=nomedump.dmp FROMUSER=utente_proprietario_db TOUSER=nuovo_utente_proprietario_db
utente_proprietario_db e nuovo_utente_proprietario_db possono benissimo coincidere, cioe' semplicemente crei il medesimo utente in entrambi i dbms
caso mai stessi testando l'operazione sullo stesso computer, tieni presente che l'importazione di un dump non elimina le tabelle preesistenti di un utente, per cui ti darebbe errore durante l'importazione...le tabelle vanno eliminate, oppure elimini direttamente l'utente e poi procedi a ricrearlo e successivamente all'importazione
mistergks
23-02-2017, 10:25
Nel primo caso dice che manca l'utente. Ovviamente devi ricreare lo stesso utente che avevi sull'altro dbms.
Nel secondo caso dice che mancano delle tabelle, quindi il dump non e' stato fatto correttamente.
Se usi la riga di comando, puoi usare i comandi EXP e IMP per gestire i dump.
EXP system/systempwd file=nomedump.dmp owner=utente_proprietario_db
IMP system/systempwd FILE=nomedump.dmp FROMUSER=utente_proprietario_db TOUSER=nuovo_utente_proprietario_db
utente_proprietario_db e nuovo_utente_proprietario_db possono benissimo coincidere, cioe' semplicemente crei il medesimo utente in entrambi i dbms
caso mai stessi testando l'operazione sullo stesso computer, tieni presente che l'importazione di un dump non elimina le tabelle preesistenti di un utente, per cui ti darebbe errore durante l'importazione...le tabelle vanno eliminate, oppure elimini direttamente l'utente e poi procedi a ricrearlo e successivamente all'importazione
Basta creare solo lo stesso utente e poi dovrebbe importare il tutto col file sql?
Quindi è come fare il dump?
Il dump è un unico file solitamente? Perche io prima non trovando la directory, ho esportato piu volte e ora che l'ho trovata ho notato che ci sono parecchi files.
Peró io ho preso quello piu recente
pabloski
23-02-2017, 12:18
Basta creare solo lo stesso utente e poi dovrebbe importare il tutto col file sql?
Quindi è come fare il dump?
Puoi creare un qualsiasi utente, cioe' puoi benissimo cambiare nome utente. L'importante e' che ti logghi con quell'username quando accedi per eseguire lo script SQL.
Il dump invece viene gestito da due utility di Oracle, che ti permettono di scegliere l'username da usare.
Entrambi i metodi fanno la stessa cosa, ma il dump e' binario, quindi piu' veloce. Ma se e' un db con pochi dati, uno vale l'altro.
Il dump è un unico file solitamente?
Si.
Perche io prima non trovando la directory, ho esportato piu volte e ora che l'ho trovata ho notato che ci sono parecchi files.
Peró io ho preso quello piu recente
No, dipende dalla quantita' di dati. Comunque un dump multifile e' facilmente riconoscibile per il fatto che i file hanno lo stesso nome e un suffisso numerico.
mistergks
23-02-2017, 16:37
Puoi creare un qualsiasi utente, cioe' puoi benissimo cambiare nome utente. L'importante e' che ti logghi con quell'username quando accedi per eseguire lo script SQL.
Il dump invece viene gestito da due utility di Oracle, che ti permettono di scegliere l'username da usare.
Entrambi i metodi fanno la stessa cosa, ma il dump e' binario, quindi piu' veloce. Ma se e' un db con pochi dati, uno vale l'altro.
Si.
No, dipende dalla quantita' di dati. Comunque un dump multifile e' facilmente riconoscibile per il fatto che i file hanno lo stesso nome e un suffisso numerico.
Ho messo lo stesso utente e ho eseguito lo script...
Peró ora mi da errori diversi.
Ha copiato le tabelle ma su alcune viste e trigger c'è una crocetta rossa.
Allego foto del log
https://uploads.tapatalk-cdn.com/20170223/2a02c4d87e8bce851d0059516e3166b5.jpg
pabloski
23-02-2017, 17:20
Manca qualcosa https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_smtp.htm#CHDHHBJD
mistergks
23-02-2017, 17:37
Manca qualcosa https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_smtp.htm#CHDHHBJD
Cosa? Puo essere che uso una porta diversa? O che vada modificato il file xml di configurazione?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.