Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Có cách nào để lấy thông tin về phiên hiện tại từ gv $ session trong oracle không?

Hãy thử điều này:

SELECT SID, SERIAL#
FROM V$SESSION
WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID');

Vì bạn quan tâm đến phiên hiện tại, phiên hiện tại phải nằm trên phiên bản cục bộ (theo định nghĩa), vì vậy hãy sử dụng V$SESSION thay vì GV$SESSION . Ngoài ra, tất cả những gì bạn cần là AUDSID để xác định duy nhất phiên của bạn.

Nếu bạn có một số lý do, bạn thực sự cần sử dụng GV$SESSION (không thể tưởng tượng tại sao lại như vậy), bạn có thể làm điều này thay thế:

SELECT SID, SERIAL#
    FROM GV$SESSION
    WHERE AUDSID = Sys_Context('USERENV', 'SESSIONID')
      AND INST_ID = USERENV('Instance');

Ngoài ra, một cách thay thế để lấy SID của phiên hiện tại là:

select sid from v$mystat where rownum=1;

Hy vọng điều đó sẽ hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Blob dưới dạng img src trong trang PHP

  2. triển khai ứng dụng với nhà cung cấp OraOLEDB

  3. Làm cách nào để bạn ghi mảng vào db Oracle 10g XE bằng iBatis?

  4. kết nối oci_connect không thành công

  5. Oracle.ManagedDataAccess với Oracle 8.1.7 DB