KILL sessioni UTENTE Oracle

Pubblicato da Alessandro Caredda il

Se stai cercando di eseguire il “KILL sessioni utente Oracle”, sei nel posto giusto!

Durante la fase di eliminazione di uno SCHEMA, è spesso accaduto che sessioni connesse al database ostacolino il processo, generando il classico errore ORA-01940: impossibile eliminare un utente attualmente connesso.

Questa situazione si verifica tipicamente durante l’allineamento dei dati da ambienti di produzione a ambienti di test. Prima di avviare il processo di importazione, cerco di eliminare l’utente solo per non incontrare l’errore ORA-01940.

Quindi, cosa si può fare in questi casi?

Un approccio pratico prevede di identificare le sessioni Oracle associate all’utente connesso.

Innanzitutto, è essenziale determinare se queste sessioni provengono da un server applicativo o se sono connessioni dirette da altri client.

Se desideri esaminare tutte le sessioni appartenenti a un utente specifico, puoi utilizzare la query fornita nell’articolo associato per ottenere i dettagli su ciascuna sessione.

Tuttavia, cosa succede se il tempo è essenziale e non è possibile attendere test estesi?

Nessun problema.

L’obiettivo è terminare tutte le sessioni dell’utente Oracle attualmente connesse al database.

Ciò può essere realizzato eseguendo la seguente query:

KILL sessioni UTENTE Oracle

select  'alter system kill session ''' || sid || ',' || serial# ||''' immediate;' 
from gv$session where USERNAME = '&USERNAME';

Se dopo la disconnessione trovi nuove sessioni, il problema probabilmente è dovuto al server dell’applicazione che mantiene connessioni persistenti.

Quando possibile, cerchiamo di chiudere queste connessioni. Tuttavia, se la chiusura non è immediatamente possibile, ricorriamo a misure più strategiche.

Per consentire tali azioni, l’utente deve avere il suo ACCOUNT_STATUS nella vista DBA_USERS impostato su OPEN, indicando uno stato SBLOCCATO.

Per affrontare il problema, impostiamo esplicitamente lo stato dell’utente su LOCK utilizzando il seguente comando:

alter user PIPPO account LOCK;

Per visualizzare le mie guide sui comandi CRS:clicca qui!
In questo LINK, invece, trovare gli statement SQL.

Resta aggiornato sulle nostre attività unendoti alla nostra comunità:
Facebook
Youtube
Linkedin

 


0 commenti

Lascia un commento

Segnaposto per l'avatar