请问ORACLE用户可以改名吗?

wuhuar 2008-11-23 11:11:03
在ORACLE数据库中,我为所有的同事都建了一个用户,比如张三,李四
但后来张三同志调离了本部门,来了一个新同事王五,
他可以用张三的用户名进来,但总觉得不爽,
是否可以在不删除张三用户名和表空间的情况下,直接把张三的名字改为李四,让李四使用自己的名字?

...全文
840 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
whmng 2010-04-08
  • 打赏
  • 举报
回复
有这样的需求,还不想迁移数据
zhouxu_hust 2008-11-24
  • 打赏
  • 举报
回复
····
又是违规昵称 2008-11-24
  • 打赏
  • 举报
回复
看8楼

dawugui
爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开)
# 总技术分:144676
# 总技术分排名:25


这个人, 怕快要成仙了
BlueskyWide 2008-11-23
  • 打赏
  • 举报
回复
比如:张三用户给李四

1.可以使用exp从张三中导出该用户所有内容(如生成 张三.dmp文件);
2.可以使用原来的表空间创建李四用户。imp时,将 张三.dmp文件导入至 李四用户中即可。



[Quote=引用楼主 wuhuar 的帖子:]
在ORACLE数据库中,我为所有的同事都建了一个用户,比如张三,李四
但后来张三同志调离了本部门,来了一个新同事王五,
他可以用张三的用户名进来,但总觉得不爽,
是否可以在不删除张三用户名和表空间的情况下,直接把张三的名字改为李四,让李四使用自己的名字?
[/Quote]
Andy__Huang 2008-11-23
  • 打赏
  • 举报
回复
用户名是不可更改的,但你可以删除旧用户名,创建新用户名

象你这种问题的解决办法是:通过角色授权
创建一个角色,然后给角色分配权限,再通过角色把权限分配给用户
当旧用户离职,可以直接把它的用户删除;再创建一个新用户,然后通过角色授权就可以了

hebo2005 2008-11-23
  • 打赏
  • 举报
回复
可以新建个用户,然后把老用户的权限全给他
dawugui 2008-11-23
  • 打赏
  • 举报
回复
不建议改用户.

将原来东西用exp导出.

然后建立新用户,再使用imp导入.

最后删除原来的用户.
wffffc 2008-11-23
  • 打赏
  • 举报
回复
网上搜到的,上面是我自己测试的结果,还真的可以,但是不知道有没有负作用,楼主慎用!
保险的做法还是删了重建。
wffffc 2008-11-23
  • 打赏
  • 举报
回复
SQL> conn wf/oracle
已连接。
SQL> select user from dual;

USER
------------------------------
WF

SQL> select * from tab;

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
A TABLE
BIN$eHrWRN75R1Oi263SWp2EDA==$0 TABLE
BIN$wXPZb1lRSJCKSgB+O3jkXQ==$0 TABLE
BORROW TABLE
DEPT TABLE
DEPT_EMP VIEW
EMP TABLE
TBUSER_INFO TABLE

已选择8行。

SQL> conn / as sysdba
已连接。
SQL> update user$ set name='ZZ' where name='WF';

已更新 1 行。

SQL> commit;

提交完成。

SQL> alter system checkpoint;

系统已更改。

SQL> alter system flush shared_pool;

系统已更改。
SQL> alter user ZZ identified by zhuzhu
2 /

用户已更改。

SQL> conn zz/zhuzhu
已连接。
SQL> select * from tab;

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
A TABLE
BIN$eHrWRN75R1Oi263SWp2EDA==$0 TABLE
BIN$wXPZb1lRSJCKSgB+O3jkXQ==$0 TABLE
BORROW TABLE
DEPT TABLE
DEPT_EMP VIEW
EMP TABLE
TBUSER_INFO TABLE

已选择8行。

SQL> select count(*) from emp;

COUNT(*)
----------
14
icss_zhen 2008-11-23
  • 打赏
  • 举报
回复
呵,3楼的可以,不过还可以drop 旧用户,再create新用户,将旧用户的权限附给新用户
lwmonster 2008-11-23
  • 打赏
  • 举报
回复
3楼高见

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧