Oracle 11 gr2用户重命名(重命名用户)

  

11.2.0.2里新增了一个新特性——用户重命名(重命名用户),在这个版本之前要想重命名用户,需要按用户导出,再fromuser吵架(imp)或remap_schem (impdp)。还可以通过修改数据字典用户美元的方式来重命名用户,但这种方法可能会带来风险。有了这个特性之后,可以通过改变用户oldname重命名新名称由“密码”,一条命令来重命名用户。

下面来看测试过程,使用甲骨文版本11.2.0.4

sys@ORCL> select  *,得到v $版本;      横幅   -------------------------------------------------------------------------------   Oracle  Database  11 g  Enterprise  Edition  Release  11.2.0.4.0 作用;64 bit 生产   PL/SQL  Release  11.2.0.4.0 作用;生产   核心11.2.0.4.0生产   TNS  for  Linux: Version  11.2.0.4.0 作用;生产   NLSRTL  Version  11.2.0.4.0 作用;生产

1,创建测试用户及测试表

sys@ORCL> create  user  sq  identified  by “平方”;      User 创建。      sys@ORCL> grant 连接,resource 用平方;   ,   Grant 成功      sys@ORCL> create  table  sq.t1  as  select  *,得到dba_tables;   ,   Table 创建。

sys@ORCL> alter  user  sq  rename 用zlx  identified  by “zlx”;   alter  user  sq  rename 用zlx  identified  by “zlx”   ,,,,,,,,,,,,,   ERROR  at  line  1:   ora - 00922: missing 或是invalid 选择

报错无效的操作,原来是需要修改隐含参数“_enable_rename_user”

,

3,修改隐含参数“_enable_rename_user”,并以限制模式重启数据库

sys@ORCL> alter  system  set “_enable_rename_user”=true 范围=spfile;   ,   System 改变。   ,   sys@ORCL> startup  restrict 力;   ORACLE  instance 开始。   ,   Total  System  Global  Area  1620115456字节   Fixed  Size ,,,,,,,,,,,,,,,,,,, 2253704字节   Variable  Size ,,,,,,,,,,,,,,,,, 956304504字节   Database  Buffers ,,,,,,,,, 654311424字节   Redo  Buffers ,,,,,,,,,,,,,,,,,,, 7245824字节   Database 安装。   Database 打开。

,

sys@ORCL> alter  user  sq  rename 用zlx  identified  by “zlx”;   ,   User 改变。      sys@ORCL> select  count(*),得到sq.t1;   select  count(*),得到sq.t1   ,,,,,,,,,,,,,,,,,,,,,,,   ERROR  at  line  1:   ora - 00942: table 或是view  does  not 存在   ,   ,   sys@ORCL> select  count(*),得到zlx.t1;   ,   ,,COUNT (*)   ----------   ,,,,,2864   ,   sys@ORCL> conn  zlx/zlx   错误:   ora - 01035: ORACLE  only  available 用users  with  RESTRICTED  SESSION 特权   ,   ,   警告:,你断开连接;no  longer  connected 用甲骨文。   sys@ORCL> conn /as  sysdba   连接。   sys@ORCL> alter  system  disable  restricted 会话;   ,   System 改变。   ,   sys@ORCL> conn  zlx/zlx   连接。   zlx@ORCL> select  *,得到标签;   ,   TNAME ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, TABTYPE ,,,,,,,,,,,,,,,, CLUSTERID   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -,- - - - - - - - - - - - - - - - - - - - - -女人,- - - - - - - - - - -   T1 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,表

从上面的结果来看用户名重命名成功。

5,重置隐含参数“_enable_rename_user”并重启数据库

,

,

下面来看直接修改数据字典用户美元的方法:

,

,

,

,

,

,

,

,网上还提到更新完后,需要改变系统   检查点;和改变系统冲洗   null

Oracle 11 gr2用户重命名(重命名用户)