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、创建测试用户及测试表
sys@ORCL>create user sq identified by "sq"; 
  
User created. 
  
sys@ORCL>grant connect,resource to sq; 
  
Grant succeeded 
  
sys@ORCL>create table sq.t1 as select * from dba_tables; 
  
Table created.

2、执行alter user语句
sys@ORCL>alter user sq rename to zlx identified by "zlx"; 
alter user sq rename to zlx identified by "zlx"
              * 
ERROR at line 1: 
ORA-00922: missing or invalid option

报错无效的操作,原来是需要修改隐含参数"_enable_rename_user"
 
3、修改隐含参数"_enable_rename_user",并以restrict模式重启数据库
sys@ORCL>alter system set "_enable_rename_user"=true scope=spfile; 
  
System altered. 
  
sys@ORCL>startup restrict force; 
ORACLE instance started. 
  
Total System Global Area 1620115456 bytes 
Fixed Size                    2253704 bytes 
Variable Size                  956304504 bytes 
Database Buffers          654311424 bytes 
Redo Buffers                    7245824 bytes 
Database mounted. 
Database opened.

4、再次执行alter user语句,重命名用户
 
sys@ORCL>alter user sq rename to zlx identified by "zlx"; 
  
User altered. 
  
sys@ORCL>select count(*) from sq.t1; 
select count(*) from sq.t1 
                        * 
ERROR at line 1: 
ORA-00942: table or view does not exist 
  
  
sys@ORCL>select count(*) from zlx.t1; 
  
  COUNT(*) 
---------- 
      2864 
  
sys@ORCL>conn zlx/zlx 
ERROR: 
ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege 
  
  
Warning: You are no longer connected to ORACLE. 
sys@ORCL>conn / as sysdba 
Connected. 
sys@ORCL>alter system disable restricted session; 
  
System altered. 
  
sys@ORCL>conn zlx/zlx 
Connected. 
zlx@ORCL>select * from tab; 
  
TNAME                                          TABTYPE                  CLUSTERID 
------------------------------------------ --------------------- ---------- 
T1                                              TABLE

从上面的结果来看用户名重命名成功。
5、reset隐含参数"_enable_rename_user"并重启数据库
sys@ORCL>alter system reset "_enable_rename_user";
 
System altered.

Oracle 11gR2 用户重命名(rename user)的更多相关文章

  1. PHP文件操作,多行句子的读取,file()函数,file_get_contents()函数,file_put_contents()函数,is_file,统计网站pv (访问量),文件的复制 copy,文件重命名 rename,删除文件 unlink

    php中添加utf-8: header("Content-type:text/html;charset='UTF-8'"); 文件操作步骤: 1.在同一目录下建立一个file.tx ...

  2. 〖Linux〗Ubuntu用户重命名、组重命名,机器重命名~

    有时候得到的一台机器名字并不是自己熟悉的,或许是你只是想希望修改一下用户名等等-- 步入正题,其实很简单的,重启机器之后不要进入桌面,按下Ctrl+Alt+F1,使用Root登录,执行以下命令: # ...

  3. Table.RenameColumns重命名…Rename…(Power Query 之 M 语言)

    数据源: "姓名""基数"等列 目标: 修改"姓名"列标题为"员工姓名" 操作过程: [转换]>[重命名]> ...

  4. oracle:表重命名

    SQL> rename test1 to test; Table renamed. SQL> alter table test rename to test1; Table altered ...

  5. python 文件批量改名重命名 rename

    path = '/Volumes/Seagate/dev/imgs/' os.chdir(path) print('cwd: ', os.getcwd()) for f in os.listdir(' ...

  6. Oracle查询列重命名

    select count(*) 呼入量 from crm_cisco_call_detail

  7. oracle 11.2.0.2以后对数据库用户名重命名

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn [转自]http://www.xifenfei.com/2012/0 ...

  8. 文件批量加密重命名--python脚本AND mysql命令行导入数据库

    在考试中学生交上来的报告,需要进行一下文件名加密,这样阅卷老师就不知道是谁的报告了 在百度帮助下,完成了加密和解密脚本, 加密 #!/usr/bin/python # -*- coding: utf- ...

  9. python的N个小功能(找到符合要求的图片,重命名,改格式,缩放,进行随机分配)

    ########################################################################## 循环读取该目录下所有子目录和子文件 ####### ...

随机推荐

  1. 如何写Emit代码

    写Emit代码也不是想象中的那么复杂,基本过程就是先手工写好C#代码,编译得到Exe或者Dll,然后用ILDASM或反编译工具,得到IL代码,最后就是看着IL代码,用Emit一个个对应发出代码,就行了 ...

  2. Spring的事务管理基础知识

    1.数据库事务基础知识     1)数据库事务有严格的定义,它必须同时满足4个特性:原子性(Atomic).一致性(Consistency).隔离性(Isolation)和持久性(Durability ...

  3. postgresql免密码登录

    https://www.postgresql.org/docs/8.3/static/libpq-pgpass.html vi ~/.pgpass 输入以下内容 hostname:port:datab ...

  4. Java设计模式系列之装饰者模式

    装饰者模式的定义 动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案  装饰者模式的UML类图 一般来说装饰者模式有下面几个参与者: Component:装饰者和被装饰者共同 ...

  5. 死锁的原因及解决办法RLock递归锁

    死锁 说到死锁,可以讲一个科学家吃面的问题: 有几个科学家在一张桌子旁,桌子上只有一把筷子和一碗面,我们将面和筷子都加锁.这是可能会导致一个科学家抢到面,另一个科学家抢到筷子,这是就全部阻塞了,这就是 ...

  6. JAVA课程课后作业之使用递归完成回文

    一.思路 1.我的想法是利用数组的做法来进行,先是用scanner录入一个String类 2.然后就是将String转化成char数组 3.递归的就是第一个和最后一个对比,然后第一个加一,最后一个减一 ...

  7. div左右居中css

    l_btn{ font-size: 1.2rem; width: 190px; height: 50px; border: 1px solid #fff; border-radius: 25px; c ...

  8. Ice_cream's world I(并查集成环)

    Problem Description ice_cream's world is a rich country, it has many fertile lands. Today, the queen ...

  9. ArcGIS AddIN Sample学习笔记

    1.AddInEditorExtension 功能描述:编辑器扩展,实现在编辑要素,对编辑事件的监听,及对新创建的要素的处理 核心代码: void Events_OnStartEditing() { ...

  10. jquery 在页面上根据ID定位(jQuery锚点跳转及相关操作) 经典

    1.锚点跳转简介 Edit 锚点其实就是可以让页面定位到某个位置上的点.在高度较高的页面中经常见到.比如百度的百科页面,wiki中的page内容. 我知道实现锚点的跳转有两种形式,一种是a标签+nam ...