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

java.sql.Connectionでホスト、ポート、sid、ユーザー、およびパスワードの情報を取得する方法

    セッションSID:

    SELECT sys_context('USERENV', 'SID') FROM DUAL;
    

    ORACLE_SID:

    SELECT sys_context('userenv','instance_name') FROM dual;
    

    ホスト(データベースマシン):

    SELECT UTL_INADDR.get_host_name FROM dual;
    

    パスワード:http://www.dba-oracle.com/t_password_storage.htm>

    クライアントサイドポート:

    Select port from v$session;
    

    クライアントプロセスに接続されたOracleサーバープロセスのサーバーOSPID

    SELECT p.spid
    FROM   v$process p, v$session s
    WHERE s.paddr = p.addr and 
    sys_context('USERENV', 'SID') = s.sid;
    

    サーバー側のポート:

    サーバープロセスのポートが最初のポートとは異なるポートにマップされるため、これは非常に困難です。たとえば、listener.ora / tnsnames.oraのポート12102は、リスナーによって任意の空きポートにマップされます(ちなみに、これが頻繁な理由です。ファイアウォールをシャットダウンする必要がありますが、ファイアウォールを介したマッピング後に接続を取得することはできません。これは修正できますが、これは別の話です)

    以下のコード



    1. LISTAGG関数:文字列連結の結果が長すぎます

    2. mysqliのOUTPUTInserted.row

    3. 同期が外れたときにpostgresの主キーシーケンスをリセットするにはどうすればよいですか?

    4. Javaを使用してMySQLからBLOBを読み取る