查看: 4726|回复: 3

为什么采用操作系统验证时,OS_AUTHENT_PREFIX不能接受"OPS$"之外的值?

[复制链接]
论坛徽章:
3
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
跳转到指定楼层
1#
发表于 2007-5-10 16:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果OS_AUTHENT_PREFIX的值为"OPS$",则一点问题都没有:
=====================================================
SQL> show parameter os_authent_prefix

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----
os_authent_prefix                    string      OPS$

SQL> create user "OPS$MYCOMP\OWNER" identified by externally;

用户已创建

SQL> grant connect to "OPS$MYCOMP\OWNER";

授权成功。

SQL> connect /;
已连接。
=======================================================


上面的测试是成功的.但将OS_AUTHENT_PREFIX的值改为空或其他值就不行了:
=======================================================
SQL> connect / as sysdba;
已连接。

SQL> alter system set os_authent_prefix="XX$" scope=spfile;

系统已更改。

SQL> startup force;
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。

SQL> show parameter os_authent_prefix

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----
os_authent_prefix                    string      XX$

SQL> create user "XX$MYCOMP\OWNER" identified by externally;

用户已创建

SQL> grant connect to "XX$MYCOMP\OWNER";

授权成功。

SQL> connect /;
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再连接到 ORACLE。
======================================================

百思不得其解,郁闷中...
论坛徽章:
4
授权会员
日期:2006-03-20 11:25:44会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鸡
日期:2008-01-02 17:35:53
2#
发表于 2007-5-11 17:31 | 只看该作者
identified externally  没有by
你第一次怎么会成功,我很奇怪.

你 show user 一下

使用道具 举报

回复
论坛徽章:
3
生肖徽章2007版:鸡
日期:2008-01-02 17:35:53生肖徽章2007版:鼠
日期:2008-01-02 17:35:53ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
3#
 楼主| 发表于 2007-5-12 11:23 | 只看该作者
多谢codePeon,全是粗心的"by"惹的祸.去掉by,则成功了.

先测试了你上面的质疑:
    1.os_authent_prefix="OPS$",按密码认证创建的(by)且以"OPS$"开头命名的用户,还是会认为是外部认证
        ===============================================================
        SQL> create user "OPS$MYCOMP\OWNER" identified by externally;
        
        用户已创建
        
        SQL> grant connect to "OPS$MYCOMP\OWNER";
        
        授权成功。
        
        SQL> connect /;
        已连接。
        SQL> show user;
        USER 为"OPS$MYCOMP\OWNER"
        ==================================================================
   
   
    2.os_authent_prefix="XX$"(或其它值),按密码认证创建的(by)且以"XX$"开头命名的用户,却不会认为是外部认证
        ===================================================================
        SQL> alter system set os_authent_prefix="XX$" scope=spfile;
        
        系统已更改。
        
        SQL> shutdown
        数据库已经关闭。
        已经卸载数据库。
        ORACLE 例程已经关闭。
        
        SQL> startup
        ORACLE 例程已经启动。
        数据库装载完毕。
        数据库已经打开。
        
        SQL> create user "XX$MYCOMP\OWNER" identified by externally
        
        用户已创建
        
        SQL> grant connect to "XX$MYCOMP\OWNER";
        
        授权成功。
        
        SQL> connect /;
        ERROR:
        ORA-01017: invalid username/password; logon denied
        
        
        警告: 您不再连接到 ORACLE。
        SQL> connect "XX$MYCOMP\OWNER"/externally;
        已连接。
        ===================================================================

将"by"去掉后,"XX$"测试成功
    ===================================================================
    SQL> alter system set os_authent_prefix="XX$" scope=spfile;
   
    系统已更改。
   
    SQL> shutdown;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
   
    SQL> startup;
    ORACLE 例程已经启动。
    数据库装载完毕。
    数据库已经打开。
   
    SQL> connect / as sysdba;
    已连接。
    SQL> create user "XX$MYCOMP\OWNER" identified externally;
   
    用户已创建
   
    SQL> grant connect to "XX$MYCOMP\OWNER";
   
    授权成功。
   
    SQL> connect /;
    已连接。
    SQL> show user;
    USER 为"XX$MYCOMP\OWNER"
    ===================================================================

使用道具 举报

回复
论坛徽章:
2
祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB9周年纪念徽章
日期:2010-10-08 09:32:27
4#
发表于 2009-5-26 19:42 | 只看该作者
Good experience, thanks.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表