昨天有客户打电话说,由于机房突然断电,导致数据库服务器宕机,无法启动,经过主机工程师的不懈努力重要启动起来。可数据库启动一直报Fri Jun 21 16:00:34 2024GEN0 started with pid=5, OS id=3027 Fri Jun 21 16:00:34 2024DIAG started with pid=6, OS id=3029 Fri Jun 21 16:00:34 2024DBRM started with pid=7, OS id=3031 Fri Jun 21 16:00:34 2024DIA0 started with pid=8, OS id=3033 Fri Jun 21 16:00:34 2024MMAN started with pid=9, OS id=3035 Fri Jun 21 16:00:34 2024DBW0 started with pid=10, OS id=3037 Fri Jun 21 16:00:34 2024DBW1 started with pid=11, OS id=3039 Fri Jun 21 16:00:34 2024DBW2 started with pid=12, OS id=3041 Fri Jun 21 16:00:34 2024LGWR started with pid=13, OS id=3043 Fri Jun 21 16:00:34 2024CKPT started with pid=14, OS id=3045 Fri Jun 21 16:00:34 2024SMON started with pid=15, OS id=3047 Fri Jun 21 16:00:34 2024RECO started with pid=16, OS id=3049 Fri Jun 21 16:00:34 2024MMON started with pid=17, OS id=3051 Fri Jun 21 16:00:34 2024MMNL started with pid=18, OS id=3053 starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...starting up 1 shared server(s) ...ORACLE_BASE from environment = /home/oracle/app/oracleFri Jun 21 16:00:34 2024Exception [type: SIGSEGV, Address not mapped to object] [ADDR:0x0] [PC:0x418BDAE, nttaddr2bnd()+2158] [flags: 0x0, count: 1]Fri Jun 21 16:00:35 2024ALTER DATABASE MOUNTErrors in file /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_d000_3055.trc (incident=290566):ORA-07445: exception encountered: core dump [nttaddr2bnd()+2158] [SIGSEGV] [ADDR:0x0] [PC:0x418BDAE] [Address not mapped to object] []Incident details in: /home/oracle/app/oracle/diag/rdbms/orcl/orcl/incident/incdir_290566/orcl_d000_3055_i290566.trcUse ADRCI or Support Workbench to package the incident.See Note 411.1 at My Oracle Support for error and packaging details.Dumping diagnostic data in directory=[cdmp_20240621160036], requested by (instance=1, osid=3055 (D000)), summary=[incident=290566].Fri Jun 21 16:00:38 2024Sweep [inc][290566]: completedSweep [inc][289380]: completedSweep [inc][289379]: completedSweep [inc2][290566]: completedSweep [inc2][289380]: completedSweep [inc2][289379]: completedSuccessful mount of redo thread 1, with mount id 1700046371Database mounted in Exclusive ModeLost write protection disabledCompleted: ALTER DATABASE MOUNTFri Jun 21 16:00:39 2024ALTER DATABASE OPEN-----------数据库也能正常启动。
ORA-07445: exception encountered: core dump [nttaddr2bnd()+2158] [SIGSEGV] [ADDR:0x0] [PC:0x418BDAE] [[]---报了此错误,感觉是和地址有关, 问题非常奇怪,数据库正常open后,登录到库里后检查文件也都正常。查看了trc里的内容也都是报address的问题。 查了下MOS,发现这样一篇文章比较符合,说的是主机的hosts文件不符合要求会导致这个问题。 Error in the Alert Log: ORA-7445[nttaddr2bnd] (Doc ID 2393755.1) SYMPTOMS The following error occurred in the alert log: ORA-07445: exception encountered: core dump [nttaddr2bnd()+2246] [SIGSEGV] [ADDR:0x0] [PC:0x55869B6] [Address not mapped to object] [] The Call Stack Trace in the associated incident trace file shows: nttaddr2bnd <- ntacaddr2bnd <- nsgetaddr <- kmdcac <- kmdmai <- kmmrdp <-opirip <- opidrv <- sou2o <- opimai_real <- ssthrdmain <- main CAUSE This issue is caused by a misconfiguration of the file /etc/hosts. For example: $ cat /etc/hosts <IP1> localhost.localdomain localhost <IP2> localhost localhost.localdomain 而本次故障hosts 设置为 127.0.0.1 localhost.localdomain localhost ip1 localhost 1.修改主机名 hostnamectl set-hostname oradb 2.修改hosts ip1 oradb 3.启动数据库。 报错消失。 说到最后,没有想到停电会导致这个问题,所以安装数据库要找专业人员。(猜测安装问到出问题主机应该没有重启过)。
