Oracle怎么更改用户名
http://blog.csdn.net/weiwenhp/article/details/8094575
很多人都以为oracle可以很容易的改密码,但不能改用户名字.实际上名字也可以改的.只不过改起来有点麻烦.
改用户名的用处
至于改名字的用处嘛,在这样一种情景下非常有用.假如某个公司给每个员工一个账户,用户名就是你的英文名.当某个员工arwen要离职了,那就要删除掉用户arwen了.但是我们知道oracle中用户与此用户下面创建的对象是完全绑定到一起的,而不像sql server中表等对象是可以和用户完全分开.这样的话你一删掉用户arwen那下面的数据全没了.假如我们需要那些数据咋整呢,最容易想到的是把所有数据先导出,然后再导入到某个用户下面.但这样比较麻烦.所以如果能改名字就更好点了.
怎么改用户名
接着用上面的例子.假如又来了新员工,weiwenhp.他是接arwen的班的.所以他很需要用户arwen下面的数据.此时就把用户arwen改成用户weiwenhp.我们登陆数据库时,数据库系统会判断我们的用户名和密码正确不,那我们自然想到这些信息肯定保存在数据库里面哪个地方,肯定会有一个啥保存用户信息的表.没错,所以用户信息保存在表user$中.
select * from user$
用这个sql一查你会看到所有用户名和密码,还有其他一些信息.不过用户名都是加密的.所以即使是管理员也看不到任何用户的密码,只能改用户的密码.
那肯定想,用户名和密码在这那我在这里把名字改下就行了啊.实际上改名就真这么做.
select user#, name from user$ where name = 'ARWEN'; --先瞧下arwen的信息,其中user#就是一个序列号,相当于身份证号吧,假如这里是250
update user$ set name = 'WEIWENHP' where user# = 250; --于是用户名就改好了啊.当然是update语句就记得再commit提交下啊.
还要做的工作
当上面那样改好名字后你就兴高采烈的想去登陆下试试,瞧瞧改了用户名后真能登陆不.结果一登发现登不了.而用之前的帐户arwen还能登.这时你就傻眼了.这是咋回事啊?
我人知道要是改了密码的话马上就生效能用的啊,改名字了咋就不成了呢.
我们知道数据库中很重要的一点是要保证数据一致性,某个地方的数据更改了,相关的地方也得跟着改才好.那这里肯定是因为登陆时读取的用户信息还没有更新.有数据不一致性的情况出现.你可能会想到有时我们用alter更改一些参数信息得重启数据库才能生效.于是你就想不会我改了名还得重启数据库.这也太恐怖了吧.
实际上不用重启数据库拉,你这样强制更新下.
alter system checkpoint;
alter system flush shared_pool;
你再次登陆就发现可以登陆了啊.而之前的arwen用户就登不了啊.
不过像上面这样改用户名不太方便,估计很少有DBA去这样做吧.因为出现要改用户名的场景确实不多.而且就算要改先导出再导入也能做到.
想干坏事明文显示密码
刚上面你发现用户名和密码都在一个表中,而密码都是加密后的密文,你于是就想我能不能想办法给整成明文.这样就可以瞧见别人密码了,方便干啥坏事啊.于是你就想用改名字相同的做法
update user$ set password = 'abc' where user# = 250;
alter system checkpoin;
alter system flush shared_pool;
select * from user$ where name = 'arwen' -- 此时你发现密码竟然真变成明文了,abc.于是你可乐坏了
于是你迫不及待的想登陆下看真能用不.
结果让你很是沮丧,竟然登不了.而且用户arwen原来的密码也报废了.于是只能乖乖的用alter再来改下.
alter user arwen identified by abc; --这样改下就能登了.
改成明文后不能登,但改的时候又没报错.不知道oracle背后是咋整的.我觉得嘛按道理应该改表user$中的密码时就应该提示说不能改才比较好呢.
哎不过反正也没哪个管理员真会闲得蛋痛去干把密码明文显示的无聊事吧.所以咋整也无所谓了.
我用的是oracle 11gr1 .不知道早期啥oracle的版本能真的把密码改成明文而又能登陆不.
Oracle怎么更改用户名的更多相关文章
- Oracle怎么更改用户名和密码
通过修改ORACLE基表的方式来修改用户名直接修改底层表USER$更改用户名(该方法在Oracle9i,Oracle10g中测试通过)SQL> UPDATE USER$ SET NAME='TT ...
- Oracle 更改用户名
直接更改系统user$表中的用户名. 查询要更改的用户名 SQL> select user#,name,password from user$ where name ='TICKETS'; US ...
- oracle更改用户名
例如,用户名test1改为test2,在plsql界面中不支持直接更改,只能通过sql更改 1.查询系统user$中的user#值 select user#,name from user$ where ...
- SVN更改用户名和密码
关于SVN更换用户名和密码的问题,SVN是一个脚本的扩展软件,但是通过客户端更改用户名和密码的时候比较弱智,必须要经过一些操作之后才能出现更改用户名和密码的对话框. 主要的步骤就是“点击鼠标右键选择T ...
- MySQL5.7更改用户名密码
更改用户名密码,官方推荐使用alter ALTER USER test@'%' IDENTIFIED BY '; 还有一种 update mysql.user set authentication_s ...
- 忘记oracle的sys用户密码怎么修改以及Oracle 11g 默认用户名和密码
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- RACLE 错误 12899 处理, oracle 11g 更改字符集
工作需要,安装装了oracle 11g,在导入其他机器上的备份数据的时间,发生一个错误: IMP-00019: 由于 ORACLE 错误 12899 而拒绝行IMP-00003: 遇到 ORACLE ...
- linux更改用户名,域名(转载)
转自:http://huangro.iteye.com/blog/365975 1. 我们在root权限下,使用命令: usermod -l new_user_name old_user_name 即 ...
- 忘记oracle的sys用户密码如何修改以及Oracle 11g 默认用户名和密码
忘记除SYS.SYSTEM用户之外的用户的登录密码 CONN SYS/PASS_WORD AS SYSDBA; --用SYS (或SYSTEM)用户登录 ALTER USER user_name ID ...
随机推荐
- SQL Server 2008 R2 主从数据库同步设置
一.准备工作: 主数据库服务器: OS:Windows Server 2008 R2 DB: SQL Server 2008 R2 Hostname : CXMasterDB IP: 192.1 ...
- CSS禅意
标题取自<css禅意花园>一书,还记得当年读此书时的情景,真的是内容和书名一样的优秀,就以此标题作为自己在该文的一种追求吧,尽管我的水平和见解都和Dave Shea相去甚远.该文算是对前两 ...
- bzoj 2402: 陶陶的难题II 二分答案维护凸包
2402: 陶陶的难题II Time Limit: 40 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 68 Solved: 45[Submi ...
- 创建基于文件组的数据库SQL救命语句
CREATE DATABASE Sales ON PRIMARY (NAME = SPri1_dat, FILENAME = 'D:\SQLDB\SPri1dat.mdf', SIZE , MAXSI ...
- CF_225B _Well-known Numbers
Numbers k-bonacci (k is integer, k > 1) are a generalization of Fibonacci numbers and are determi ...
- 数据挖掘十大经典算法(5) 最大期望(EM)算法
在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Lat ...
- Android ActivityManagerService 基本构架详解
学习AmS有段时日了,总结下,也好梳理一下自己的思路.小兵一个,有些地方理解不对,大家可以互相讨论,交流才有进步吗~~~ AmS可以说是Android上层系统最核心的模块之一,其主要完成管理应用进程的 ...
- XtraForm默认皮肤的显示
1.新建一个XtraForm窗体 2.运行显示这个窗体,会发现没有任何变化,显示的还是winform的样式 3.在Program.cs文件的Main函数中添加 DevExpress.Skins.Ski ...
- Phpwind v9.0 存储型xss跨站漏洞
漏洞版本: Phpwind v9.0 漏洞描述: Phpwind专注于中小网站应用的整合和价值的发掘,我们认为,以社区为网站的基础,可以提供丰富的应用,满足人们获取信息.交流.娱乐.消费等生活需求.获 ...
- SharePoint 2010 母版页定制小思路介绍
转:http://tech.ddvip.com/2013-11/1384521515206064.html 介绍:我们使用SharePoint2010做门户网站,经常需要定制母版页,但是2010提供的 ...