Oracle12 从零重置密码的完美指南(oracle12重置密码)
Oracle12 从零重置密码的完美指南
Oracle数据库是一款庞大、稳定、高效的关系型数据库管理系统。在数据库的运维过程中,因为管理人员的疏忽、管理员密码泄漏等原因可能会导致管理员账号被攻击或误删除,这时候我们怎么办呢?本文将提供一份从零重置Oracle管理员密码的完美指南,帮助管理员轻松恢复管理权限。
一、Sqlplus登录
我们需要使用Sqlplus工具登录Oralce数据库。
(1)使用Administrator用户登录数据库:
“`sql
sqlplus /nolog
conn sys/password as sysdba
注:password为登录用户的密码。
(2)登录后,授权oracle-admin指令和removeuser指令给管理员,并设置密码:
```sqlSQL>ALTER USER administrator GRANT CONNECT THROUGH dba;
SQL>CREATE USER oracle-admin IDENTIFIED BY oracle;SQL>GRANT SYSOPER TO oracle-admin;
(3)创建管理员用户
“`sql
SQL>CREATE USER removeuser IDENTIFIED BY removeuser;
SQL>GRANT DBA TO removeuser;
SQL>GRANT CREATE SESSION TO removeuser;
二、使用PL/SQL正常登录
登录之后,在SQL*Plus环境下执行以下命令:
```sqlsqlplus administrator/password as dba
三、通过PL/SQL重置管理员密码
(1)使用PL/SQL语句设置管理员证书:
“`sql
DECLARE
admin_old_password VARCHAR2(30) : = ‘password’;
admin_new_password VARCHAR2(30) : = ‘new_password’;
BEGIN
EXECUTE IMMEDIATE ‘ALTER USER administrator IDENTIFIED BY ‘ ||admin_new_password||’;’;
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -1916 THEN
EXECUTE IMMEDIATE ‘ALTER USER administrator IDENTIFIED BY ‘ ||admin_new_password||’ REPLACE ‘ ||admin_old_password||’;’;
END IF;
END;
注:其中,password为当前管理员的密码,new_password为新密码。
(2)执行代码后,登录时改变后的管理员密码便生效。
四、通过单用户模式重置管理员密码
(1)在Oracle主机上,重启Oracle实例并进入启动界面,按下Shift+F8进入单用户模式。
(2)切换到SYSDBA模式,并用旧密码修改新密码:
```sqlSQL> conn / as sysdba
SQL> alter user sys identified by new_password;
注:其中,new_password为新密码。
(3)使用新密码以SYSDBA模式登录:
“`sql
SQL> conn sys/new_password as sysdba;
(4)重置管理员密码:
```sqlSQL> alter user administrator identified by new_password;
注:其中,new_password为新密码。
五、总结
在出现管理员密码丢失的情况下,可以使用上述多种方法恢复管理权限。其中,PL/SQL重置管理员密码,操作较为简单,但需要先授权oracle-admin指令和removeuser指令给管理员,还需使用PL/SQL语句设置管理员证书。单用户模式重置管理员密码,操作过程较为复杂,但它一定程度上可以提高安全性。管理员应该选择适合自己的方法进行操作,细心操作,保障管理员账号安全。