ITPub博客

首页 > 数据库 > Oracle > Oracle 11gR2 用户重命名(rename user)

Oracle 11gR2 用户重命名(rename user)

Oracle 作者:studywell 时间:2017-12-24 23:27:40 0 删除 编辑


Oracle 11gR2 用户重命名(rename user)


Oracle 11.2.0.2里新增了一个新特性——用户重命名(Rename User),在这个版本之前要想重命名用户,需要按用户导出,再fromuser touser(imp)或remap_schem(impdp)。还可以通过修改数据字典user$的方式来重命名用户,但这种方法可能会带来风险。有了这个特性之后,可以通过alter user oldname rename to newname identified by "password";一条命令来重命名用户。


下面来看测试过程,使用Oracle版本11.2.0.4
sys@ORCL>select * from v$version; 
  
BANNER 
------------------------------------------------------------------------------- 
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 
PL/SQL Release 11.2.0.4.0 - Production 
CORE    11.2.0.4.0  Production 
TNS for Linux: Version 11.2.0.4.0 - Production 
NLSRTL Version 11.2.0.4.0 - Production


1、创建测试用户及测试表
create user sq identified by "sq"; 
grant connect,resource to sq; 
create table sq.t1 as select * from dba_tables; 


2、修改隐含参数"_enable_rename_user",并以restrict模式重启数据库
alter system set "_enable_rename_user"=true scope=spfile; 
startup restrict force; 


3、执行alter user语句,重命名用户
alter user sq rename to zlx identified by "zlx"; 


--查看用户对象
sys@ORCL>select count(*) from sq.t1; 
--提示不存在
sys@ORCL>select count(*) from zlx.t1; 
--表存在


4、恢复数据库运行
conn / as sysdba 
alter system disable restricted session; 
conn zlx/zlx 
select * from tab; 
从上面的结果来看用户名重命名成功。


5、reset隐含参数"_enable_rename_user"并重启数据库
sys@ORCL>alter system reset "_enable_rename_user";
 
 
 --------------------------------------------------------------------------
下面来看直接修改数据字典user$的方法:
sys@ORCL>select user#,name from user$ where name='ZLX';
 
    USER# NAME
---------- --------
94          ZLX
sys@ORCL>update user$ set name='SQ' WHERE USER#=94;
--提示权限不足 
sys@ORCL>commit;
sys@ORCL>conn sq/zlx;
 
 网上还提到update完后,需要alter system checkpoint;和alter system flush shared_pool;,从上面的操作来看好象更简单一些,但user$作为oracle的核心基表之一,修改数据字典会不会造成系统不稳定产生ora-600错误等等都不好说,所以生产上一定要慎重。
 
 
 


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29519108/viewspace-2149187/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 表空间容量
请登录后发表评论 登录
全部评论

注册时间:2014-03-04

  • 博文量
    307
  • 访问量
    535388