oracle10g中的sys用户的验证方式
来源:互联网 发布:淘宝客跳转代码 编辑:程序博客网 时间:2024/04/29 23:58
---------------------------------------------------------------------------
---- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
---- 转载务必注明原始出处: http://blog.csdn.net/andkylee
--- 2010-08-1018:19:57
---- 关键字: oracle sysdba sysoper验证 os password file authentication
----------------------------------------------------------------------------
今天下午用手工写create database命令的方式创建了一个测试库demo,执行了catalog.sql,catproc.sql,pupbld.sql这三个脚本后,也用orapwd工具创建了密码文件:
orapwd file=e:/oracle/db_1/database/orapwdemo.ora password=db entries=10
因为那台机器上原本有一个oracle实例在跑,所以就没有改listener.ora文件的内容。
在测试库demo的本机上连接实例demo的时候,没有问题。
set oracle_sid=demo
sqlplus /nolog
conn / as sysdba
能够连上!
但是在远程电脑上,用system用户可以连接,用sys连接的时候报错:
SQL> conn sys/db@demo178 as sysdba
ERROR:
ORA-01031: insufficient privileges
解决办法:
最后问题出在密码文件的名称上。oracle 9i的时候密码文件以orapw开头,但是在oracle10g中以pwd开头。所以,到测试实例demo所在机器上,将e:/oracle/db_1/database/下的密码文件orapwdemo.ora名称改为:pwddemo.ora。问题即可解决!
另外,将其他的密码文件,按照pwd$oracle_sid.ora改名后即可使用。不过,你要是事先知道密码文件的密码。(这种方式可以省去用orapwd创建密码文件的过程,呵呵!)
通过以上的错误,可以看出:oracle在使用密码文件对sys用户进行登录验证的时候,会到$ORACLE_HOME/dbs/目录下面找pwd$oracle_sid.ora这个文件。如果找个该文件,则再检查密码是否正确;否则,就不能验证sys的有效性,也就报没有足够权限的错误。
总结:
有必要回顾一下,oracle中的sys登录用户的验证方式。在oracle数据库实例所在的本机上,当用sys用户登录的时候,会首先选用操作系统验证模式,如果当前操作系统的登录用户属于组dba(windows上位ora_dba),那么验证成功;否则,才会使用密码验证模式。
在本地系统使用操作系统级别验证sys登录
下面演示一下,用telnet上一台装有oracle10g实例名为demo的windows机器。使用的操作系统登录名为:sa,此用户属于ora_dba组。实例demo的sys用户的密码为:db。
在telnet下执行:net localgroup ora_dba 查看当前的登录用户sa是否属于该组。
可见,sa属于oracle的ora_dba组。所以,在用sys连接数据库的时候,oracle会优先使用操作系统级别的验证。
在本地系统使用密码文件来验证sys登录
以另外一个用户user作为登录telnet到oracle实例所在机器。user这个用户不属于ora_dba组。
执行:net user user 可以查看该用户所属的本地组。
可以不属于组ora_dba时,只能使用密码文件进行验证。
在远程系统使用操作系统级别验证sys登录
此种方法需要在远程系统上的“本地net服务名配置”中使用安全的tcp(即:tcps)网络协议。不过,暂时还没学会怎么用。可能用这种方法的人比较少吧。
在远程系统使用密码文件来验证sys登录
很好理解,在远程系统上的“本地net服务名配置”中使用安全的tcp(不安全的tcp协议)网络协议时,会使用密码文件验证。
下面的图片很直观的介绍了sys用户的验证方式:
- oracle10g中的sys用户的验证方式
- 关于SYS用户的验证
- 关于SYS用户的验证
- 第四篇 关于SYS用户的验证
- web的用户验证方式
- oracle10g的系统视图(sys、system)
- Oracle10g忘记system,sys密码的解决办法。
- Oracle10g忘记system,sys密码的解决办法。
- oracle中的sys和system用户的差别
- WebService的两种用户验证方式
- WebService的两种用户验证方式
- WebService的两种用户验证方式
- WebService的两种用户验证方式
- WebService的两种用户验证方式
- Oracle10g的listener安全验证
- 另外一种WebService的用户验证方式---使用验证票
- oracle9i的sys用户登录
- oracle中的sys用户(修改密码)
- JAVA反射机制作用
- uva 705
- 动态显示时间的客户端解决方案
- NANDFLASH操作
- 111
- oracle10g中的sys用户的验证方式
- 每一项都是JS中的小技巧,但十分的实用!
- asp.net中防SQL注入的字符串处理办法以及重要信息MD5加密方法
- 帝国cms 新建栏目后更新没有反应
- 查看TOMCAT内存使用情况
- 查看TOMCAT内存使用情况
- SQL SERVER 表及索引分区
- cmwap和cmnet接入点区别
- SQL SERVER 2008的数据压缩