ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【PASSWORD】Linux环境下使用密码验证方式重置SYS用户密码

【PASSWORD】Linux环境下使用密码验证方式重置SYS用户密码

原创 Linux操作系统 作者:secooler 时间:2011-04-29 23:04:04 0 删除 编辑
Linux操作系统,当我们忘记SYS用户名密码又无法通过操作系统验证方式访问数据库时,就需要考虑使用密码验证方式找回SYS用户的密码。

本文给出这种方法的实践。

1.确保remote_login_passwordfile参数值为“EXCLUSIVE”或“SHARED”

sys@ora10g> show parameter remote_login

NAME                        TYPE                 VALUE
--------------------------- -------------------- ------------
remote_login_passwordfile   string               EXCLUSIVE

2.禁止操作系统验证方式
1)备份sqlnet.ora文件
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/network/admin$ cp sqlnet.ora sqlnet.ora_backup

2)在文件中添加如下内容
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/network/admin$ vi sqlnet.ora
# sqlnet.ora Network Configuration File: /oracle/ora10gR2/product/10.2.0/db_2/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DIRECTORY_PATH= (TNSNAMES)
sqlnet.authentication_services=(none)

~
~

3)验证操作系统验证方式已经被禁用
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/network/admin$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Apr 29 21:06:33 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:
ORA-01031: insufficient privileges


Enter user-name:

此时提示权限不足表明操作系统认证方式已经被成功禁用。

3.备份密码文件
1)进入到密码文件目录
ora10g@secdb /home/oracle$ cd $ORACLE_HOME/dbs

2)备份原有的密码文件
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/dbs$ cp orapwora10g orapwora10g_backup

4.重新创建新的密码文件
1)删除原有密码文件
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/dbs$ rm -f orapwora10g

2)使用新的密码创建密码文件
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/dbs$ orapwd file=orapwora10g password=secooler

5.验证新密码是否有效
ora10g@secdb /oracle/ora10gR2/product/10.2.0/db_2/dbs$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Apr 29 21:28:26 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

NotConnected@> connect sys as sysdba
Enter password:     -- 这里输入新密码,这里是“secooler”
Connected.
sys@ora10g>

连接成功。密码初步修改成功。

6.通过v$pwfile_users视图进一步验证修改的有效性
sys@ora10g> select * from v$pwfile_users;

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

7.修改数据字典中关于SYS用户的密码
方法就是修改用户名密码的命令。
sys@ora10g> alter user sys identified by secooler;

User altered.

到此,整个密码修改的过程便结束了。

8.小结
Linux系统上如果可以使用操作系统验证方式登录到数据库,我们仅需在数据库中通过“alter user”语句对SYS用户修改密码即可。
使用本文中提到的方法可以在无法顺利的使用操作系统验证方法进入到数据库的前提下达到找回SYS用户密码的目的。

Good luck.

secooler
11.04.29

-- The End --

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

请登录后发表评论 登录
全部评论
Oracle ACE 总监,阿里云MVP,北京大学理学硕士,恩墨学院创始人,教育专家,中国区 Cloudera 首位官方授权大数据讲师,金牌培训专家,BDA大数据联盟创始人,OCM联盟创始人,ACCUG创始人、ACOUG核心专家,Blogger。

注册时间:2008-03-16

  • 博文量
    797
  • 访问量
    8091705