Oracle 11g修改数据库用户名

简介:

  最近翻看某blog,发现原来oracle 11g提供了用户重命名的新特性,在10g环境下,如果想对用户重命名,一般来说是先创建一个新的用户并授权,然后将原用户下的所有对象导入,然后删除旧的用户!下面来在11g rac环境下介绍下这个新特性!

参考:http://www.orafan.net/blog/315.html,感谢作者分享!

一:创建一个测试用户xxx,并写入测试数据,由spfile文件生成pfile文件,关闭rac数据库

 
  1. [oracle@node1 ~]$ sqlplus sys/Ab123456@rac5 as sysdba  
  2. SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 6 19:42:12 2012  
  3. Copyright (c) 1982, 2011, Oracle.  All rights reserved.  
  4.  
  5. Connected to:  
  6. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production  
  7. With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,  
  8. Data Mining and Real Application Testing options  
  9.  
  10. SQL> create user xxx identified by 123456 default tablespace users;  
  11. User created.  
  12.  
  13. SQL> grant resource,connect to xxx;  
  14. Grant succeeded.  
  15.  
  16. SQL> create table xxx.test as select * from dba_objects;  
  17. Table created.  
  18.  
  19. SQL> alter user xxx rename to yyy;  
  20. alter user xxx rename to yyy  
  21.                *  
  22. ERROR at line 1:  
  23. ORA-00922: missing or invalid option 
  24.  
  25. SQL> alter user xxx rename to yyy identified by 123456;  
  26. alter user xxx rename to yyy identified by 123456  
  27.                *  
  28. ERROR at line 1:  
  29. ORA-00922: missing or invalid option 
  30.  
  31. SQL> create pfile from spfile;  
  32. File created.  
  33.  
  34. [oracle@node1 ~]$ srvctl stop database -d rac -o immediate  
  35. [oracle@node1 ~]$ srvctl status database -d rac  
  36. Instance node1 is not running on node node1  
  37. Instance node2 is not running on node node2 

二:修改pfile文件,添加隐含参数 *._enable_rename_user='TRUE',将数据库以restrict方式启动

 
  1. [oracle@node1 ~]$ cd /u01/app/oracle/product/11.2.0/db1/dbs/  
  2. [oracle@node1 dbs]$ ls  
  3. hc_node1.dat  initnode1.ora  init.ora  orapwnode1  
  4.  
  5. [oracle@node1 dbs]$ tail -1 initnode1.ora   
  6. *._enable_rename_user='TRUE' 
  7.  
  8. [oracle@node1 dbs]$ sqlplus /nolog  
  9. SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 6 19:51:41 2012  
  10. Copyright (c) 1982, 2011, Oracle.  All rights reserved.  
  11.  
  12. SQL> conn /as sysdba  
  13. Connected to an idle instance.  
  14. SQL> startup restrict pfile=$ORACLE_HOME/dbs/initnode1.ora  
  15. ORACLE instance started.  
  16.  
  17. Total System Global Area 1235959808 bytes  
  18. Fixed Size                  2227904 bytes  
  19. Variable Size             805306688 bytes  
  20. Database Buffers          419430400 bytes  
  21. Redo Buffers                8994816 bytes  
  22. Database mounted.  
  23. Database opened.  
  24. SQL> select open_mode,name from v$database;  
  25.  
  26. OPEN_MODE            NAME 
  27. -------------------- ---------------  
  28. READ WRITE           RAC  
  29.  
  30. SQL> show parameter spfile;  
  31.  
  32. NAME                                 TYPE        VALUE  
  33. ------------------------------------ ----------- ------------------------------  
  34. spfile                               string 

三:修改xxx用户名为yyy

 
  1. SQL> alter user xxx rename to yyy;  
  2. alter user xxx rename to yyy  
  3.                            *  
  4. ERROR at line 1:  
  5. ORA-02000: missing IDENTIFIED keyword  
  6.  
  7. SQL> alter user xxx rename to yyy identified by 123456;  
  8. User altered.  
  9.  
  10. SQL> select count(*) from yyy.test;  
  11.  
  12.   COUNT(*)  
  13. ----------  
  14.      74556 

四:使用spfile启动rac

 
  1. SQL> shutdown immediate;  
  2. Database closed.  
  3. Database dismounted.  
  4. ORACLE instance shut down.  
  5.  
  6. [oracle@node1 dbs]$ srvctl start database -d rac   
  7. [oracle@node1 dbs]$ srvctl status database -d rac   
  8. Instance node1 is running on node node1  
  9. Instance node2 is running on node node2 

五:连接测试,由此可见,对用户的rename操作,可以继承原有的权限

 
  1. SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 6 20:00:52 2012  
  2. Copyright (c) 1982, 2011, Oracle.  All rights reserved.  
  3.  
  4. Connected to:  
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production  
  6. With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,  
  7. Data Mining and Real Application Testing options  
  8.  
  9. SQL> select * from tab;  
  10.  
  11. TNAME                          TABTYPE  CLUSTERID  
  12. ------------------------------ ------- ----------  
  13. TEST                           TABLE 
  14.  
  15. [oracle@node1 ~]$ sqlplus xxx/123456@rac5  
  16. SQL*Plus: Release 11.2.0.3.0 Production on Tue Mar 6 20:01:22 2012  
  17. Copyright (c) 1982, 2011, Oracle.  All rights reserved.  
  18.  
  19. ERROR:  
  20. ORA-01017: invalid username/password; logon denied 
本文转自斩月博客51CTO博客,原文链接 http://blog.51cto.com/ylw6006/799261如需转载请自行联系原作者

ylw6006
相关文章
|
1月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
116 11
|
2月前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
2月前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
1月前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
2月前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
60 7
|
2月前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
41 6
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
41 5
|
Oracle 关系型数据库 数据库
|
3月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
249 64
|
3月前
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。

推荐镜像

更多