sql >> データベース >  >> RDS >> Oracle

期限切れのデータベースパスワードとまだ有効な接続

    ユーザーパスワードの有効期限が途中で発生した場合 すでに確立されている接続(セッション)の場合、ユーザーセッションは終了しません。セッションは自動的に閉じられません。ユーザーは、有効期限が切れた後の最初のログイン試行時に、続行してパスワードの変更を求めるプロンプト(SQL * PLUSまたはその他のツール)を使用できます。その正しい行動。ユーザーがすでに開始したことを終了できるようにします。有効期限が切れた直後に接続を閉じてユーザーセッションを強制終了できる場合は、おそらくそれをクリーンアップせず、ユーザーの作業が失われます。

    編集

    まず、セッションと接続を定義しましょう。セッションは論理エンティティであり、接続は物理エンティティです。また、1つの接続で0からnのセッションを確立できます(sql *plusCLIとv$processの情報を使用してテストできます) 見る)。したがって、パスワードの有効期限は接続よりもユーザーセッションに傾いており、ユーザーがログアウトするとセッションは存在しなくなりますが、クライアントアプリケーションを閉じても、接続を確立して閉じることができます。

    はい、可能です。ユーザーまたはアプリケーションが作業を完了したことを絶対に確信していて、単にセッションを閉じるのを忘れた場合は、alter system kill session <<SID>>, <<Serial_Number>>を使用できます。 殺す(alter system privilegeを付与する必要があります )セッション。

    プロファイル を作成できます。 IDLE_TIMEを使用 オプションが指定されています。

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

    そしてそれをユーザーに割り当てます。セッションの非アクティブ時間-セッションがSQL呼び出しを行っていない時間が<<num_of_minutes>>を超えた場合 Oracleは現在のトランザクションをロールバックし、そのセッションを終了します。

    SQLNET.EXPIRE_TIMEを設定して、使用されなくなった接続の終了を構成することもできます。 パラメータ 、分単位で、sqlnet.ora ファイル。




    1. MariaDBでのDAYNAME()のしくみ

    2. #1055-SELECTリストの式がGROUP BY句になく、集計されていない列が含まれています。これはsql_mode=only_full_group_byと互換性がありません。

    3. JavaScriptプロキシを使用してSQLiteでブール値を処理する方法

    4. C および埋め込み SQL を使用して Oracle で CLOB を選択する