Finora abbiamo operato sul database Seed, incorporando al suo interno le tabelle dell'utente HR. Focalizziamo ora l'attenzione sulla creazione di un nuovo database cercando di definire una procedura da utilizzare per ogni progetto.
Progettazione del nuovo DB
Eseguiamo "Database Configuration Assistant" e scegliamo l'opzione "Creare un database" (Passo 1 di 8), quindi "New database" (Passo 2 di 8). Al passo 3 di 8 dobbiamo scegliere il nome per il nuovo database e il relativo SID.
Per le nostre prove abbiamo scelto "ARCHIVIO" come nome di database globale e "ARCH" come SID, ma siamo liberi di scegliere nomi differenti purché non in uso con altri database Oracle sullo stesso pc.
Al passo successivo dobbiamo disattivare tutte le opzioni che riguardano caratteristiche avanzate e cancellare i relativi tablespace.
Clicchiamo su "Funzioni standard del database" e disattiviamo, anche qui, tutte le opzioni elencate.
Al passo 5 di 8 scegliamo l'opzione "Modalità server dedicato" e, in quello successivo, accettiamo l'opzione di memoria "Personalizzato". Abbiamo disattivato l'opzione JVM, quindi la "Pool Java" risulta di 0 MB.
Nella sezione "Posizione dei file" ricordiamoci di disattivare l'opzione "Crea file parametri del server (spfile)". Ora possiamo creare il DB o salvare lo script: optiamo per la prima scelta.
Infine assegnamo le password per gli utenti SYS e SYSTEM. Ricordiamo di non usare parole simili per i due utenti, né facilmente identificabili.
Modalità di connessione
Quanto abbiamo già visto al riguardo vale per tutti i nuovi database, purché si adattino di caso in caso la variabile oracle_sid
per la connessione locale ed il servizio di rete per la modalità rete.
Connessione in locale
Dalla riga di comando impostiamo la variabile di ambiente oracle_sid
ed eseguiamo SQL* Plus.
C:>set oracle_sid=arch C:>sqlplus
Effettuiamo il login con l'utente SYSTEM, non avendo ancora a disposizione altri utenti.
Connessione con servizio di rete
Eseguiamo "Net Manager". Verifichiamo che Oracle non abbia creato automaticamente un servizio di rete per la connessione al nuovo DB. Se così fosse possiamo procedere selezionando "Denominazione dei servizi" ed aggiungendo un nuovo servizio di rete con il pulsante "+" di colore verde. Infine gli assegnamo un nome, ad esempio "arch-serv".
Nella finestra dei protocolli di rete scegliamo "TCP/IP (Protocollo Internet)". Al passo 3 di 5 indichiamo, con "nome host", il pc sul quale si trova il nostro database Oracle. Scriviamo il nome del nostro computer (se di nostra conoscenza) o l'indirizzo IP (127.0.0.1
indica la macchina locale). La porta è sempre la 1521
, come per "Seed", che indica la "locazione" di ascolto del listener. Possiamo anche creare più listener purché in ascolto su porte differenti.
Al passo 4 di 5 indichiamo il "nome del database globale" che abbiamo deciso nella fase di creazione del DB (passo 3/8 del DBCA). Nel nostro caso è "ARCHIVIO". Testiamo la connessione al DB "ARCHIVIO" premendo "Cambia login" e inserendo le credenziali per l'utente SYSTEM.
Premiamo in successione i pulsanti "OK" e "Test". Se tutto è corretto il test di connessione ha esito positivo. Salviamo la configurazione di rete con l'apposita voce nel menu "File". Eseguiamo SQL* Plus in modalità grafica e inseriamo nuovamente le credenziali per l'utente SYSTEM.
Una volta collegati come SYSTEM creiamo un nuovo utente. Infatti SYSTEM è un account amministrativo mentre abbiamo la necessità di avere un utente che sarà il proprietario delle tabelle che creeremo.
SQL> CREATE USER myself IDENTIFIED BY mypassword 2 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP 3 QUOTA UNLIMITED ON USERS;
Tratteremo degli utenti più avanti, intanto interpretiamo le impostazioni causate dall'istruzione precedente.
- L'utente si chiama "myself";
- la password è "mypassword";
- il tablespace in cui l'utente "myself" memorizzerà le sue tabelle è "USERS";
- il tablespace in cui memorizzare gli ordinamenti temporanei (
ORDER BY
) dell'utente "myself" è "TEMP"; - spazio illimitato per la creazione di oggetti nel tablespace "USERS".
L'utente è stato creato ma non ha il diritto di connessione ad Oracle. Concediamoglielo.
SQL> GRANT CONNECT TO myself;
Il precedente comando concede, inoltre, all'utente myself il diritto a creare oggetti nel proprio schema. Verifichiamo quindi l'accesso con utente "myself".