ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE学习之五 SYS认证

ORACLE学习之五 SYS认证

原创 Linux操作系统 作者:zuwenjiang 时间:2011-09-13 11:28:56 0 删除 编辑
--普通用户登录,是数据库认证,SYS用户使用口令文件存储密码。所以SYS可以在非OPEN状态下登录,可以在NOMONUNT状态下,登录进行管理--恢复。
sqlplus / as sysdba
SQL>show user
SYS

,仅限于数据库服务器上,/ 表示操作系统认证,把用户认证交给操作系统
只要以 as sysdba登录,即使用户名密码错误,也能登录成功,或者以普通用户登录,但只要加上 as sysdba。登录成功的用户都会是
sys用户。

屏蔽这种登录的方法,在WIN下,修改用户的ORAL_DBA用户组,将其administrator的权限去掉,即可以屏蔽。或者修改
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora文件.

将SQLNET.AUTHENTICATION_SERVICES= (NTS)修改为SQLNET.AUTHENTICATION_SERVICES= (NONE)也可以屏蔽这种默认系统管理员的方式登录。

--win下,口令文件位于D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora,
--查看有口令文件的用户。
SQL>select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE
TEST                           TRUE  FALSE

如果以tset用户登录,可以看到,登录用户其实还是sys...

C:\Documents and Settings\Administrator>sqlplus test/test@orcl as sysdba

SQL> Show user;
USER 为 "SYS"
SQL>

--口令文件,如果忘记了SYS的用户名密码,文件名规则为PWD+sid名+.ora文件.如果该文件不存在,操作系统认证又被屏蔽了,,则无法使用SYS登录.
--忘记密码什么的,可以删除口令文件,再创建一个。
--使用orapwd命令

C:\>orapwd
Usage: orapwd file= password= entries= force=

  where
    file - name of password file (mand),
    password - password for SYS (mand),
    entries - maximum number of distinct DBA and OPERs (opt),    force - whether to overwrite existing file (opt),
  There are no spaces around the equal-to (=) character.

C:\ORAPWD FILE=D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=system entries=5

重置后,如果原来有其他用户(例如之前的TEST)用户,则创建的新口令文件中,不再包含test;SQL> select * from v$pwfile_users;

USERNAME                       SYSDB SYSOP
------------------------------ ----- -----
SYS                            TRUE  TRUE

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21143887/viewspace-707235/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-18

  • 博文量
    13
  • 访问量
    22639