kkterry

更改oracle的用户名

之前有个需求,整理一个schema的表、索引等规划到一个表空间里,利用expdp/impdp然后remap就完成了,但是整理好的用户名remap变更了,应用又不想修改其连接信息,我便进行了修改用户名,大致过程如下:
oracle无法通过常规方法修改,但可以修改user的基表user$进行用户名的修改


1.查询要更改的用户名

SQL> select user#,name,password from user$ where name like \'ECPPLAN%\';

USER# NAME PASSWORD
---------- ------------------------------ ------------------------------
78 ECPPLAN_TEST 46EDD78F89E6F5CH
112 ECPPLAN_TEST1 4R5T6Y7U8I9O0P3ER

 

2.更改用户名

SQL> update user$ set name=\'ECPPLAN_TEST_BK\' where user#=78;
1 row updated.

SQL> update user$ set name=\'ECPPLAN_TEST\' where user#=112;
1 row updated.

SQL> commit;
Commit complete.

 

3.此时需要两个步骤,否则用户操作会报错:

SQL> alter system checkpoint;  /*强制写入数据文件*/
System altered.

SQL> alter system flush shared_pool;  /*清楚缓存数据字典信息,强制oracle读实际数据(即更改后的数据)*/
System altered.

 

4.再进行修改密码等操作即可登陆:

alter user ecpplan_test identified by "1";

conn ecpplan_test/1

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-11-14
  • 2022-01-04
  • 2022-12-23
  • 2021-12-17
  • 2021-11-18
猜你喜欢
  • 2021-12-30
  • 2021-11-04
  • 2021-12-02
  • 2021-11-27
  • 2021-11-09
  • 2022-01-22
相关资源
相似解决方案