erp oracle数据库连接失败,今天解决的问题:SAP无法连接Oracle故障解决

SAP

无法连接Oracle故障解决

原因:

晚上8点多,远程用户认为小型机反应太慢,重起了小型机。然后重新启动Oracle,启动SAP的时候无法连接成功Oracle。

故障分析;

昨天下午改过很多操作系统和数据库的密码。其中Oracle用户system/sys/sapr3都更改了密码。

Startsap的部分log:startdb.log显示:

------------------------------ Thu Jan 10 18:39:59 CST 2002

starting database

Oracle Server Manager Release 3.1.7.0.0 - Production

Copyright (c) 1997, 1999, Oracle Corporation.  All Rights Reserved.

Oracle8i Enterprise Edition Release 8.1.7.2.0 - Production

With the Partitioning option

JServer Release 8.1.7.2.0 - Production

Connected.

ORACLE instance started.

Total System Global Area                        281587604 bytes

Fixed Size                                          73620 bytes

Variable Size                                   127455232 bytes

Database Buffers                                153001984 bytes

Redo Buffers                                      1056768 bytes

Database mounted.

Database opened.

Server Manager complete.

------------------------------ Thu Jan 10 18:40:05 CST 2002

Connect to the database to verify, that the database is now open

R3trans check finished with return code: 12

*** ERROR: Startup of database failed

Notify Database Administrator.

------------------------------ Thu Jan 10 18:40:06 CST 2002

/usr/sap/DEV/SYS/exe/run/startdb: Terminating with error code 2

使用R3trans , 查看用法,有-w 生成日志文件选项。

执行命令:

R3trans –x –w /home/devadm/trans.log,分析log:

4 ETW000  [developertrace,0] Got ORACLE_SID=DEV from environment

4 ETW000                                                        133  0.192962

4 ETW000  [developertrace,0] Got NLS_LANG=AMERICAN_AMERICA.WE8DEC from environment

4 ETW000                                                         69  0.193031

4 ETW000  [developertrace,0] Logon as OPS$-user to get SAPR3's password

4 ETW000                                                         39  0.193070

4 ETW000  [developertrace,0] Connecting as /@DEV on connection 0 ...

4 ETW000                                                         37  0.193107

4 ETW000  [developertrace,0] -->oci_logon(con_hdl=0, user='', dbname='DEV')

4 ETW000                                                         44  0.193151

4 ETW000  [developertrace,0] Thu Jan 10 18:42:38 2002         81677  0.274828

4 ETW000  [developertrace,0] Now I'm connected to ORACLE         69  0.274897

4 ETW000  [developertrace,0] Got SAPR3's password from table SAPUSER

4 ETW000                                                       1172  0.276069

4 ETW000  [developertrace,0] Disconnecting from connection 0 ...

4 ETW000                                                         37  0.276106

4 ETW000  [developertrace,0] -->oci_logoff(con_hdl=0)            56  0.276162

4 ETW000  [developertrace,0] Now I'm disconnected from ORACLE

4 ETW000                                                        869  0.277031

4 ETW000  [developertrace,0] Try to connect with the password I got from OPS$-user

4 ETW000                                                         39  0.277070

4 ETW000  [developertrace,0] Connecting as SAPR3/@DEV on connection 0 ...

4 ETW000                                                         40  0.277110

4 ETW000  [developertrace,0] -->oci_logon(con_hdl=0, user='SAPR3', dbname='DEV')

4 ETW000                                                         43  0.277153

4 ETW000  [dboci.c ,0] *** ERROR => OCI-call 'olog' failed: rc = 1017

4 ETW000                                                      88638  0.365791

4 ETW000  [dbsloci.,0] *** ERROR => CONNECT failed with sql error '1017'

4 ETW000                                                         51  0.365842

4 ETW000  [dblink  ,627] ***LOG BY2=>sql error 1017   performing CON

4 ETW000                                                        153  0.365995

4 ETW000  [dblink  ,627] ***LOG BY0=>                            26  0.366021

2EETW169 no connect possible: "DBMS = ORACLE                           --- dbs_ora_tnsname = 'DEV'"

可以看到,其实SAP的OS用户DEVADm是可以正常连接数据库的。问题出现在sapr3这个数据库用户无法连接到Oracle这个问题上。错误原因是1017,就是错误的用户名/口令。

所以知道是SAPR3的口令不对。但是实际上SAPR3的口令就是默认的SAP。可以用sapr3/sap正常连接数据库。

根据log文件显示,这个口令是从ops$devadm用户的唯一的表sapuser里面取出来的。所以可能是ops$devadm的表里面的记录的密码和数据库的dba_users里面的表的记录的值不一样。

根据另外的一套系统的值,更新ops$devadm用户的表SAPUSER里面的密码记录,启动SAP成功。

解决方案:

更新OPS$DEVADM用户的表SAPUSER里面的密码记录,改成和产品数据库的一样。

经验:

不能直接在Oracle里面修改SAPR3的用户的口令。因为他的口令记录在dba_users和ops$devadm用户的SAPUSER里面。可能导致数据库不一致,SAP无法正常启动。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值