本帖最后由 chinasingle 于 2011-02-26 20:36:26 编辑

解决方案 »

  1.   

    看样子你的数据库 只能口令文件认证  而不能os认证。
    你再检查下你的sqlnet文件。  你的提问中没有粘贴完全 不知道你的sqlnet文件的具体内容:
    oracle数据库通过sqlnet.ora文件中的参数SQLNET.AUTHENTICATION_SERVICES,PFILE(或SPFILE)文件中的参数REMOTE_LOGIN_PASSWORDFILE和口令文件PWDsid.ora三者协同作用实现身份认证。SQLNET.AUTHENTICATION_SERVICES=(NTS)|(NONE) 
    SQLNET.AUTHENTICATION_SERVICES=(NTS): 操作系统认证方式,不使用口令文件 
    SQLNET.AUTHENTICATION_SERVICES=(NONE):口令文件认证方式REMOTE_LOGIN_PASSWORDFILE=(NONE)|(EXCLUSIVE)|(SHARED) 
    REMOTE_LOGIN_PASSWORDFILE=(NONE):不使用口令文件,操作系统认证 
    REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE):口令文件认证方式,但只有一个数据库实例可以使用此文件, 
      

  2.   

    sqlney.ora 里面  SQLNET.AUTHENTICATION_SERVICES = (NONE)注释掉这行
    不行就重建密码文件
      

  3.   

    有三种方法禁用操作系统用户口令认证。
    1、在安装oracle是会自动建立ora_dba用户组,将对应用户从改组中删除
    2、修改sqlnet.ora文件 SQLNET.AUTHENTICATION_SERVICES=(NONE)
    3、修改参数REMOTE_LOGIN_PASSWORDFILE=(EXCLUSIVE)
      

  4.   


    问题已经解决,不过发现和你说的第一点是差不多的
    我改了oracle的组 为了和其他的服务器统一反正找了很多方法都行不通,大部分解决方法就是SQLNET.AUTHENTICATION_SERVICES=(NTS)|(NONE)  尝试了没用,然后用最土 最有效的方法,从安装后修改了什么东西来排查早知道早点来看回帖 就省到一会了 
      

  5.   


    sqlnet.ora 

    把SQLNET.AUTHENTICATION_SERVICES 改成
    SQLNET.AUTHENTICATION_SERVICES=(NTS)
    os 认证
      

  6.   


    这个方法开始试过不过后来发现是 oracle用户组修改导致的~
      

  7.   

    那就是ora_dba 没加到administrator 下