码迷,mamicode.com
首页 > 其他好文 > 详细

小技巧之巧利用identified by values重置用户密码

时间:2015-08-12 14:50:09      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:alter user identified 密码 oracle

在DBA的实际工作中,经常会遇到一些情况,例如,我不知道一个用户的密码,但是我需要通过这个用户登入到数据库里面做一些动作,而且还必须通过此用户登录,比如为一个用户创建私有的DB Link

或者迁移一些数据到新的数据库,开发人员要求和原来的数据库密码保持一致,我们一个个去收集密码麻烦还容易出错,这个时候怎么办呢? Oracle 的alter user语句提供了一个identified by values子句,这个子句可以让DBA在不知道密码明文的情况下,直接使用数据库字典中保存的密码密文进行修改密码。

  1. 例如我需要登入一个用户,完成以后改回原来的密码,如下:

SQL>select PASSWORD from sys.user$ where name = ‘UT001‘;  --获取当前用户的密码密文
SQL>alter user UT001 identified by 123456;                --修改用户密码为123456
SQL>alter user UT001 identified by values ‘S:C7C81BBE7760B5BBB3973F0971AA36C737BF6DCC4A34FE925CE70B0739BD‘; --修改密码为原来的密码。


2. 迁移数据库环境,在新库创建和源库一致的用户名和密码,如下:

SQL>select ‘create user ‘|| name || ‘ identified by values ‘‘‘ || password || ‘‘‘;‘ from sys.user$ where name in (‘UT001‘,‘UT002‘.....);

使用拼接好的SQL直接在新库里面执行即可,当然,也可以制定PROFILE,DefTABLESPACE,TempTABLESPACE等等信息。

本文出自 “数据库之路” 博客,请务必保留此出处http://dbaway.blog.51cto.com/7099215/1683986

小技巧之巧利用identified by values重置用户密码

标签:alter user identified 密码 oracle

原文地址:http://dbaway.blog.51cto.com/7099215/1683986

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!