繁体   English   中英

Oracle 12c 用户名忘记了

[英]Oracle 12c Username forgot

几天前我安装了 oracle 12c。 一两天后我运行了它,但我完全丢失了我的用户名,我确实记得我的密码但不记得用户名。 我有什么办法可以看到我设置的用户名

假设您可以以SYS身份登录,您可以使用:

select *
from dba_users

这将提供所有用户,包括您定义的用户; 在这里你会发现更多的东西。

从 Oracle 11g 开始,有新的密码生成程序。 你可以使用

create or replace function get_hash_11g(p_password varchar2, p_salt varchar2) return varchar2 is
    lv_pwd_raw    RAW(128);
    lv_enc_raw    RAW(2048);
  BEGIN 
    lv_pwd_raw    := utl_raw.cast_to_raw(p_password) || hextoraw(p_salt);
    lv_enc_raw    := sys.dbms_crypto.hash(lv_pwd_raw, 3);

    return lv_enc_raw;
  end get_hash_11g;
/

然后运行选择

select w.name from sys.user$ w
where substr(w.spare4, 3, 40) = get_hash_11g(/*your password*/'&pass', substr(spare4, 43, 20));
/

设置以下环境变量。 它们对于流程本身不是必需的,但会帮助您导航。 在这种情况下,我的域称为“ClassicDomain”。 请记住更改该值以匹配您的域。

export MW_HOME=/u01/app/oracle/middleware
export DOMAIN_HOME=$MW_HOME/user_projects/domains/ClassicDomain

关闭 WebLogic 域。

$ $DOMAIN_HOME/bin/stopWebLogic.sh

重命名数据文件夹。

$ mv $DOMAIN_HOME/servers/AdminServer/data $DOMAIN_HOME/servers/AdminServer/data-old

使用以下命令重置密码。 请记住替换适当的用户名和密码。

$ cd $DOMAIN_HOME/security
$ java weblogic.security.utils.AdminAccount <username> <password> .

如果您能够调用sqlplus,请执行以下操作:

sqlplus:/ as sysdba - 这是作为sys登录所需的命令。

password: - 不要提供任何密码 直接按回车

SQL> select username from dba_users; - 此命令将提供数据库中的用户列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM