Site icon ScriptDBA.com

KILL sessioni UTENTE Oracle

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

 

Exit mobile version