如何更改架构名称?

时间:2013-09-11 00:28:32

标签: oracle plsql schema oracle11gr2

我创建了一个用户:

CREATE USER gds_map
IDENTIFIED BY gds_map;

现在我需要更改名称。我试图更新或找到其他方式,但还没有找到任何东西。

我会很高兴任何提示。

6 个答案:

答案 0 :(得分:14)

如果您想修改架构的名称,您应该在USER $

上有preveledegs

<强> 1。获取架构名称的ID

SQL> select user#,NAME from SYS.user$ WHERE NAME='TEST';
USER# NAME
---------- ------------------------------
*93* TEST

<强> 2。修改架构的名称

SQL> UPDATE USER$ SET NAME='NEW_SCHEMA_NAME' WHERE USER#=93;

第3。完成提交

SQL> COMMIT;

<强> 4。修改系统SCN

SQL> ALTER SYSTEM CHECKPOINT;

5.然后刷新shared_pool

SQL> ALTER SYSTEM FLUSH SHARED_POOL;

<强> 6。修改新架构的密码

SQL> ALTER USER new_schema  IDENTIFIED BY new_pass;

答案 1 :(得分:10)

你不能(至少不是以支持或模糊的方式)。您需要使用新用户名创建新用户并删除旧用户。

答案 2 :(得分:4)

没有方法可以重命名oracle架构。

尝试,

1 - 创建新架构

2 - 导出旧架构,

$exp owner=test2

3 - 将旧架构导入新架构,

$imp fromuser=test2 touser=newuser_name

答案 3 :(得分:1)

这样做

1-以sys登录

2-执行此操作:      更新sys.user $      set name =&#39; new_name&#39;      其中name =&#39; old_name&#39;;

3-然后重启数据库

答案 4 :(得分:0)

我经常需要这么做,以至于我甚至写了一篇关于这个话题的文章

我使用的解决方法是克隆&#34;使用loopback dblink的用户到具有不同名称的同一个DB。

它非常快,最后,在成功检查后,您可以删除旧架构。

在此处查看:http://www.dbarj.com.br/en/2014/11/rename-schema-oracle-11g-loopback-dblink/

此致

罗德里戈豪尔赫

答案 5 :(得分:-3)

在oracle数据库中,您无法重命名用户名,但可以更改密码。

alter user USER_NAME identified by <enter_new_password>;