日期:2014-05-16  浏览次数:20840 次

oracle中普通用户如何查看自己登录的数据库名称?这个用户与scott权限相同,无法切换到sys下面!没有权限查看v$database和v$instance;

oracle服务软件里面装了三个数据库,三个数据库服务都启动了,在登录数据库的时候没有指定数据库名称,所以现在登录到哪个数据库里面自己都不知道。

这三个数据库里面都有test_user用户,且密码都一样,在各自的数据库中也都拥有相同的权限,是以test_user用户登录的。

那么我该用什么命令查看当前是登录了哪个数据库(三个数据库服务都启动着呢)呢?

我知道切换到sys后用下面的命令可以查看当前数据库的名称

sql>show parameter db_name;

sql>select name from v$database;

sql>select instance_name form v$instance;

但是我不知道sys的密码,数据库是以密码方式验证登录的,不是已系统验证方式登录的!那么我该怎么查看登录的数据库名称呢?

上面的两个数据字典表,v$database和v$instance在test_user用户下是没有权限查看的的!(是数据字典表还是视图呢,刚刚接触oracle里面的概念还不清楚呢)

(附:test_user的权限和scott相同)

说的更直接点,我远程登录别人的oracle,但是他的机器上装了多个数据库,都有我这个用户,我在登录的时候没有指定数据库名称,我该怎么查看我登录的是那个数据库呢?

希望知道的朋友指点,万分感谢!
------解决方案--------------------
select sys_context('userenv', 'db_name') from dual;