Oracle 11g修改数据库用户名-阿里云开发者社区

开发者社区> 科技探索者> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL---数据库从入门走向大神系列(三)-修改数据库编码/DOS窗口编码
如何查看与修改数据库的编码,如何修改dos窗口的显示编码,都在本篇详细讲解。 查看当前数据库的编码: show variables where variable_name like 'character%'; 如果出现了中文乱码,我们只要看: character_set_client —客户端的编码 character_set_connection —连接的编码(传输时的编码) character_set_results — 最后的输出编码 只要保证这三个编码是相同的,且编码集有中文,中文就不会出现乱码。
1163 0
二、修改数据库的全局名称
二、修改数据库的全局名称 1、查看当前数据库的全局名称如下: SQL> select * from global_name; GLOBAL_NAME -------------------------------------------------------------------------------- WWL.
617 0
ORACLE RAC 修改 SCAN IP
oracle rac 修改 scan ip -- 场景 : -- 在我们升级一个系统或更换了网卡后,为了减少对原机的影响及避免修改大量的客户端,新系统的 ip 又会修改回原 ip. -- 在这里我们简单演示下如何修改其中的 scan ip -- 环境信息: scan ip 如下 192.
1085 0
[20130106]整和数据库--修改字符集.txt
[20130106]整和数据库--修改字符集.txt工作需要,需要把几个数据库合并在一起,由于以前数据库使用的字符集是AMERICAN_AMERICA.US7ASCII,而现在的数据库使用SIMPLIFIED CHINESE_CHINA.ZHS16GBK,整合的时候需要修改字符集,统一到字符集SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
640 0
ORACLE SQL脚本能否修改字段名称?
在看到标题时,你先想想:在ORACLE中能否修改一个表的某个字段名呢?如果能的话,你是否还记得SQL脚本如何写的呢,呵呵,写这个的目的是因为在论坛上看见许多信誓旦旦的说ORACLE中不能修改字段名称,只能先删除、后添加字段或是其它方法来处理。
648 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7623 0
Oracle EM Express要求用户名和密码
【前言】很久没有用ORACLE EM了,在LINUX上面安装了ORACLE 12.2的数据库,并安装了ORACLE EM,结果登录的时候就报了以下的问题 解决方法:其实也很简单,这边把网上其他网友遇到的问题也汇总以下: 1、地址...
1276 0
3627
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载