Bagaimana Oracle tahu siapa saya?

12

Agak tidak penting tapi itu membuatku penasaran.

Saya baru saja masuk ke database Oracle 10g untuk pertama kalinya menggunakan Oracle SQL Developer Tools.

Saya menggunakan login pengguna umum yang bukan nama saya (nottstest2), dari mesin yang disebut sesuatu yang bukan nama saya (cukini). Nama saya tidak ada dalam database dan tidak terkait dengan login.

Namun, log server menunjukkan koneksi dari "Jon Hopkins".

Bagaimana dia tahu siapa aku? Apakah ini ditarik dari login Windows saya dalam beberapa cara (meskipun saya tidak menggunakan satu masuk)?

Jon Hopkins
sumber
22
Itu tidak disebut Oracle untuk apa-apa.
2
@AlexK. Pemikiran saya persis. Setiap hari ... :-)
Lukas Eder
2
Big Oracle sedang menonton ...

Jawaban:

15

Bagaimana Anda masuk courgette? Apakah nama pengguna itu mengidentifikasi Anda?

Anda dapat memeriksanya dengan menjalankan

select sys_context('userenv', 'os_user') 
from dual;

Ruang nama USERENV dapat mengambil banyak informasi berbeda tentang pengguna dan lingkungannya. Cari tahu lebih lanjut .

APC
sumber
6

Klien Oracle (driver alias) tahu siapa Anda di sistem operasi Anda (karena kode itu berjalan di komputer Anda ).

Informasi ini dikirimkan sebagai bagian dari proses login.

Bergantung pada aplikasi dan tipe driver Anda (OCI / JDBC) bahkan mengirimkan informasi seperti nama komputer Anda.

Jika Anda bisa, jalankan a SELECT * FROM v$session WHERE sid = userenv('SID')dan Anda akan melihat semua informasi yang diungkapkan pengemudi tentang lingkungan Anda.

Anda mungkin tidak dapat meminta sesi $ $ karena itu membutuhkan hak istimewa non-standar.

seekor kuda tanpa nama
sumber
1

Apakah Anda menggunakan server LDAP untuk mengotentikasi login (mis. Microsoft Active Directory, Novel eDirectory, dll.)? Oracle dapat menginterogasinya, berdasarkan login sesi OS Anda, seperti yang Anda sarankan, untuk mendapatkan nama asli Anda.

Xophmeister
sumber