• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle 中如何更改用户名

mysql 搞代码 4年前 (2022-01-09) 7次浏览 已收录 0个评论

实际工作中,有时候需要修改用户名,而通常的做法是exp imp这样的方式,而如果数据量大的话exp imp的方式会很浪费时间,所以下面写上如何通

实际工作中,,有时候需要修改用户名,而通常的做法是exp imp这样的方式,而如果数据量大的话exp imp的方式会很浪费时间,所以下面写上如何通过修改Oracle基表的方式来修改用户名。

— 直接修改底层表USER$更改用户名(该方法在Oracle9i中测试通过)

SQL> UPDATE USER$ SET WHERE USER#=91;

已更新 1 行。

SQL> COMMIT;

提交完成。

SQL> ALTER SYSTEM CHECKPOINT;

系统已更改。

SQL> ALTER USER TT IDENTIFIED BY VALUES ‘294CE6E7131DD890’;

ALTER USER TT IDENTIFIED BY VALUES ‘294CE6E7131DD890’

*

ERROR 位于第 1 行:

ORA

本文来源gaodai.ma#com搞#代!码网_

-01918: 用户’TT’不存在

  强制 Oracle 读取实际数据,而不是读取缓存

SQL> ALTER SYSTEM FLUSH SHARED_POOL;

系统已更改。

SQL> ALTER USER TT IDENTIFIED BY VALUES ‘294CE6E7131DD890’;

用户已更改。

  测试连接

SQL> CONN TT/TT

已连接。

SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID

—————————— ——- ———-

TEST_TT TABLE

SQL> CONN / AS SYSDBA

已连接。

SQL> SHOW USER

USER 为”SYS”

SQL> SHUTDOWN IMMEDIATE

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> STARTUP

ORACLE 例程已经启动。

……

数据库装载完毕。

数据库已经打开。

  可以看出没有再恢复为TEST

SQL> SELECT USER#,NAME,PASSWORD FROM USER$ WHERE USER#=91;

USER# NAME PASSWORD

———- —————————— —————-

91 TT 294CE6E7131DD890

SQL> CONN TT/TT

已连接。

  查看数据对象

SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID

—————————— ——- ———-

TEST_TT TABLE

SQL> SELECT * FROM TEST_TT;

A

A

  对象权限依然有效

SQL> SELECT * FROM TEST1.TEST1_TT;

A

A

  系统权限依然有效

SQL> CREATE TABLE KK AS SELECT * FROM TEST1.TEST1_TT;

表已创建。

SQL> SELECT * FROM TAB;

TNAME TABTYPE CLUSTERID

—————————— ——- ———-

KK TABLE

TEST_TT TABLE

SQL> CONN / AS SYSDBA

已连接。

SQL> SHOW USER

USER 为”SYS”

–DROP USER 也没有问题

SQL> DROP USER TT CASCADE;

用户已丢弃

SQL> DROP USER TEST1 CASCADE;

用户已丢弃


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle 中如何更改用户名
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址