用于EBS数据库用户的Oracle密码生成器
我有一个任务,需要更改当前EBS和Oracle 12.1的密码。我已经创建了如何一次完成管理的查询:用于EBS数据库用户的Oracle密码生成器,oracle,plsql,Oracle,Plsql,我有一个任务,需要更改当前EBS和Oracle 12.1的密码。我已经创建了如何一次完成管理的查询: select 'FNDCPASS APPS/atesta 0 Y SYSTEM/test ORACLE '||oracle_username||' '||password||'' oracle_username from FND_ORACLE_USERID where READ_ONLY_FLAG='A' 所以我的问题是如何用随机生成的密码替换查询中的密码字? 密码必须至少包含15个字符、1个
select 'FNDCPASS APPS/atesta 0 Y SYSTEM/test ORACLE '||oracle_username||' '||password||'' oracle_username from FND_ORACLE_USERID
where READ_ONLY_FLAG='A'
所以我的问题是如何用随机生成的密码替换查询中的密码字?
密码必须至少包含15个字符、1个特殊字符、一个数字和一个大写字母
有什么想法吗
谢谢
您可以创建一个函数来返回此类随机密码,并在查询中使用它:
-功能:
具有
函数get_rand_passn in number返回varchar2 as
res varchar215;
开始
环
res:=DBMS_RANDOM.STRING'p',15;
退出时
regexp_likeres,“[^a-zA-Z0-9]”-特殊字符
和regexp_likeres,'\d'-至少一个数字
和regexp_likeres,“[A-Z]”-至少一个大写字母
;
端环;
返回res;
终止
-功能结束
-测试查询:
选择
获取\u rand\u passdbms\u random.value pass
来自双重;
完整示例:
具有
函数get_rand_passn in number返回varchar2 as
res varchar215;
开始
环
res:=DBMS_RANDOM.STRING'p',15;
退出时
regexp_likeres,“[^a-zA-Z0-9]”-特殊字符
和regexp_likeres,'\d'-至少一个数字
和regexp_likeres,“[A-Z]”-至少一个大写字母
;
端环;
返回res;
终止
选择
获取\u rand\u passdbms\u random.value pass
来自双重
通过levelV连接
h@l`kEb4=-C