读书人

批改用户名之后为何原用户仍可以登录

发布时间: 2013-04-12 18:33:12 作者: rapoo

修改用户名之后为何原用户仍可以登录?
我本地以SYSDBA的身份登录了ORACLE,
更新了user$这张表具体某个用户的NAME字段,就是改名
但发现改了之后,新用户名可以登录了,对应的附属对象也已存在,
但原用户名还是可以正常登录;
这是为什么?
[解决办法]
正式环境不建议通过此种非常规方式来达到更名的效果。
最好通过建新用户、exp/imp、删除老用户来完成。

测试环境可试试重启数据库再确认一下。
[解决办法]
alter system flush shared_pool;
试试,手动修改数据字典表的操作实在是……不推荐。
[解决办法]
直接修改user$,需要刷新shared pool后生效 ,然后再测试,你这样修改,后果自负
[解决办法]

引用:
引用:直接修改user$,需要刷新shared pool后生效 ,然后再测试,你这样修改,后果自负


网上查了下刷新shared pool的方法,可以了,追问下,这样的原理是什么?


原理大概是这样,因为数据字典对象全部都是在数据库打开的时候读入到shared pool内存池。你修改了数据字典但是并不会刷新shared pool内存池中的对象,所以就需要手工刷新。

读书人网 >oracle

热点推荐