使用AWS DMS创建Oracle ASM端点失败,报ORA-01005错误
解决AWS DMS连接Oracle ASM端点失败(ORA-01005)的问题
测试端点失败:Application-Status: 1020912, Application-Message: 无法连接到ASM实例(DESCRIPTION=(CONNECT_TIMEOUT=8)(ENABLE=BROKEN)(ADDRESS=(PROTOCOL=TCP)(HOST=abcd.server.com)(PORT=1526))(CONNECT_DATA=(SERVICE_NAME=+ASM))) 用户名或密码无效。, Application-Detailed-Message: 以SYSASM和SYSDBA身份连接ASM失败 ORA-01005: 提供空密码;登录被拒绝
确认密码配置准确性
检查AWS DMS端点配置中输入的密码是否为空,或存在大小写、特殊字符输入错误。ASM实例的SYSASM/SYSDBA账户密码必须非空,且与目标ASM实例中的密码完全匹配。验证ASM账户权限
确保用于连接的账户拥有SYSASM或SYSDBA权限:- 登录Oracle数据库服务器,通过SQL*Plus以特权用户身份执行:
SELECT GRANTEE, PRIVILEGE FROM DBA_SYS_PRIVS WHERE PRIVILEGE IN ('SYSASM', 'SYSDBA'); - 若目标账户无对应权限,执行授权命令:
GRANT SYSASM TO your_username; -- 或根据需求使用 GRANT SYSDBA TO your_username;
- 登录Oracle数据库服务器,通过SQL*Plus以特权用户身份执行:
检查ASM监听配置
确认ASM实例监听服务正常运行,且监听配置正确映射+ASM服务名:- 在ASM服务器执行
lsnrctl status,查看监听是否在1526端口正常运行,且+ASM服务已成功注册。 - 核对
tnsnames.ora中的+ASM条目,确保HOST、PORT、SERVICE_NAME与DMS端点使用的连接字符串完全一致。
- 在ASM服务器执行
排查密码传递异常
若密码包含@、#、$等特殊字符,需确认AWS DMS是否能正确解析。可临时更换为无特殊字符的密码测试,排除转义问题导致的密码失效或被识别为空。验证网络连通性
确保AWS DMS复制实例可访问ASM服务器的1526端口:- 在复制实例所属VPC的安全组中,添加允许访问ASM服务器1526端口的出站规则。
- 在ASM服务器的防火墙/安全组中,添加允许DMS复制实例IP访问1526端口的入站规则。
内容的提问来源于stack exchange,提问作者Ibrahim Basha Imran
相关产品推荐
相关产品推荐

