千家信息网

alter user identified by values in 11g

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,一、需求在迁移一些数据到新的数据库,开发人员要求和原来的数据库密码保持一致,我们一个个去收集密码麻烦还容易出错,这个时候怎么办呢? Oracle 的alter user语句提供了一个identifie
千家信息网最后更新 2024年12月12日alter user identified by values in 11g

一、需求
在迁移一些数据到新的数据库,开发人员要求和原来的数据库密码保持一致,我们一个个去收集密码麻烦还容易出错,这个时候怎么办呢? Oracle 的alter user语句提供了一个identified by values子句,这个子句可以让DBA在不知道密码明文的情况下,直接使用数据库字典中保存的密码密文进行修改密码。
二、方法
eg:比如test1的密码为password2018,那么可以将test2用户密码修改为password2018,或者创建test3用户密码为password2018
1.查询test1的密码加密密文
select s.spare4 from sys.user$ s where s.name = 'TEST1';
2.修改test2的密码
alter user test2 identified by values 'S.SPARE4';
3.创建test3用户
alter user test3 identified by values 'S.SPARE4';
4.测试test2、test3用户
conn test2/password2018;conn test3/password2018
成功
5.批量创建用户
select 'create user '|| name || ' identified by values ''' || spare4 || ''';' from sys.user$ where name like 'TEST%';

0