Oracle用户名更改操作四步走

php中文网
发布: 2016-06-07 15:45:46
原创
1576人浏览过

Oracle用户名更改操作四步走 oracle用户名修改是个不太常见的需求,但对很对入门者而言还是一个需要掌握的知识,这里通过四个简单步骤实现oracle用户名的更改和替换。 AD:2013云计算架构师峰会课程资料下载 我们的Oracle管理工作中经常涉及到更改Oracle用户

Oracle用户名更改操作四步走


oracle用户名修改是个不太常见的需求,但对很对入门者而言还是一个需要掌握的知识,这里通过四个简单步骤实现oracle用户名的更改和替换。

AD:2013云计算架构师峰会课程资料下载

我们的Oracle管理工作中经常涉及到更改Oracle用户属性、密码之类的常用操作;但在某些应用场景下,会遇到Oracle用户名更改的需求,如何解决?下面通过四个步骤实现Oracle用户名的修改。

一、查询更改Oracle用户名

<ol><li><span><span>SQL> </span><span>select</span><span> </span><span>user</span><span>#,</span><span>name</span><span>,</span><span>password</span><span> </span><span>from</span><span> </span><span>user</span><span>$ </span><span>where</span><span> </span><span>name</span><span> =</span><span>'TICKETS'</span><span>;  </span></span></li><li><span> </span></li><li><span>     </span><span>USER</span><span># </span><span>NAME</span><span>                           </span><span>PASSWORD</span><span> </span></li><li><span>---------- ------------------------------ ------------------------------ </span><span> </span></li><li><span>        78 TICKETS                        21EDA78F89D6FACD </span></li></ol>
登录后复制

二、更改用户名

<ol><li><span><span>SQL> </span><span>update</span><span>  </span><span>user</span><span>$ </span><span>set</span><span> </span><span>name</span><span>=</span><span>'TICKETS_BAK'</span><span> </span><span>where</span><span> </span><span>user</span><span>#=78;  </span></span></li><li><span> </span></li><li><span>1 row updated.  </span></li><li><span> </span></li><li><span>SQL> </span><span>commit</span><span>;  </span></li><li><span> </span></li><li><span>Commit</span><span> complete. </span></li></ol>
登录后复制

三、创建同样的Oracle用户名

MarsCode
MarsCode

字节跳动旗下的免费AI编程工具

MarsCode 279
查看详情 MarsCode
<ol><li><span><span>SQL> </span><span>create</span><span> </span><span>user</span><span> tickets identified </span><span>by</span><span> </span><span>"123456"</span><span> </span></span></li><li><span>  2  </span><span>default</span><span> tablespace yytickets  </span></li><li><span>  3  </span><span>temporary</span><span> tablespace </span><span>temp</span><span>;  </span></li><li><span>create</span><span> </span><span>user</span><span> tickets identified </span><span>by</span><span> </span><span>"123456"</span><span> </span></li><li><span>            *  </span></li><li><span>ERROR </span><span>at</span><span> line 1:  </span></li><li><span>ORA-01920: </span><span>user</span><span> </span><span>name</span><span> </span><span>'TICKETS'</span><span> conflicts </span><span>with</span><span> another </span><span>user</span><span> </span><span>or</span><span> role </span><span>name</span><span> </span></li></ol>
登录后复制

这时系统会提示“用户名冲突”,运行下面的SQL语句

<ol><li><span><span>SQL> </span><span>alter</span><span> system </span><span>checkpoint</span><span>;    </span><span><span>----强制写入数据文件 </span><span> ,即让在  二、更改用户名  这一个步骤中修改的</span></span></span><span><span>user</span><span>$</span>的结果(脏块)写入到数据文件上的<span><span>user</span><span>$</span></span>中</span><span></span></li><li><span> </span></li><li><span>System altered.  </span></li><li><span> </span></li><li><span>SQL> </span><span>alter</span><span> system flush shared_pool; <span> </span></span><span><span>----在下一步(四、创建相同的用户名)</span><span><span>create</span><span> </span><span>user</span><span> tickets时</span></span><span>,oracle</span>系统会自动修改系统表user$。而这里</span><pre class="brush:php;toolbar:false;"><span><span>清除缓存中的数据字典信息(具体指user$),会使</span><span>oracle</span>系统在修改系统表user$<span>前</span><span>强制读取在</span>数据文件上的<span><span>user</span><span>$</span></span>里的实际数据(即更改后的数据) <span> </span></span><span></span>
登录后复制
  •  
  • System altered. 
  • 四、创建相同的用户名

    <ol><li><span><span>SQL> </span><span>create</span><span> </span><span>user</span><span> tickets identified </span><span>by</span><span> </span><span>"123456"</span><span> </span></span></li><li><span>  2  </span><span>default</span><span> tablespace yytickets  </span></li><li><span>  3  </span><span>temporary</span><span> tablespace </span><span>temp</span><span>;  </span></li><li><span> </span></li><li><span>User</span><span> created.  </span></li><li><span> </span></li><li><span>SQL> </span><span>grant</span><span> </span><span>connect</span><span>,resource </span><span>to</span><span> tickets;  </span></li><li><span> </span></li><li><span>Grant</span><span> succeeded.  </span></li><li><span> </span></li><li><span>SQL> </span><span>commit</span><span>;  </span></li><li><span> </span></li><li><span>Commit</span><span> complete. </span></li></ol>
    登录后复制

    这样基本完成Oracle用户名的查找、更改、替换、复制等操作,需要注意的是用户名冲突的排查和解决,以防发生后患。

    【编辑推荐】

    1. Oracle用户名重建索引方法探究
    2. 全面讲解Oracle查询用户表空间
    3. 浅析Oracle用户权限表的管理方法
    4. Oracle数据库备份与恢复特性浅谈
    5. 使用Oracle外部表的五个限制
    相关标签:
    最佳 Windows 性能的顶级免费优化软件
    最佳 Windows 性能的顶级免费优化软件

    每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号