关于oracle用户名与密码的问题

以你之姓@ 2022-07-12 02:53 240阅读 0赞

1.修改oracle用户名和密码

使用无密码方式登录数据库

sqlplus /nolog

connect /as sysdba

SQL> select user#,name,password from user$ where name =’TICKETS’;

  1. USER\# NAME PASSWORD

-————- ——————————————— ———————————————
78 TICKETS 21EDA78F89D6FACD

更改用户名

SQL> update user$ set name=’TICKETS_BAK’ where user#=78;

1 row updated.

SQL> commit;

Commit complete.

用户名更改后需要清楚缓存数据字典信息。

SQL> alter system checkpoint; ——强制写入数据文件

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

System altered.

并变更用户登录密码。

SQL> alter user TICKETS_BAK
identified by xxxxxx;

User altered.

2.密码过期问题

使用sqlplus登陆oracle数据库时提示“ORA-28002: 7 天之后口令将过期” 或提示 密码过期。

  【原因/触发因素】

  确定是由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。

同样使用无密码方式登录数据库

sqlplus /nolog
connect /as sysdba

  1. 查看用户的proifle是哪个,一般是default
  2. sql>SELECT username,PROFILE FROM dba\_users;
  3. 查看指定概要文件(如default)的密码有效期设置:
  4. sql>SELECT \* FROM dba\_profiles s WHERE s.profile=\\'DEFAULT\\' AND resource\_name=\\'PASSWORD\_LIFE\_TIME\\';
  5. 将密码有效期由默认的180天修改成“无限制”:
  6. sql>ALTER PROFILE DEFAULT LIMIT PASSWORD\_LIFE\_TIME UNLIMITED;
  7. 修改之后不需要重启动数据库,会立即生效。
  8. 修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
  9. 已经被提示的帐户必须再改一次密码,举例如下:
  10. $sqlplus / as sysdba
  11. sql> alter user smsc identified by <原来的密码> ----不用换新密码
  12. oracle11g启动参数resource\_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。以上的帐户名请根据实际使用的帐户名更改。

发表评论

表情:
评论列表 (有 0 条评论,240人围观)

还没有评论,来说两句吧...

相关阅读

    相关 关于svn用户名密码问题

    在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法。 下面的笨方法是自己查阅资料自己总结的。 方案: 在Ecli