1. 使用login_user函数
2. 查询 v$session表
sql>connect / as sysdba
sql>grant select on v_$session to &user_name;
其实这个地方你只需要用
sql>select user to xxx from dual即可
user函数返回
当前连接的用户。
可以使用sys_context获取
当前登录
用户的各种信息
代码:
1 declare
2 v_session_user varchar2(200);
3 v_session_user_id varchar2(20);
4 os_user varchar2(20);
5 v_ip_address varchar2(20);
6 begin
7 v_session_user := sys_context('USERENV','SESSION_USER');
8 v_session_user_id := sys_context('USERENV','SESSION_USERID');
9 os_user := sys_context('USERENV','OS_USER');
10 v_ip_address := sys_context('USERENV','IP_ADDRESS');
11 dbms_output.put_line(v_session_user);
12 dbms_output.put_line(v_session_user_id);
13 dbms_output.put_line(os_user);
14 dbms_output.put_line(v_ip_address);
15* end;
SQL> /
SQL> connect databak/databak@anal
Connected.
SQL> @aaa.sql
PL/SQL procedure successfully completed.
SQL> set serveroutput on
SQL> /
|
阅读(2911) | 评论(0) | 转发(0) |