1、今天多次输入错误的Oracle密码,导致system账户被锁;经查询可以通过SQL Plus 用以下方式解决: 通过 conn sys/sys as sysdba ; 然后,账户解锁 alter user system account unloack ; 修改账户密码 alter user system identified by system1(password) ; 操作完成后,通过 conn system@system 测试连接成功; commit; 但是在返回PL/SQL 后发现账户依然被锁,后经比较发现,原来Oracle中存在两个数据库Oracle和Orcl, 其中system是在Orcl中,因此要连接Orcl的管理员; conn system@orcl as sysdba; 连接成功 重新执行上述sql; 测试 conn system/system1@ORCL ; --连接成功 commit ; 重新在PL/SQL中测试,发现可以正常登录;问题解决。
存在上述问题,发现并不是在ORACLE中存在多个库,是存在两个实例导致; 实例:STUDY 连接 conn as sysdba 查询该实例下的数据库 select name from v$database; 发现:数据库STUDY ; 查询数据库中的用户:select username frin dba_users; 发现用户:system,sys,outln;
实例:ORCL 连接 conn system@orcl as sysdba 查询该实例下的数据库 select name from v$database; 发现:数据库orcl ; 查询数据库中的用户:select username frin dba_users; 发现用户:system,sys;
如何确认实例的个数: 登陆CMD,输入 services.msc 跳到{服务}中看到OrcleServiece+实例名,存在两个实例名; 因此导致SQL Plus 后连接没有修改到正确实例中的用户账户;
需要进一步学习: 实例和实例的关系,实例和数据库的关系,数据库和用户的关系?