是否有可以运行的SQL脚本,或者我可以采取哪些其他操作,为整个数据库用户创建别名?我遇到了用户名文本对于特定程序来说太长的问题,并且我想为该UserId创建一个别名或昵称。Oracle数据库用户别名
编辑:
,而不是用户ID登录:,密码,我想和用户ID登录:,密码。
除了链接oracle用户标识/密码登录凭据之外,该程序不受我控制。
是否有可以运行的SQL脚本,或者我可以采取哪些其他操作,为整个数据库用户创建别名?我遇到了用户名文本对于特定程序来说太长的问题,并且我想为该UserId创建一个别名或昵称。Oracle数据库用户别名
编辑:
,而不是用户ID登录:,密码,我想和用户ID登录:,密码。
除了链接oracle用户标识/密码登录凭据之外,该程序不受我控制。
您不能为数据库用户创建别名,否。
虽然你可能不需要。如果A(具有长名称的用户)拥有多个对象,则可以使用短名称创建新的数据库用户B,授予A中对象的B权限,然后在B登录时更改current_schema
,以便引用对象正在使用的模式
ALTER SESSION
SET current_schema = A;
这应该完成什么最别名将提供解决。
这是一个好主意。不幸的是,管理oracle连接的应用程序仅限于更改用户标识/密码,因此它不适用于我的特殊情况。尽管这是一个很好的答案。 – 2012-02-21 17:04:27
@StealthRabbi - 您可以在模式B中始终创建一个登录触发器,该模式运行'ALTER SESSION'来将'current_schema'设置为A. – 2012-02-21 17:05:34
也许你可以使用能够连接到DB代表longNamed用户的代理用户:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::p11_question_id:21575905259251
其实,如果这只是对登录的目的,那么也许你可以使用Secure External Password Store 并避免将任何用户名/密码
你的意思是你想要别名所有的用户对象,所以你不必使用:。 ? –
2012-02-21 16:59:24
我想完全使用不同的UserId登录,如果可能的话。我在帖子中添加了具体内容。 – 2012-02-21 17:01:37