一、解决忘记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;