侧边栏壁纸
博主头像
★街角晚灯★博主等级

博观而约取 厚积而薄发

  • 累计撰写 450 篇文章
  • 累计创建 183 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

oracle The password of the common user has expired

WinJay
2023-11-03 / 0 评论 / 0 点赞 / 9 阅读 / 3615 字 / 正在检测是否收录...
温馨提示:
文章发布较早,内容可能过时,阅读注意甄别。。。。

oracle The password of the common user has expired

场景

如标题所说,今天使用Navicat连接Oracle时页面一直弹not logged on,CSDN一番后定位到原来是Oracle密码过期the password has expired(默认180天)。继续CSDN解决办法,网上很多,这里给一个解决办法:

  • 打开cmd命令窗口,输入sqlplus,提示输入用户名/密码

image-20231031100953208

  • 连接到Oracle后,输入语句查看密码有效期(默认180天)
SELECT username, account_status, expiry_date
FROM dba_users
WHERE username = '您的用户名';		

# 示例:
SELECT username, account_status, expiry_date
FROM dba_users
WHERE username = 'SYSTEM';	# 用户名必须大写;小写的话识别不出来。

image-20231031093239206

这个查询将返回包括用户名、帐户状态和密码过期日期的信息。帐户状态可以是以下之一:

  • OPEN:帐户是激活的。
  • EXPIRED(GRACE):密码已经过期,但仍在宽限期内。
  • EXPIRED & LOCKED:密码已经过期并且帐户已被锁定。
  • LOCKED:帐户已被管理员锁定。

密码的过期日期(expiry_date)将显示密码何时将过期。如果密码状态是 "EXPIRED(GRACE)",用户可能还可以在宽限期内更改密码。

如果您不确定管理员用户名是什么,您可以尝试查询dba_users视图以获取数据库中的所有用户,然后从中选择合适的管理员用户;通过这种方式,您可以列出数据库中的所有用户并查看其帐户状态和密码有效期情况。

SELECT username, account_status, expiry_date
FROM dba_users;

image-20231031095659654

image-20231031093459252

设置时间无限制

先查看现在的信息,查看是否有过期时间:

SELECT username, account_status, expiry_date
FROM dba_users
WHERE username = 'SYSTEM';

image-20231031101959488

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

这个命令会更改默认配置文件的密码寿命策略,将密码生命周期设置为无限制。默认情况下,SYSTEM用户使用默认配置文件,因此此命令将影响SYSTEM用户。

请注意,修改密码策略可能会影响数据库的安全性,因为无限制的密码策略可能会降低安全性。如果您决定将密码策略更改为无限制,请确保采取其他措施来增强数据库的安全性,例如采用强密码策略、定期监视数据库帐户和密码,以及限制访问权限。

请谨慎操作并根据数据库的特定需求和安全策略来设置密码有效期策略。

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
ALTER USER SYSTEM PROFILE DEFAULT;

image-20231031101809124

这两个命令将首先更改默认配置文件的密码策略为无限制,然后将SYSTEM用户的配置文件设置为默认配置文件,从而确保SYSTEM用户遵循无限制的密码策略。请注意,这将仅影响SYSTEM用户,而不会影响其他用户的密码策略。

image-20231031101848330

解锁

执行完上面的语句账户会被锁,输入下面语句解锁原密码;

如果异常退出的话,需要确保您有足够的权限来执行此操作,通常需要具有SYSDBADBA权限的用户才能执行此操作。如sys as sysdba

ALTER USER 用户名 IDENTIFIED BY 密码 ACCOUNT UNLOCK;
ALTER USER SYSTEM ACCOUNT UNLOCK;



alter user system account unlock

alter user system identified by litsoft account unlock;

当您执行ALTER USER命令来解锁用户帐户时,更改将立即生效,而无需显式提交。这是因为ALTER USER命令是一个DDL(数据定义语言)命令,它会立即影响数据库的结构和对象,而不是数据更改。

 sqlplus 'system/"P@88W0rd"'@GENDB



 sqlplus system/\"P@88W0rd\"@GENDB
 
sqlplus system/\"P@88W0rd\"@oradata
 
 
 
 exp sqlplus system/\"P@88W0rd\"@localhost:1521/orcl
exp sqlplus system/\"P@88W0rd\"@localhost:1521/GENDB

conn system/\"xxx@yyy\"@localhost:1521/orcl
  
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区