<FONT size=3>新手:在cmd下连接oracle 10g,分别用了以下两种方法:1.conn sys/change_on_install as sysdba;2.conn sys/sys as sysdba 都能连接上,然后又随便用了一个用户名/密码,也能连接上,这是怎么回事?是不是用sysdba身份连接对用户名和密码没有要求啊?请各位高手指点,不胜感激!</FONT>
2 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
oracle登陆认证方式分为两种: 1、os认证 2、密码文件认证方式。 os模式的开关在 %oracle_home%/network/admin/sqlnet.ora 文件。 SQLNET.AUTHENTICATION_SERVICES= (NTS) 如果上面的指令存在或没被注销掉,则系统默认优先使用os认证方式。 (修改认证方式后,直接保存,可以立即生效,不必reboot oracle) 密码文件的作用是认证方式设置为2时,如果想在网络上进行 startup等操作时,因为instance没有启动,所以不能在表里查询帐号信息。 就设计了密码文件来验证帐号信息。 可以使用 connect / as sysdba 命令,如果能登陆,则说明使用了os认证方式。 如果使用了密码文件认证方式,则登陆使用的帐号和密码必须存储在密码文件中(sys用户已经默认存储了)。 以sysdba身份登陆 执行 grant sysdba to xxx 则该帐号将被存储至密码文件中。 可以使用下面的sql进行查看是否存储至密码文件。 select * from v$pwfile_users; 如果帐号出现在记录中,则说明存储成功。 使用 connect xx/xx as sysdba 命令即可登陆系统。
添加回答
举报
0/150
提交
取消