[terry笔记]更改oracle用户名

更改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

你可能感兴趣的:(oracle)