ORACLE : Quiescing database
Le modifiche allo schema, le riorganizzazioni o altre attività amministrative sono difficili da eseguire mentre gli utenti eseguono transazioni in tempo reale nel database. È necessario eseguire queste attività durante una manutenzione programmata oppure chiudere il database e riaprirlo in “modalità limitata”. Per ovviare a questo problema, “quescing database” dà la possibilità di mettere il database in modalità singola senza dover mai chiudere il database. Quando un database è in “stato inattivo”, si applicano le seguenti condizioni:
-
A tutte le sessioni inattive viene impedito di emettere comandi di database fino a quando il database non si trova nello “stato non disattivato“.
-
Tutte le sessioni attive possono essere compilate. Tutti i nuovi tentativi di accesso verranno messi in coda.
-
Un utente che tenta di accedere durante il periodo in cui il database è in uno “stato inattivo” non riceverà un messaggio di errore
-
. Nel database saranno consentite solo query dba, transazioni e istruzioni plsql. Per essere più precisi, sono consentite query e istruzioni da parte di tutti gli utenti nel gruppo SYS_GROUP di Oracle Resource Manager.
Per mettere un database in “stato inattivo“:
SQL> Alter system quiesce restricted;
System altered.
Per mettere un database in “stato non disattivato“:
SQL> Alter system unquiesce;
System altered.
Una volta che il database è disattivato, tutti gli accessi in coda sono consentiti nel database e tutte le transazioni inattive possono nuovamente diventare attive consentendo loro di eseguire le istruzioni DML.