oracle 如何更改schema名称?

zwghvu4y  于 2023-04-20  发布在  Oracle
关注(0)|答案(6)|浏览(315)

我创建了一个用户:

CREATE USER gds_map
IDENTIFIED BY gds_map;

现在我需要改一个名字。我试着更新或找到其他方法,但还没有找到任何东西。
我会很高兴任何提示。

dohp0rv5

dohp0rv51#

***如果要修改模式的名称,则应在USER$***上具有preveledegs
1.获取schema名称的Id

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

2.修改schema名称

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.修改新schema的密码

SQL> ALTER USER new_schema  IDENTIFIED BY new_pass;
iszxjhcz

iszxjhcz2#

你不能(至少不是以一种受支持的或模糊负责的方式)。你需要用新的用户名创建一个新用户并删除旧用户。

zzwlnbp8

zzwlnbp83#

不存在重命名oracle架构的方法。
试试
1-创建新架构
2-导出旧模式,

$exp owner=test2

3-将旧模式导入新模式,

$imp fromuser=test2 touser=newuser_name
yi0zb3m4

yi0zb3m44#

这样做
1-以系统身份登录
2-执行这个:update sys.user$ set name= 'new_name' where name = 'old_name';
3-然后重新启动数据库

yftpprvb

yftpprvb5#

我经常需要这样做,我甚至写了一篇关于这个主题的文章
我使用的解决方法是使用环回dblink将用户“克隆”到具有不同名称的同一DB。
它非常快,最后,在成功检查之后,您可以放弃旧的模式。
在这里检查:http://www.dbarj.com.br/en/2014/11/rename-schema-oracle-11g-loopback-dblink/

67up9zun

67up9zun6#

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

alter user USER_NAME identified by <enter_new_password>;

相关问题