Oracle SQL Developer 4.0.1.14
我目前有一个Oracle数据库,其用户包含一组表,视图等。但是,我希望这个模式可以在具有不同登录名的多个人之间共享。
我的公司有一个域名,每个员工都通过这个域登录他们的计算机,例如
COMPANY_NAME /用户名
我希望能够使用Windows身份验证将每个用户登录到数据库中。这样,公司的每个人都会自动登录一个他们习惯的密码。
在Oracle SQL Developer中,我尝试勾选“OS身份验证”,并在测试连接时收到“无效的用户名/密码”。我是否需要为每个域创建Oracle用户?
我也尝试检查“使用OCI / Thick驱动程序”,但除非配置了“使用Oracle客户端”,否则无法检查,我也不确定。
这个问题似乎是重复的: Windows Authentication to Oracle for domain group,但是教程链接已经死了。我还没能找到另一个如何在任何地方设置它的教程。
答案 0 :(得分:2)
有一个名为os_authent_prefix
的服务器端参数通常设置为OPS$
,除了添加IDENTIFIED EXTERNALLY
选项之外,网络用户ID还需要以此为前缀到create user
陈述。
因此,如果您的Windows帐户ID为hambone,
,则您的操作系统身份验证登录名为OPS$hambone
,并且您不需要密码。我使用它多年了,它从来没有要求为Windows帐户指定域,这很好,因为它意味着相同的凭据适用于我的Unix帐户。
sqlplus OPS$hambone/@myserver
同样,应用程序的连接字符串也没有密码。
对于Toad,您可以将OPS$hambone
作为用户ID并将密码留空。 SQL Developer,老实说我不确定 - 我受不了了;我使用的是PL / SQL Developer,但是根据它们的各种选项,我想你会选择OS身份验证和/或放置OPS$hambone
。
阅读有关OS身份验证的警告/安全警告。我认为在私人网络中,风险被优势所抵消,但这是由你决定的。