一、需求 在迁移一些数据到新的数据库,开发人员要求和原来的数据库密码保持一致,我们一个个去收集密码麻烦还容易出错,这个时候怎么办呢? 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%‘;