13

我创建了一个用户:

CREATE USER gds_map
IDENTIFIED BY gds_map;

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

我会很高兴任何提示。

4

6 回答 6

24

如果你想修改一个模式的名字,你应该在 USER$ 上有 preveledegs

1.获取模式名称的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.修改新架构的密码

SQL> ALTER USER new_schema  IDENTIFIED BY new_pass;
于 2015-11-09T13:28:17.050 回答
11

You can't (at least not in a supported or vaguely responsible way). You'd need to create a new user with the new username and drop the old user.

于 2013-09-11T00:32:24.883 回答
6

不存在重命名 oracle 模式的方法。

尝试,

1-创建新架构

2-导出旧模式,

$exp owner=test2

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

$imp fromuser=test2 touser=newuser_name
于 2013-09-11T04:04:52.660 回答
2

做这个

1-以系统登录

2-执行此操作:更新 sys.user$ set name='new_name' where name ='old_name';

3-然后重新启动数据库

于 2014-03-31T09:31:50.260 回答
1

我经常需要这样做,以至于我什至写了一篇关于这个主题的文章

我使用的解决方法是使用环回 dblink 将用户“克隆”到具有不同名称的同一个数据库。

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

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

问候,

罗德里戈·豪尔赫

于 2014-11-08T11:59:14.170 回答
-4

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

alter user USER_NAME identified by <enter_new_password>;
于 2015-03-19T03:36:58.597 回答