惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
N
News and Events Feed by Topic
T
Tor Project blog
AI
AI
S
Schneier on Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News: Ask HN
Hacker News: Ask HN
Spread Privacy
Spread Privacy
The Last Watchdog
The Last Watchdog
B
Blog
G
GRAHAM CLULEY
Recent Commits to openclaw:main
Recent Commits to openclaw:main
W
WeLiveSecurity
GbyAI
GbyAI
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
Check Point Blog
SecWiki News
SecWiki News
Y
Y Combinator Blog
I
Intezer
S
Securelist
WordPress大学
WordPress大学
小众软件
小众软件
Google DeepMind News
Google DeepMind News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
美团技术团队
Schneier on Security
Schneier on Security
F
Full Disclosure
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Proofpoint News Feed
Jina AI
Jina AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Help Net Security
Help Net Security
P
Privacy International News Feed
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
MyScale Blog
MyScale Blog
Vercel News
Vercel News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Threatpost
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
T
Tailwind CSS Blog
L
Lohrmann on Cybersecurity
Forbes - Security
Forbes - Security
C
Cisco Blogs
The GitHub Blog
The GitHub Blog
博客园 - 司徒正美

博客园 - dirgo

Oracle关联表删除数据和更新数据 logback-spring.xml引入了base.xml日志文件默认生成在哪里? application.yml中Logback相关配置 org/springframework/boot/logging/logback/defaults.xml的内容和作用 logback-spring.xml 中<include resource="org/springframework/boot/logging/logback/base.xml"/>作用 Spring Boot 项目 Logback 日志框架配置文件logback-spring.xml详解 梅特勒托-托利多衡器串口连续输出数据格式的说明 utf-8编码详解 mybaits updateWrapper更新报错:无效的列类型: 1111 @RequestPart和@RequestParam有什么区别 如何避免Mass Assignment漏洞? 关于vxe-table v4 导出大数据量excel浏览器卡死问题的解决 开源的Linux换源和安装docker脚本 wsl常用命令 使用网页静默打印 在Oracle中,授予用户角色和权限 Linux下查看当前哪些端口在监听状态,哪些端口在连接状态 mobaxterm常用配置 Windows下udp工具 Oracle表空间用户授权创建dblink等操作 用nmap扫描找出某个网段下空闲的ip脚本 Oracle 19c 常用运维 SQL Linux下设置CDB/PDB 环境的Oracle19c开机启动 Oracle是 CDB/PDB 环境下,让PDB在数据库启动后自动打开 怎样禁止dbeaver点击导航中数据库自动切换sql编辑器所属的数据库 Oracle 19c占内存高的解决方法 sudo -i -u zhangsan 与su - zhangsan区别,在现代 Linux 系统中,推荐使用 sudo 进行权限切换 Linux 的目录结构英文全称(及可能的命名背景)和更详细的说明 利用 Logback 的热加载特性,安全的迁移日志,改变日志保存路径 Linux中查询进程内存占用 iotDB调整内存占用及注意事项 Eclipse Milo 处理PLC&quot;字(Word)&quot;类型,最直接和正确的做法是使用其内置的 UShort 类型 centos7.9安装minio RELEASE.2025-04-22T22-12-26Z centos7.9编译安装nginx 1.28.1 linux(centos7.9)编译安装redis7.2.4 UFW 防火墙常用命令速查表
Oracle DataBaseLink 提示密码过期
dirgo · 2026-07-22 · via 博客园 - dirgo

当通过 Database Link 查询时,如果遇到 ORA-28001: the password has expired 错误,说明远程数据库上该链接使用的用户密码已经过期。处理思路分三步:远程库重置密码 → 本地库更新链接密码 → 调整策略防止再过期


1. 在远程数据库重置用户密码

以 DBA 或有 ALTER USER 权限的身份登录远程数据库,确认状态并修改密码:

-- 检查用户状态和密码过期时间
SELECT USERNAME, ACCOUNT_STATUS, EXPIRY_DATE, PROFILE
FROM DBA_USERS
WHERE USERNAME = '远程用户名';   -- 改成实际的 DBLink 用户

-- 修改密码(同时会重置过期时间)
ALTER USER 远程用户名 IDENTIFIED BY "新密码";

-- 如果账户被锁定,一并解锁
ALTER USER 远程用户名 ACCOUNT UNLOCK;

如果因为密码已过期连 SQL*Plus 都登不上,先用 / as sysdba 登录再操作。


必须同步本地 DBLink 的密码,否则即使远程密码已更新,本地仍会因凭证错误而失败。

-- 私有 DBLink
ALTER DATABASE LINK 链接名
CONNECT TO 远程用户名 IDENTIFIED BY "新密码";

-- 公有 DBLink
ALTER PUBLIC DATABASE LINK 链接名
CONNECT TO 远程用户名 IDENTIFIED BY "新密码";

如果记得链接的具体定义,也可以删除重建:

DROP DATABASE LINK 链接名;
CREATE DATABASE LINK 链接名
CONNECT TO 远程用户名 IDENTIFIED BY "新密码"
USING '远程TNS名';

验证是否修复:

SELECT * FROM dual@链接名;

3. 防止再次过期(推荐)

密码过期通常是因为用户的 PROFILE 中设置了 PASSWORD_LIFE_TIME。可以把该用户的密码设为永不过期(或延长至一个很长的周期)。

方法一:修改现有 PROFILE 限制(影响使用同一 profile 的所有用户)

ALTER PROFILE 用户当前的PROFILE名 LIMIT PASSWORD_LIFE_TIME UNLIMITED;
CREATE PROFILE dblink_profile LIMIT PASSWORD_LIFE_TIME UNLIMITED;
ALTER USER 远程用户名 PROFILE dblink_profile;

修改 PROFILE 后,已经过期的用户不会自动恢复,需要重新改一次密码(即重复第 1 步)才会应用新的生命周期。


补充说明

  • 权限要求:本地修改 DBLink 密码需要拥有该链接或具有 ALTER DATABASE LINK 权限;远程改密码需要 ALTER USER 权限。
  • 无法访问远程库? 请联系远程 DBA 执行第 1 步,然后你在本地执行第 2 步。
  • 安全与合规:如果公司政策不允许密码永不过期,可以设置较长的生命周期(如 365 天),并建立定期更换 + 同步 DBLink 密码的自动化流程。
  • 更安全的方案:如果环境支持,可考虑用 Oracle Wallet 管理凭据,避免在 DBLink 中硬编码密码。

按上述步骤操作后,DBLink 密码过期的问题即可解决。