sql >> Database >  >> RDS >> Oracle

Verlopen databasewachtwoord en nog steeds levende verbindingen

Als een gebruikerswachtwoord verloopt in het midden van een reeds tot stand gebrachte verbinding (sessie), zal het een gebruikerssessie niet beëindigen - de sessie zal niet automatisch worden gesloten. De gebruiker kan doorgaan en wordt gevraagd (SQL*PLUS of andere tools) om zijn/haar wachtwoord te wijzigen bij de eerste poging om in te loggen na de vervaldatum. Dat het juiste gedrag. Laat een gebruiker afmaken wat hij/zij al is begonnen. Als je in staat bent om een ​​verbinding te sluiten die een gebruikerssessie beëindigt direct na het verstrijken, zul je het waarschijnlijk niet schoon doen en zal het werk van de gebruiker verloren gaan.

Bewerken

Laten we eerst de sessie en verbinding definiëren. Sessie is een logische entiteit en verbinding is een fysieke. En op één verbinding kunnen 0 tot n sessies tot stand worden gebracht (u kunt het testen met sql*plus CLI en informatie van v$process visie). Het verlopen van het wachtwoord neigt dus meer naar een gebruikerssessie dan naar verbinding en wanneer een gebruiker uitlogt, houdt zijn sessie op te bestaan, maar de verbinding kan nog steeds tot stand worden gebracht en gesloten wanneer een clienttoepassing wordt gesloten.

Ja het is mogelijk. als u er absoluut zeker van bent dat een gebruiker of een toepassing zijn werk gedaan heeft en gewoon bent vergeten een sessie af te sluiten, kunt u alter system kill session <<SID>>, <<Serial_Number>> gebruiken om te doden (je moet worden verleend alter system privilege ) de sessie(s).

U kunt een profiel maken met IDLE_TIME optie opgegeven.

create profile <<Profile_name>> limit idle_time <<num_of_minutes>>

en wijs het toe aan een gebruiker. Wanneer een inactiviteitstijd van een sessie - tijd waarop een sessie geen SQL-aanroepen doet, groter is dan <<num_of_minutes>> Oracle zal de huidige transactie terugdraaien en die sessie beëindigen.

U kunt het beëindigen van een verbinding die niet meer in gebruik is ook configureren door SQLNET.EXPIRE_TIME in te stellen. parameter , in minuten, in de sqlnet.ora het dossier.




  1. Tijdstempel retourneren met voorbereide verklaring

  2. HTML opslaan in MySQL:blob of tekst?

  3. Barker's notatie

  4. Hoe lid te worden van mysql-tabellen