Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 39 di 41
  • livello principiante
Indice lezioni

SHUT DOWN e STARTUP

Come avviare ed arrestare il server e cosa avviene durante queste procedure
Come avviare ed arrestare il server e cosa avviene durante queste procedure
Link copiato negli appunti

Nelle prime lezioni della guida abbiamo parlato brevemente dell'istanza, ovvero l'insieme di precise aree di memoria, che nel complesso formano la SGA, e dei processi di background. Le dimensioni delle aree di memoria che formano l'SGA sono stabilite da parametri di inizializzazione.

Area di memoria parametro
Database Buffer Cache DB_CACHE_SIZE
Redo Log Buffer LOG_BUFFER
Shared Pool SHARED_POOL_SIZE
Large Pool (opzionale) LARGE_POOL_SIZE
Java Pool (opzionale) JAVA_POOL_SIZE

I processi di background sono riconoscibili attraverso sigle.

Processo sigla
Database Writer DBWn
Log Writer LGWR
Checkpoint CKPT
System Monitor SMON
Process Monitor PMON
Archiver ARCn
Recoverer RECO
Dispatcher Dnnn
Shared Server Snnn

Per informazioni più dettagliate sulla SGA dell'architettura Oracle9i Server possiamo leggere questa lezione in lingua inglese.

Nota: per eseguire lo shutdown o lo startup di un database dobbiamo collegarci al DB con privilegio SYSDBA e quindi essere utenti del SO nel gruppo ORA_DBA. Possiamo anche usare un pc con software Oracle Client, quindi remoto, purché l'utente del sistema operativo sia sempre inserito nel gruppo ORA_DBA sul pc dove è installato Oracle Server.

Gli esempi che seguono sono stati eseguiti con collegamento al database "ARCHIVIO", direttamente sul pc dove è installato Oracle Server.

SHUTDOWN

Eseguire l'operazione di shutdown significa arrestare il database ed eliminare temporaneamente le istanze terminando tutti i relativi processi, in particolare quando creiamo un nuovo database viene generato un servizio di sistema (del SO) per la partenza dell'istanza associata. Questo servizio (da non confondere con i servizi di rete) spesso è configurato per partire automaticamente all'avvio del sistema operativo.

Avviata l'operazione di shutdown di un database, Oracle compie alcune azioni:

  1. scrive il contenuto dell'area di memoria Redo Log Buffer nei redo log file. Tutti i dati modificati dagli utenti con i comandi INSERT, UPDATE e DELETE presenti al momento nel "Database Buffer Cache" vengono salvati nei corrispondenti data file;
  2. chiude i data file e i redo log file. I control file, invece, continuano a rimanere aperti ma il database non è più disponibile per le classiche attività degli utenti, nessuno può più collegarsi fino al successivo startup;
  3. l'istanza smonta il database. Smontare il database significa chiusura dei control file, mentre le aree di memoria allocate e i processi di background continuano ad essere in esecuzione;
  4. l'istanza viene terminata: l'SGA viene eliminata dalla memoria RAM del computer e i processi di background sono anch'essi terminati.

SHUTDOWN NORMAL dell'istanza Oracle.

È la procedura di arresto "normale" che consente a chi sta lavorando di terminare il proprio lavoro prima di terminare l'istanza di ogni utente.

Per esempio apriamo una finestra DOS e colleghiamoci al database come amministratori di sistema (con autenticazione del sistema operativo), poi procediamo con lo shutdown del DB e dell'istanza associata.

SQL> SHUTDOWN NORMAL
Database chiuso.
NOMOUNT del database eseguito.
Istanza ORACLE chiusa.

Oracle adotta questo comportamento:

  1. non consente nuove connessioni al database;
  2. attende che tutti gli utenti ancora connessi si disconnettano dal database. Questo significa che tutti i client connessi continuano tranquillamente a lavorare;
  3. quando l'ultimo client connesso ha effettuato la disconnessione, Oracle chiude il database, smonta l'istanza e la termina.

SHUTDOWN IMMEDIATE dell'istanza Oracle

Diversamente dal precedente esempio, se usassimo il comando SHUTDOWN IMMEDIATE Oracle:

  1. non consente nuove connessioni al database;
  2. termina tutte le connessioni attive al database, senza attendere che gli utenti finiscano il loro lavoro;
  3. effettua un ROLLBACK di tutte le operazioni non salvate dal COMMIT;
  4. chiude il database, smonta l'istanza e la termina.

Questo comando è da usare con molta cautela perché gli utenti collegati potrebbero perdere una parte del loro lavoro (vedi punto 3).

STARTUP dell'istanza Oracle

Lo startup consiste nell'avvio del server ed è un processo complesso che possiamo brevemente riassumere in questi tre passi:

  1. partenza dell'istanza associata al database;
  2. l'istanza monta il database;
  3. l'istanza apre il database per il normale utilizzo.

Per fare un esempio apriamo una finestra DOS e colleghiamoci al database come amministratori.

Collegamento al server

Collegamento al server

Poi digitiamo

SQL> STARTUP
Risultato dell'operazione

Ora il database è pronto a ricevere le connessioni da parte dei client remoti. Quando eseguiamo il comando STARTUP Oracle procede in questo modo:

  1. inizialmente alloca le aree di memoria della SGA ed avvia i processi di background;
  2. monta il database ma non lo apre. Montare il database significa aprire i corrispondenti control file;
  3. infine apre il database.

Se Oracle non ha sollevato alcun errore in nessuna delle tre fasi allora il database è pronto per l'accesso da parte degli utenti.

Ti consigliamo anche