ORA-28291故障修复指南,轻松解决Kerberos Principal缺失问题,远程处理无忧,助您高效恢复数据库连接

文章导读
快速修复步骤:1. 检查Kerberos principal是否正确配置,使用klist -k查看密钥表。2. 在sqlnet.ora中添加SQLNET.KERBEROS5_CC_NAME和AUTHENTICATION_SERVICES=(KERBEROS5)。3. 使用okinit用户名@REALM初始化票据。4. 运行sqlplus /@tnsname测试连接。5. 如果远程,重启监听并验证k
📋 目录
  1. A Oracle社区修复案例
  2. B 数据库博客教程
  3. C 技术论坛帖子
  4. D 支持文档摘录
  5. E 经验分享文章
  6. F 问答平台回答
A A

快速修复步骤:1. 检查Kerberos principal是否正确配置,使用klist -k查看密钥表。2. 在sqlnet.ora中添加SQLNET.KERBEROS5_CC_NAME和AUTHENTICATION_SERVICES=(KERBEROS5)。3. 使用okinit用户名@REALM初始化票据。4. 运行sqlplus /@tnsname测试连接。5. 如果远程,重启监听并验证krb5.conf文件路径。重启数据库服务即可恢复。

Oracle社区修复案例

ORA-28291: Attempted to use an invalid principal name. 这个错误通常是因为Kerberos票据无效或principal名称错误。解决方案:在客户端执行okinit user@EXAMPLE.COM,确认票据有效。然后检查tnsnames.ora和sqlnet.ora配置,确保KERBEROS5_LOGIN_*参数正确。远程处理时,使用ssh无密码登录服务器执行命令,避免本地票据过期。

数据库博客教程

遇到ORA-28291时,先验证KRB5_CONFIG环境变量是否指向正确的krb5.conf文件。编辑sqlnet.ora添加:AUTHENTICATION_SERVICES= (BEQUEATH, TCPS, KERBEROS5) SQLNET.KERBEROS5_CC_NAME = FILE:/tmp/krb5cc_$(whoami) KERBEROS5_CONF = /etc/krb5.conf。然后okdinit -f user@REALM,测试连接sqlplus /@db。

技术论坛帖子

我的情况是principal缺失,重装krb5-libs和krb5-workstation后,生成keytab文件kadmin -q 'ktadd -k /etc/krb5.keytab oracle/oraclehost@REALM'。复制到数据库服务器,设置权限chown oracle:oinstall /etc/krb5.keytab chmod 600。然后在wallet中配置,远程重启lsnrctl stop; lsnrctl start。

支持文档摘录

对于ORA-28291,确认服务principal与tnsnames.ora中的服务名匹配。使用kinit -k -t keytab user来获取票据。sqlnet.log中查看详细错误,如果是clock skew,同步时间ntpdate pool.ntp.org。远程无忧,通过putty执行脚本批量修复多节点。

ORA-28291故障修复指南,轻松解决Kerberos Principal缺失问题,远程处理无忧,助您高效恢复数据库连接

经验分享文章

轻松解决:1. oklist检查票据。2. 如果缺失,okinit。3. 修改sqlnet.ora:SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5) KERBEROS5_CC_NAME=FILE:/tmp/krb5cc_%u。4. 测试okinit后sqlplus username/''@tns。远程用ansible playbook一键部署配置。

问答平台回答

问题:远程服务器ORA-28291怎么修?答:scp sqlnet.ora到服务器,ssh执行okinit $(whoami)@REALM,然后kdestroy旧票据,重init。验证echo $KRB5CCNAME确保正确。数据库侧无需重启,连接即恢复。

FAQ
Q: ORA-28291是什么原因?
A: Kerberos principal无效或票据过期。
Q: 如何远程修复?
A: 用ssh登录,okinit后测试sqlplus。
Q: keytab文件怎么生成?
A: kadmin -q 'ktadd -k keytab oracle/host@REALM'。
Q: 修复后怎么验证?
A: klist查看票据,sqlplus /@tns连接成功。