首先,说明用户区分为两类:(1)sys用户与system用户为一类 ; (2)其他用户为一类。第一类用户的级别是要高一点的,在“修改密码”这一操作上,表现为第一类用户可以修改第二类用户的密码,反之不能。
下面,根据不同用户丢失密码进行解决,情形可区分为三种:
一、如果sys用户与system用户的密码是完好的,丢失了其他用户的密码,那么可以用sys或者system用户登录系统,然后利用alter user命令进行更改操作(以scott用户密码丢失为例)
SQL> connect sys/sys_passwd as sysdba SQL> alter user scott identified by new_passwd; 用户已更改。 SQL> conn scott/new_passwd as sysdba;已连接。SQL>
二、如果是sys用户与system用户,其中某一个丢失了密码。那么可以用另外的那个账号登录系统,然后利用alter user命令进行更改操作。
三、如果sys用户与system用户的密码都丢失了。那么不能利用利用alter user命令了,这个命令已不能解决问题了。在这种情况下,需要更高级的工具,而这个工具oracle已经自带了,那就是orapwd工具,在cmd中可直接运行。
C:\Documents and Settings\Administrator>orapwd file=D:\oracle\product\10.2.0\db_1\database\pwdctcsys.ora password=new_passwd
C:\Documents and Settings\Administrator>orapwd file=D:\oracle\product\10.2.0\db_1\database\pwdctcsys.ora password=new_passwd
OPW-00005: 存在相同名称的文件 - 请删除或重命名
需要说明的是,在运行这个工具之前,在D:\oracle\product\10.2.0\db_ 1\database\目录下是没有pwdctcsys.ora这个配置文件的。在运行之后,系统会马上自动生成这样一个文件。
如果忘记oracle,sys用户的密码,需要在oracle数据库服务器上,打开一个cmd,
sqlplus
/nolog
conn
/as
sysdba;
alter
user
sys
identified
by
新密码;
2.如果是其他用户,你也可以用命令,或者plsql等软件,用sys用户登录数据库后,执行:
alter
user
sys
identified
by
新密码;