您的位置:首页 > 数据库 > Oracle

Oracle 验证机制 -- 解决刚创建数据库后未赋权新建用户以dba登录问题

2012-08-02 14:20 651 查看
首先稍微解释下os认证:

oracle安装之后默认景象下是启用了os认证的,这里提到的os认证是指办事器端os认证。os认证的意思把登录数据库的用户和口令校验放在了操纵系同一级。若是以安装oracle时的用户登录os,那么此时在登录oracle数据库时不须要任何验证,如:

SQL> connect /as sysdba

已连接。

SQL> show user;

User is "SYS"

SQL> connect sys/aaa@dmt as sysdba

已连接。

SQL> show user;

User is "SYS"

SQL> connect sys/bbb as sysdba

已连接。

SQL> show user;

User is "SYS"

SQL> connect aaa/bbb as sysdba

已连接。

SQL> show user;

User is "SYS"

SQL> select * from v$pwfile_users;

USERNAME SYSDBA SYSOPER

------------------------------ ------ -------

SYS TRUE TRUE

非论输入什么用户(哪怕这个用户如aaa在数据库中底子不存在),只要以sysdba权限连接数据库,都可以连接上,并且连接用户是sys,有时侯,若是忘记了数据库的密码,而又想登录数据库,可以经由过程这种验证格式,前提是在数据库办事器上;然而便利的同时也带来了一些安然隐患,于是很多人想脱离os认证,在win下只要把oracle_home/NETWORK/admin/sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (NTS)中的NTS改成NONE或者注释掉这句话(在前面加上#),就可以脱离os功能,要想以sys用户连上数据库必须输入正确的sys口令,如:

SQL> connect /as sysdba

ERROR:

ORA-01031: 权限不足

SQL> connect sys/aaa as sysdba

ERROR:

ORA-01017: 用户名/口令无效; 登录被拒绝

SQL> connect aaa/bbb as sysdba

ERROR:

ORA-01031: 权限不足

SQL> connect sys/system as sysdba

已连接。

SQL>

如此一来,新建用户的tables下就不会总是有系统表,帮我解决掉的问题就是~myeclipse的数据源系统表干扰问题· ~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐