您的位置:首页 > 数据库 > Oracle

修改oracle数据库用户名及密码

2014-09-12 01:06 225 查看
--直接修改底层表 USER$ 更换用户名

1、windows 平台下运行 cmd

2、sqlplus /nolog

3、SQL> connsys/lmis@lmisdx_localas sysdba 连接到数据库。通常可以用sys用户登陆。

4、SQL> select * from user$; 找到 name为需要修改的用户的user#。

5、SQL> UPDATE USER$ SET NAME='新用户名' WHERE USER#=38;

已更新 1 行。

6、SQL> COMMIT;提交完成。

7、SQL> ALTER SYSTEM CHECKPOINT;

系统已更改。

8、SQL> ALTER USER 新用户名 IDENTIFIED BY 新密码;

此时会提示新用户不存在。

SQL> ALTER USER 新用户名 IDENTIFIED BY 新密码

*ERROR 位于第 1 行:ORA-01918: 用户'新用户'不存在

9、SQL> ALTER SYSTEM FLUSH SHARED_POOL;

系统已更改。

10、SQL> ALTER USER 新用户 IDENTIFIED BY 新密码;

用户已更改。

注意:这里的 新用户 不能带有引号,如“新用户”;新密码也不能带有引号。

11、测试连接

SQL> CONN 新用户/新密码@lmisdx_local;

已连接。

12、SQL> SELECT * FROM TAB;

查看新用户下是否有原用户的对象,包括表等。

13、SQL> CONN / AS SYSDBA已连接。

14、SQL> SHOW USER --查看当前连接用户

为"SYS"

15、SQL> SHUTDOWN IMMEDIATE --关闭数据库

数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。

16、SQL> STARTUP --启动数据库

ORACLE 例程已经启动。......数据库装载完毕。数据库已经打开。

17、可以看出没有再恢复为TEST

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

经本人验证,只有 新用户 和 新密码 使用大写的英文字母,才好使。小写英文字母不行。

注:

在修改完用户名后需要重新设置用户密码:

alter user kt_sale IDENTIFIED BY VALUES '未修改用户名之前password字段中村抽的已加密的字符串'

注:

在操作过程中有可能会导致用户被锁

--查看被锁的用户

select LOCK_DATE,username from dba_users where username='USERNAME';

LOCK_DATE为空说明没有锁定,非空为锁定。

-解锁方法

ALTER USER USER_NAME ACCOUNT UNLOCK;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: