Oft wird spekuliert, ob überhaupt das Recht für ALTER SESSION vergeben sein muss, um den Befehl verwenden zu können. Das dies im Bereich von NLS nicht benötigt wird, ist sicher bekannt. Aber auch für CURRENT_SCHEMA ist das nicht nötig und hier ist unter 11g der Beweis:
grant connect to h_user identified by xxx;
Grant succeeded.
SYS@TESTT11 SQL>grant connect to t_user identified by xxx;
Grant succeeded.
SYS@TESTT11 SQL>create table h_user.tt (tet number) ;
Table created.
SYS@TESTT11 SQL>grant select on h_user.tt to t_user ;
Grant succeeded.
SYS@TESTT11 SQL>connect t_user
Enter password:
Connected.
Loading login.sql file…
H_USER@TESTT11 SQL>desc h_user.tt
Name Null? Type
———————————————— ——– ————-
TET NUMBER
H_USER@TESTT11 SQL>alter session set current_schema=h_user;
Session altered.
H_USER@TESTT11 SQL>desc tt
Name Null? Type
————————————————- ——– ————–
TET NUMBER
Gruß
Oliver