ORACLE数据库忘记SYS和SYSTEM密码,SYSTEM被锁定怎么办?

时间:2024-03-08 14:41:16

本人忘性太大,竟然将ORACLE的Sys用户和system用户密码搞忘,而且多次尝试登录system后,造成system被锁定。

经过一番尝试,终于解决。过程如下:

首先,重建sys密码文件。重建方式为:

1、打开cmd命令窗口;

2、执行orapwd命令,其用法为:

C:\WINDOWS\system32>orapwd

Usage: orapwd file=<fname> entries=<users> force=<y/n> ignorecase=<y/n> nosysdba=<y/n>

 

  where

    file - name of password file (required),

    password - password for SYS will be prompted if not specified at command line,

    entries - maximum number of distinct DBA (optional),

    force - whether to overwrite existing file (optional),

    ignorecase - passwords are case-insensitive (optional),

    nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).

file选项为文件全路径,文件名为PWD+数据库实例名+“.ora”。password为新设置的密码。

我执行的命令格式如下:

C:\WINDOWS\system32>orapwd file=D:\Oracle\product\11.2.0\dbhome_1\database\PWD****.ora password=****** entries=5 force=y

(注意,执行重建密码文件命令之前,最好将原来的文件备份一下)

执行命令后,新的密码文件会覆盖原有的密码文件。

重启ORACLE数据库服务后,就可以用新的密码登录SYS了。

 

下一步解决system用户锁定问题。

在CMD命令窗口中,用sqlplus连接数据库。

C:\Documents and Settings\Administrator>sqlplus sys/***** as sysdba

其中**部分为登录密码。

然后执行命令,将system解锁。

SQL>alter user system account unlock;

最后修改system用户的密码。

SQL>alter user system identified by **********;

其中***部分为新的密码。

至此system已被解锁且可采用新的密码登录。

原文链接:http://www.lhtry.net/Blog/Detail?id=19