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

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/519536/viewspace-694144/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值