ITPub博客

首页 > 数据库 > Oracle > 解决Oracle忘记密码问题

解决Oracle忘记密码问题

Oracle 作者:perkings 时间:2014-02-19 17:08:29 0 删除 编辑

一、解决忘记oracle管理员密码

一个修改Oracle用户密码的小诀窍数据库版本:9.2.0.5

有时候我们可能不知道一个用户的密码,但是又需要以这个用户做一些操作,又不能去修改掉这个用户的密码,这个时候,就可以利用一些小窍门,来完成操作。

unix 的话,需要转到oracle用户环境变量下,前提是采用操作系统验证。

具体操作过程如下:

SQL*Plus: Release 9.2.0.5.0 - Production on 星期日 11月 21 13:32:34 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect sys/oracle as sysdba

已连接。

SQL> select username,password from dba_users;

USERNAME                       PASSWORD

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

SYS                            8A8F025737A9097A

SYSTEM                         2D594E86F93B17A1

DBSNMP                         E066D214D5421CCC

TOAD                           A1BA01CF0DD82695

OUTLN                          4A3BA55E08595C81

WMSYS                          7C9BA362F8314299

已选择6行。

SQL> connect system/oracle

已连接。

SQL> connect sys/oracle as sysdba

已连接。

修改用户system密码为manager

SQL> alter user system identified by manager;

用户已更改。

SQL> select username,password from dba_users;

USERNAME                       PASSWORD

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

SYS                            8A8F025737A9097A

SYSTEM                         D4DF7931AB130E37

DBSNMP                         E066D214D5421CCC

TOAD                           A1BA01CF0DD82695

OUTLN                          4A3BA55E08595C81

WMSYS                          7C9BA362F8314299

已选择6行。

SQL> connect system/manager

已连接。

然后此时可以做想要做的任何操作了

SQL> connect sys/oracle as sysdba

已连接。

修改用户system密码为以前的值

SQL> alter user system identified by values '2D594E86F93B17A1';

用户已更改。

SQL> connect system/oracle

已连接。

SQL> connect sys/oracle as sysdba

已连接。

SQL> connect system/manager

ERROR:

ORA-01017: invalid username/password; logon denied

警告: 您不再连接到 ORACLE.

又或者删除旧的密码文件,然后新建一个,如
orapwd file=d:oracledatabasepwdetalker.ora password=newpass entries=10 force=y;
可知使用OS验证登录后修改密码

二、Oracle禁止connect / as sysdba方式登录

 

在win下只要把oracle_home/NETWORK/admin/sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES= (nts)nts改成none或者注释掉这句话(在前面加上#),就可以屏蔽os功能
在unix/linux下也可以在文件sqlnet.ora中增加SQLNET.AUTHENTICATION_SERVICES=(none)
查看用户或角色系统权限(直接赋值给用户或角色的系统权限):
  select * from dba_sys_privs;
  select * from user_sys_privs;
.查看用户或角色所拥有的角色:
  select * from dba_role_privs;
  select * from user_role_privs;
<!-- 正文结束 -->

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

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-12-02