oracle查找各PDB密码过期账户

Posted 左直拳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle查找各PDB密码过期账户相关的知识,希望对你有一定的参考价值。

连接oracle的时候,又报 ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序 的错误。这种现象之前遇到不少,猜测可能又是某个sde账号密码过期或快过期,导致arcgis不停地连数据库,因而连接耗尽了。详见拙作:密码过期导致Oracle process耗尽问题

这种问题解决起来也简单,将相关账号密码重置就可以了。问题是,是哪个库的账号?我们用的是oracle 12C,一个实例里面有好几个所谓插件数据库。它们共用连接池,一损俱损。

找出指定名称的账号语句如下:

select a.name,b.username,b.account_status 
from v$pdbs a left join cdb_users b on a.con_id=b.con_id
where b.username='SDE';


可见有三个库的,名为SDE的账号密码过期或快过期了。它们都与arcgis有关。

另外,在sqlplus中查找数据,结果常常换行,极不友好。需要设置一下输出格式。

设置输出格式

1、设置行宽

默认是80个字符,这哪够,起码300吧。

show linesize;
set linesize 300;

2、然后又可以指定列宽

比如本例中,设置 username 列宽为50个字符

col username format a50;

column
column是sqlplus里最实用的一个命令,简写column为col,用于修改显示列名的宽度;
col name format a50–将列name(字符型)显示最大宽度调整为50个字符
col num format 9999999 --将列num(num型)显示最大宽度调整为7个字符
col name heading 姓名–将name的列名输出为姓名

这种设置,应该是会话性质的,不会永久改变数据库的设置。

以上是关于oracle查找各PDB密码过期账户的主要内容,如果未能解决你的问题,请参考以下文章

Oracle账户过期,取消180天密码时间限制

oracle用PDB的管理用户登录后需要密码

oracle如何查询当前用户密码是不是过期

关于windows 2003域控账户修改密码问题,客户端账号过期的时候修改密码提示“您无权修改密码”。

VBS判断本地账户密码过期邮件提醒

Linux账户密码过期安全策略设置