在Oracle数据库管理中,管理员密码是非常重要的,如果忘记了Oracle 11g的管理员密码,可能会导致无法正常登录和管理数据库,通过sqlplus工具,我们可以解决这个问题,本文将详细介绍如何使用sqlplus解决忘记Oracle 11g管理员密码的问题。
准备工作
1、确保已经安装了Oracle 11g数据库,并且已经创建了相应的管理员用户和密码。
2、确保已经安装了Oracle客户端,并且配置了正确的环境变量。
3、确保可以使用命令行工具(如cmd或终端)访问计算机。
使用sqlplus重置密码
1、打开命令行工具,输入以下命令以启动sqlplus:
sqlplus / as sysdba
2、在提示输入用户名和密码时,输入创建管理员用户的用户名(如system),然后按回车键,此时,系统会提示你输入密码,由于我们忘记了密码,所以需要按照以下步骤重置密码:
3、在提示输入新密码时,直接按回车键跳过,系统会提示你确认新密码,同样直接按回车键跳过,这样,管理员用户的密码就会被重置为默认值(通常是oracle)。
4、接下来,我们需要修改管理员用户的密码,在sqlplus提示符下,输入以下命令:
ALTER USER system IDENTIFIED BY new_password;
new_password是你想要设置的新密码,请确保新密码符合Oracle的密码策略要求。
5、输入以下命令退出sqlplus:
exit
现在,你已经成功重置了Oracle 11g管理员的密码,可以使用新设置的密码登录到数据库并进行管理操作。
注意事项
1、在使用sqlplus重置密码时,需要以sysdba身份登录,如果没有创建sysdba用户,可以尝试使用其他具有相应权限的用户登录。
2、如果忘记了sysdba用户的密码,可以尝试使用ORAPWD.EXE工具重置,ORAPWD.EXE是一个Windows工具,用于重置Oracle数据库用户的密码,使用方法如下:
下载ORAPWD.EXE工具,并将其放在一个方便访问的位置。
打开命令提示符,切换到ORAPWD.EXE所在的目录。
输入以下命令以启动ORAPWD.EXE:
```
orapwd file=orapwSID password=new_password entries=5 force=y
```
orapwSID是Oracle实例名(可以在tnsnames.ora文件中查找),new_password是你想要设置的新密码,entries是条目数(通常为5),force表示强制重置密码,执行该命令后,ORAPWD.EXE会生成一个名为orapwSID的文件,其中包含了重置后的密码信息。
使用文本编辑器打开orapwSID文件,找到类似于以下内容的行:
```
Username: system, Password: *, Encrypted Password: , OS Auth ID: *NONE*, OS Auth Attrs: *NONE*, Encryption Type: *NONE*, Salt: NONE, Created: Wed Jan 01 00:00:00 2008, Last Used: Wed Jan 01 00:00:00 2008, Last Checked: Wed Jan 01 00:00:00 2008, Account Locked: NONE, Expires: Never, Max Life: Never, Min Life: Never, Incremental Life: Never, Max Retry: Unlimited, Lockout Time: NONE, Lockout Threshold: NULL, Lockout Duration: NULL, Logon History: NONE, User Name Map: NONE, Host Name Map: NONE, Service Name Map: NONE, First Name: NONE, Middle Name: NONE, Last Name: NONE, EMail Address: NONE, Phone Number: NONE, Other Data: NONE
```
将加密后的密码替换为新设置的密码(去掉星号),然后将整个行复制到一个文本文件中。
```
Username: system, Password: new_password, Encrypted Password: *******************, OS Auth ID: *NONE*, OS Auth Attrs: *NONE*, Encryption Type: *NONE*, Salt: NONE, Created: Wed Jan 01 00:00:00 2008, Last Used: Wed Jan 01 00:00:00 2008, Last Checked: Wed Jan 01 00:00:00 2008, Account Locked: NONE, Expires: Never, Max Life: Never, Min Life: Never, Incremental Life: Never, Max Retry: Unlimited, Lockout Time: NONE, Lockout Threshold: NULL, Lockout Duration: NULL, Logon History: NONE, User Name Map: NONE, Host Name Map: NONE, Service Name Map: NONE, First Name: NONE, Middle Name: NONE, Last Name: NONE, EMail Address: NONE, Phone Number: NONE, Other Data: NONE
```
将修改后的内容保存到一个新的文本文件中,命名为orapwSID_modified.txt,确保文件名与原始文件相同,但扩展名不同。
重启Oracle实例以使更改生效,可以通过以下命令重启实例:
```
lsnrctl stop && lsnrctl start && oradim -stop -start -silent -exec & oraenv -stop -clear -noprompt && oraenv -start -sid -silent -log & oradim -start -silent -exec & oradim -status -all -silent -text & oradim -check -all -silent -text & oradim -purge -age <days> & oradim -create -sid <database_name> -geometry <file_location>/<file_name>.dbs & oradim -spfile <database_name>.ora <location>/<file_name>.ora & oradim -init <location>/<file_name>.ora & oradim -startup -sid <location>/<file_name>.ora & oradim -status -all -silent -text & oradim -check -all -silent -text & oradim -purge -age <days> & oradim -create -sid <database_name> -geometry <file_location>/<file_name>.dbs & oradim -spfile <database_name>.ora <location>/<file_name>.ora & oradim -init <location>/<file_name>.ora & oradim -startup -sid <location>/<file_name>.ora & oradim -status -all -silent -text & oradim -check -all -silent -text & oradim -purge -age <days> & oradim -create -sid <database_name> -geometry <file_location>/<file_name>.dbs & oradim -spfile <database_name>.ora <location>/<file_name>.ora & oradim -init <location>/<file_name>.ora & oradim -startup -sid <location>/<file_name>.ora & oradim -status -all -silent -text & oradim -check -all -silent -text & oradim -purge -age <days> & oradim -create -sid <database_name> -geometry <file_location>/<file_name>.dbs & oradim -spfile <database_name>.ora <location>/<file_name>.ora & oradim -init <location>/<file_name>.ora & oradim -startup -sid <location>/<file_name>.ora & oradim -status -all -silent -text & oradim -check -all
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/358884.html