关于windows平台下的oracle ORA-01031的解决方法
2013-06-08 17:49
344 查看
今天下午遇到一个很怪异的问题,在windows平台下sqlplus / as sysdba登陆数据库,提示权限不足,
当时就纳闷了,sys用户登陆数据库还能权限不足,问题出现了,就开始寻找解决方法呗
首先查看$ORACLE_HOME/network/admin/sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES项的配置信息,
网上的大多数帖子一致结论为:
在windows平台上,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用操作系统验证,不设置或者设置为其他都能使用操作系统验证
在linux平台上,SQLNET.AUTHENTICATION_SERVICES必须设置为ALL或者不设才能使用操作系统验证,设置为其他则不能使用操作系统验证
好,那就先看sqlnet.ora
我的SQLNET.AUTHENTICATION_SERVICES是NTS啊,那又是什么原因呢,再找
再分析一下操作系统用户登录操作系统后再访问数据库实例的行为。 使用sysdba 身份连接数据库实例,使用的认证方式是操作系统认证,而这一认证操作过程是操作系统根据它管理的信息去校验该用户是否可以连接数据库的过程。 因此,需要进一步分析的是,操作系统如果判断oracle 用户符合认证条件。很显然,我们这里的oracle 用户的权限被操作系统或者oracle 系统拒绝了。 Oracle 认为,需要满足下列条件的用户才能使用系统认证方式连接数据库实例。 1 、系统用户oracle 必须属于一个特定的组 该用户必须属于OSDBA 组才能以sysdba 身份登录。这里的OSDBA 组在不同类型的操作系 统 上,名称会不一样。在unix 系统上名称为“dba ” ,而在windows 系统上名称则为“ORA_DBA ” 。 2 、sqlnet.authentication_services 的参数必须设置正确 在unix 系统上,该参数值必须设置为ALL ,或者不设置;在windows 上,它必须设置为NTS 再看看,当前登录用户有没有加入到ORA_DBA,
坏了,我当前以administrator用户登陆,但是没有将其加入到ORA_DBA组里,原因找到
将administrator用户加入到ORA_DBA组里
再登陆数据库:sqlplus / as sysdba
ok,问题解决!
本文出自 “挨踢小蝌蚪” 博客,请务必保留此出处http://chunke.blog.51cto.com/2753715/1219092
当时就纳闷了,sys用户登陆数据库还能权限不足,问题出现了,就开始寻找解决方法呗
首先查看$ORACLE_HOME/network/admin/sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES项的配置信息,
网上的大多数帖子一致结论为:
在windows平台上,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用操作系统验证,不设置或者设置为其他都能使用操作系统验证
在linux平台上,SQLNET.AUTHENTICATION_SERVICES必须设置为ALL或者不设才能使用操作系统验证,设置为其他则不能使用操作系统验证
好,那就先看sqlnet.ora
我的SQLNET.AUTHENTICATION_SERVICES是NTS啊,那又是什么原因呢,再找
再分析一下操作系统用户登录操作系统后再访问数据库实例的行为。 使用sysdba 身份连接数据库实例,使用的认证方式是操作系统认证,而这一认证操作过程是操作系统根据它管理的信息去校验该用户是否可以连接数据库的过程。 因此,需要进一步分析的是,操作系统如果判断oracle 用户符合认证条件。很显然,我们这里的oracle 用户的权限被操作系统或者oracle 系统拒绝了。 Oracle 认为,需要满足下列条件的用户才能使用系统认证方式连接数据库实例。 1 、系统用户oracle 必须属于一个特定的组 该用户必须属于OSDBA 组才能以sysdba 身份登录。这里的OSDBA 组在不同类型的操作系 统 上,名称会不一样。在unix 系统上名称为“dba ” ,而在windows 系统上名称则为“ORA_DBA ” 。 2 、sqlnet.authentication_services 的参数必须设置正确 在unix 系统上,该参数值必须设置为ALL ,或者不设置;在windows 上,它必须设置为NTS 再看看,当前登录用户有没有加入到ORA_DBA,
坏了,我当前以administrator用户登陆,但是没有将其加入到ORA_DBA组里,原因找到
将administrator用户加入到ORA_DBA组里
再登陆数据库:sqlplus / as sysdba
ok,问题解决!
本文出自 “挨踢小蝌蚪” 博客,请务必保留此出处http://chunke.blog.51cto.com/2753715/1219092
相关文章推荐
- windows平台下的oracle ORA-01031的解决方法
- windows平台下的oracle ORA-01031的解决方法
- 关于在Windows中安装Oracle碰到ORA-12638错误的解决方法
- Windows平台下登陆Oracle出现ORA-01031错误解决办法
- 关于在Windows中安装Oracle碰到ORA-12638错误的解决方法
- 关于oracle ORA-28001的解决方法
- 关于navicat连接oracle 报 ORA-12737 set CHS16GBK错误的解决方法
- 关于64位 MS SQL 导入导出 Oracle 引发 ORA-06413 的解决方法
- 关于oracle的ORA-00607和ORA-00600错误解决方法
- 关于oracle连接ORA-12505错误的直观解决方法
- 关于oracle 安装结束后的ORA-12560: TNS: 协议适配器错误的解决方法
- 关于oracle报ORA-01033错误的解决方法
- 关于oracle中oracle 的ORA-12505问题解决方法
- Oracle中文乱码的解决方法——windows移殖linux平台wchar_t长度不同的解决策略
- 关于EXP-00056: 遇到 ORACLE 错误 1455 ORA-01455: 转换列溢出整数数据类型 EXP-00000: 导出终止失败 的问题解决方法整理
- 关于navicat连接oracle 报 ORA-12737 set CHS16GBK错误的解决方法
- 64位oracle数据库安装32位plsql解决方法/关于win7 x64 连接oracle 客户端 VS2010调试 提示“ORA-12154: TNS: 无法解析指定的连接标识符 ”
- Oracle 10g中“ERROR-ORA-12514 TNS 监听程序当前无法识别连接描述符中请求的服务”错误的解决方法
- Oracle 关于报错"ORA-01747: user.table.column, table.column 或列说明无效"的终极解决办法
- 11G Oracle报ORA-01078和LRM-00109错解决方法