oracle报错ora-28001,the password has expired与ora-01017invalid username/password

ora-28001,the password has expired

1.登录his,客户端提示

然后百度的结果是说,Oracle的密码过期了,默认180天

说法为:

=======================================================================

问题发现了,开始解决

========================================================================

plsql是没法登录了,只能cmd解决

输入的内容依次为:

1.sqlplus

2. portal_his/portal_his@orcltest

结果为:

然后现在就卡这里了,一登陆进来就报这个错,怎么往下走。

========================================================================

 
 
 
1、在cmd底下,用sqlplus登入数据库,语句如下:sqlplus sys/sys@orcl as sysdba
2、查看用户的proifle是哪个,一般是default: sql>SELECT username,PROFILE FROM dba_users; 
3、查看指定概要文件(如default)的密码有效期设置: 
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND 
resource_name='PASSWORD_LIFE_TIME';(如果这样写有可能提示“你未选中行”,如提示就用这个语句,SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';)
4、将密码有效期由默认的180天修改成“无限制”: 
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 修改之后不需要重启动数据库,会立即生效。 
5、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示; 已经被提示的帐户必须再改一次密码,举例如下: 
sql> alter user smsc identified by <原来的密码> ----不用换新密码
6、使用修改后的用户登录,如果报“ORA-28000:用户已被锁”,解锁   sql > alter user db_user account unlock; 
     sql > commit;
 
 
 
用SYSTEM账户登录SQLPLUS:
1、SELECT username,PROFILE FROM dba_users;
2、 SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
3、ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 
4、alter user <用户名> identified by <原来的密码>;
5、commit;
 
--------------------------------------------------------
 

也可以通过上面的方法实现对dba的登陆,但是要进行授权

 
======================================================
上面修改以后数据库可以登录了但是门户没法登录了
还是password has required,于是进了plsql更改了portal的密码(门户与his一个库)
 
=========================================================================
=========================================================================
 ora-01017invalid username/password
把上面的问题解决掉后就报这个错误了。
是因为上面修改的时候把数据库的用户名与密码改了,
原文地址:https://www.cnblogs.com/thomasbc/p/10301937.html