如何更改Oracle中schema或user的名字
3个回答
展开全部
我们的Oracle管理工作中经常涉及到更改Oracle用户属性、密码之类的常用操作;但在某些应用场景下,会遇到Oracle用户名更改的需求,如何解决?下面通过四个步骤实现Oracle用户名的修改。
一、查询更改Oracle用户名
SQL> select user#,name,password from user$ where name ='TICKETS'; USER# NAME PASSWORD ---------- ------------------------------ ------------------------------ 78 TICKETS 21EDA78F89D6FACD
二、更改用户名
SQL> update user$ set name='TICKETS_BAK' where user#=78; 1 row updated. SQL> commit; Commit complete.
三、创建同样的Oracle用户名
SQL> create user tickets identified by "123456" 2 default tablespace yytickets 3 temporary tablespace temp; create user tickets identified by "123456" * ERROR at line 1: ORA-01920: user name 'TICKETS' conflicts with another user or role name
这时系统会提示“用户名冲突”,运行下面的SQL语句
SQL> alter system checkpoint; ----强制写入数据文件
System altered.
SQL> alter system flush shared_pool; ----清楚缓存数据字典信息,
----强制oracle读实际数据(即更改后的数据)
System altered.
四、创建相同的用户名
SQL> create user tickets identified by "123456" 2 default tablespace yytickets 3 temporary tablespace temp; User created. SQL> grant connect,resource to tickets; Grant succeeded. SQL> commit; Commit complete.
这样基本完成Oracle用户名的查找、更改、替换、复制等操作,需要注意的是用户名冲突的排查和解决,以防发生后患。
一、查询更改Oracle用户名
SQL> select user#,name,password from user$ where name ='TICKETS'; USER# NAME PASSWORD ---------- ------------------------------ ------------------------------ 78 TICKETS 21EDA78F89D6FACD
二、更改用户名
SQL> update user$ set name='TICKETS_BAK' where user#=78; 1 row updated. SQL> commit; Commit complete.
三、创建同样的Oracle用户名
SQL> create user tickets identified by "123456" 2 default tablespace yytickets 3 temporary tablespace temp; create user tickets identified by "123456" * ERROR at line 1: ORA-01920: user name 'TICKETS' conflicts with another user or role name
这时系统会提示“用户名冲突”,运行下面的SQL语句
SQL> alter system checkpoint; ----强制写入数据文件
System altered.
SQL> alter system flush shared_pool; ----清楚缓存数据字典信息,
----强制oracle读实际数据(即更改后的数据)
System altered.
四、创建相同的用户名
SQL> create user tickets identified by "123456" 2 default tablespace yytickets 3 temporary tablespace temp; User created. SQL> grant connect,resource to tickets; Grant succeeded. SQL> commit; Commit complete.
这样基本完成Oracle用户名的查找、更改、替换、复制等操作,需要注意的是用户名冲突的排查和解决,以防发生后患。
2014-12-22 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
向TA提问 私信TA
知道合伙人软件行家
采纳数:925
获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:
向TA提问 私信TA
关注
展开全部
oracle 数据库版本达到11.2.0.2以上,可以使用隐含参数_enable_rename_user来修改。
SQL> select version from v$instance ;
VERSION
----------------------------------
11.2.0.3.0
SQL> alter system set "_enable_rename_user"=true scope=spfile ;
System altered.
SQL> startup restrict force;
SQL> alter user dexter rename to dexter000 identified by xiaojun ;
User altered.
SQL> alter system set "_enable_rename_user"=false scope=spfile
2 ;
System altered.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个不可以改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询