当前位置: 首页 > news >正文

ORACLE数据库实例报错ORA-00470: LGWR process terminated with error宕机问题分析报告

  • 服务概述

10月21号03:22分,BOSS数据库实例发生异常宕机;工程师及时响应此问题并对此故障原因进行分析及相关建议,详细的故障情况及相关日志、TRACE文件的分析及总结、建议,请参阅本文档。

  • hzboss数据库实例宕机分析

4.1 数据库层面日志的分析

4.1.1故障数据库实例alert日志

数据库实例的Alert日志

对故障时间点附近的ALERT日志分析如下:

Wed Oct 21 03:06:22 2024
Thread 1 advanced to log sequence 254206 (LGWR switch)
  Current log# 9 seq# 254206 mem# 0: /boss_sysdata/oradata/dtvboss/redo09.log
Wed Oct 21 03:17:10 2024
WARNING: aiowait timed out 1 times --该时间段系统出现aio等待的告警,该告警由_iowait_timeouts隐含参数控制,超过该参数设置的值后会导致系统宕机,这里并未超过系统设置值。但是提示我们当时系统在io调度上出现了问题。
Wed Oct 21 03:22:11 2024
Errors in file /oracle/admin/dtvboss/bdump/dtvboss_arc0_404.trc:
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 367' --22分17秒系统抛错,进程367持有controlfile的enqueue lock时间被其他进程(arc0)等待超时,该enqueue lock持有时间由隐含参数_controlfile_enqueue_timeout控制,默认为900秒
Wed Oct 21 03:22:17 2024
System State dumped to trace file /oracle/admin/dtvboss/bdump/dtvboss_arc0_404.trc
Wed Oct 21 03:22:50 2024
Errors in file /oracle/admin/dtvboss/bdump/dtvboss_lgwr_365.trc:
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 367' --22分50秒,进程367持有的controlfile的enqueue lock时间被其他进程(lgwr)等待超时抛错
Wed Oct 21 03:22:55 2024
Killing enqueue blocker (pid=367) on resource CF-00000000-00000000 --LGWR进程发现异常查杀持有controlfile equeue lock的进程367
 by killing session 1648.1
Wed Oct 21 03:22:55 2024
Errors in file /oracle/admin/dtvboss/bdump/dtvboss_lgwr_365.trc:
ORA-07445: exception encountered: core dump [ksuklms()+672] [SIGSEGV] [Address not mapped to object] [0x000000062] [] []
Wed Oct 21 03:23:18 2024
Errors in file /oracle/admin/dtvboss/bdump/dtvboss_pmon_343.trc: --后续一系列报错宕机开始
ORA-00470: LGWR process terminated with error
Wed Oct 21 03:23:18 2024
PMON: terminating instance due to error 470
Wed Oct 21 03:23:18 2024
ORA-470 encountered when generating server alert SMG-3503
Wed Oct 21 03:23:18 2024
Errors in file /oracle/admin/dtvboss/bdump/dtvboss_j006_22335.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-00470: LGWR process terminated with error
Wed Oct 21 03:23:22 2024
Termination issued to instance processes. Waiting for the processes to exit
Wed Oct 21 03:23:28 2024
Instance termination failed to kill one or more processes

4.1.2 故障时trace文件分析

故障时,节点数据库实例的alert日志中提到了如下TRACE文件:dtvboss_arc0_404.trc

分析如下:

/oracle/admin/dtvboss/bdump/dtvboss_arc0_404.trc

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /oracle/product/10.2.0/db_1

System name: SunOS

Node name: hzboss-ora1

Release: 5.10

Version: Generic_144488-12

Machine: sun4u

Instance name: dtvboss

Redo thread mounted by this instance: 1

Oracle process number: 23

Unix process pid: 404, image: oracle@hzboss-ora1 (ARC0)

*** SERVICE NAME:(SYS$BACKGROUND) 2024-10-21 03:22:11.264

*** SESSION ID:(1646.3) 2024-10-21 03:22:11.264

*** 2024-10-21 03:22:11.264

Unable to get enqueue on resource CF-00000000-00000000 (ges mode req=3 held=6)

Possible local blocker ospid=367 sid=1648 sser=1 time_held=37 secs (ges mode req=6 held=4)

DUMP LOCAL BLOCKER: initiate state dump for KILL BLOCKER

  possible owner[17.367] on resource CF-00000000-00000000

Dumping process info of pid[17.367] requested by pid[23.404]

ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 367'

-------------------------------------------------------------------------------

ENQUEUE [CF] HELD FOR TOO LONG

 

enqueue holder: 'inst 1, osid 367'

 

Process 'inst 1, osid 367' is holding an enqueue for maximum allowed time.

The process will be terminated.

 

Oracle Support Services triaging information: to find the root-cause, look

at the call stack of process 'inst 1, osid 367' located below. Ask the

developer that owns the first NON-service layer in the stack to investigate.

Common service layers are enqueues (ksq), latches (ksl), library cache

pins and locks (kgl), and row cache locks (kqr).

 

Dumping process 17.367 info:

*** 2024-10-21 03:22:11.300

---------------------------------------------------------------

从这一段信息可以看到,此TRACE文件是ARC0进程的TRACE,ARC0进程的ORACLE SID是23,OS PID是404;

ARC0进程无法获取资源:CF-00000000-00000000 (controlfile enqueue 队列锁),此资源的持有者是pid[17.367]

ARC0进程的TRACE分析

PROCESS 23:

  ----------------------------------------

  SO: 8a9004f88, type: 2, owner: 0, flag: INIT/-/-/0x00

  (process) Oracle pid=23, calls cur/top: 8a95c6650/8a95c6650, flag: (2) SYSTEM

            int error: 0, call error: 0, sess error: 0, txn error 0

  (post info) last post received: 0 0 24

              last post received-location: ksasnd

              last process to post me: b66002018 1 6

              last post sent: 0 0 24

              last post sent-location: ksasnd

              last process posted by me: b66005770 1 2

    (latch info) wait_event=0 bits=0

    Process Group: DEFAULT, pseudo proc: 5eb3388f0

    O/S info: user: oracle, term: UNKNOWN, ospid: 404

    OSD pid info: Unix process pid: 404, image: oracle@hzboss-ora1 (ARC0)

Dump of memory from 0x00000005F033B1F0 to 0x00000005F033B3F8

5F033B1F0 0000000C 00000000 00000008 AF739C70  [.............s.p]

………………………………

5F033B3E0 00000005 000313A7 00000008 AF739C70  [.............s.p]

5F033B3F0 00000006 000313A7                    [........]        

    (FOB) flags=2 fib=8af713780 incno=0 pending i/o cnt=0

     fname=/boss_sysdata/oradata/dtvboss/control03.ctl

     fno=2 lblksz=16384 fsiz=1308

    (FOB) flags=2 fib=8af7133e0 incno=0 pending i/o cnt=0

     fname=/boss_sysdata/oradata/dtvboss/control02.ctl

     fno=1 lblksz=16384 fsiz=1308

    (FOB) flags=2 fib=8af713040 incno=0 pending i/o cnt=0

     fname=/boss_sysdata/oradata/dtvboss/control01.ctl

     fno=0 lblksz=16384 fsiz=1308

    ----------------------------------------

    SO: 8a9778500, type: 11, owner: 8a9004f88, flag: INIT/-/-/0x00

    (broadcast handle) flag: (2) ACTIVE SUBSCRIBER, owner: 8a9004f88,

                       event: 21, last message event: 21,

                       last message waited event: 21, messages read: 0

                       channel: (5eb52cc20) scumnt mount lock

                                scope: 1, event: 22, last mesage event: 20,

                                publishers/subscribers: 0/20,

                                messages published: 1

    ----------------------------------------

    SO: 8a95b7328, type: 4, owner: 8a9004f88, flag: INIT/-/-/0x00

    (session) sid: 1646 trans: 0, creator: 8a9004f88, flag: (51) USR/- BSY/-/-/-/-/-

              DID: 0001-0017-0000000D, short-term DID: 0000-0000-00000000

              txn branch: 0

              oct: 0, prv: 0, sql: 0, psql: 0, user: 0/SYS

    service name: SYS$BACKGROUND

    last wait for 'enq: CF - contention' blocking sess=0x0 seq=43322 wait_time=2929723 seconds since wait started=36

                name|mode=43460004, 0=0, operation=0

    Dumping Session Wait History

     for 'enq: CF - contention' count=1 wait_time=2929723

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929725

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929726

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929726

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929725

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929723

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929725

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929726

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929724

                name|mode=43460004, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929750

                name|mode=43460004, 0=0, operation=0

    temporary object counter: 0

      ----------------------------------------

      UOL used : 0 locks(used=0, free=0)

      KGX Atomic Operation Log 5eaffc848

       Mutex 0(0, 0) idn 0 oper NONE

       Library Cache uid 1646 efd 0 whr 0 slp 0

      KGX Atomic Operation Log 5eaffc890

       Mutex 0(0, 0) idn 0 oper NONE

       Library Cache uid 1646 efd 0 whr 0 slp 0

      KGX Atomic Operation Log 5eaffc8d8

       Mutex 0(0, 0) idn 0 oper NONE

       Library Cache uid 1646 efd 0 whr 0 slp 0

      ----------------------------------------

      SO: 8afaa4330, type: 41, owner: 8a95b7328, flag: INIT/-/-/0x00

      (dummy) nxc=0, nlb=0   

    ----------------------------------------

    SO: 8a97783d8, type: 11, owner: 8a9004f88, flag: INIT/-/-/0x00

    (broadcast handle) flag: (2) ACTIVE SUBSCRIBER, owner: 8a9004f88,

                       event: 24, last message event: 27,

                       last message waited event: 27, messages read: 1

                       channel: (5eb528a48) system events broadcast channel

                                scope: 2, event: 2923059, last mesage event: 27,

                                publishers/subscribers: 0/421,

                                messages published: 1

    ----------------------------------------

    SO: 8a95c6650, type: 3, owner: 8a9004f88, flag: INIT/-/-/0x00

    (call) sess: cur 8a95b7328, rec 8a9591bc8, usr 8a95b7328; depth: 0

      ----------------------------------------

      SO: 8a95d1fb8, type: 5, owner: 8a95c6650, flag: INIT/-/-/0x00

      (enqueue) CF-00000000-00000000 DID: 0001-0017-0000000D

      lv: 00 79 4a fb 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb40f608, lock_flag: 0x0

      own: 0x8a95b7328, sess: 0x8a95b7328, prv: 0x8a95d1fe8

      ----------------------------------------

      SO: 8a9591bc8, type: 4, owner: 8a95c6650, flag: INIT/-/-/0x00

      (session) sid: 1618 trans: 0, creator: 0, flag: (2) -/REC -/-/-/-/-/-

                DID: 0000-0000-00000000, short-term DID: 0000-0000-00000000

                txn branch: 0

                oct: 0, prv: 0, sql: 0, psql: 0, user: 0/SYS

      temporary object counter: 0

    ----------------------------------------

    SO: 8a97ad460, type: 16, owner: 8a9004f88, flag: INIT/-/-/0x00

    (osp req holder)

此段信息可以看到,ARC0进程等待controlfile enqueue 队列锁。等待事件为enq: CF - contention

 

SO: 8a95d1fb8, type: 5, owner: 8a95c6650, flag: INIT/-/-/0x00

      (enqueue) CF-00000000-00000000 DID: 0001-0017-0000000D

      lv: 00 79 4a fb 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb40f608, lock_flag: 0x0

      own: 0x8a95b7328, sess: 0x8a95b7328, prv: 0x8a95d1fe8

这里说明arc0在申请的资源是:res:0x5eb40f608

而在process 17号的ckpt中可以看到0x5eb40f608资源被ckptmode: SSX方式持有持有

CKPT进程的TRACE分析

PROCESS 17:

  ----------------------------------------

  SO: 8a90037d0, type: 2, owner: 0, flag: INIT/-/-/0x00

  (process) Oracle pid=17, calls cur/top: 8a95c5df8/8a95c5df8, flag: (6) SYSTEM

            int error: 0, call error: 0, sess error: 0, txn error 0

  (post info) last post received: 0 0 114

              last post received-location: kcbbza

              last process to post me: 8a9001830 1 6

              last post sent: 0 0 9

              last post sent-location: ksqrcl

              last process posted by me: b66011d18 91 0

    (latch info) wait_event=0 bits=0

    Process Group: DEFAULT, pseudo proc: 5eb3388f0

    O/S info: user: oracle, term: UNKNOWN, ospid: 367

    OSD pid info: Unix process pid: 367, image: oracle@hzboss-ora1 (CKPT)

Dump of memory from 0x00000005EF308A18 to 0x00000005EF308C20

5EF308A10                   0000000C 00000000          [........]

…………………………………………

    ----------------------------------------

    SO: 8a95b9df8, type: 4, owner: 8a90037d0, flag: INIT/-/-/0x00

    (session) sid: 1648 trans: 0, creator: 8a90037d0, flag: (51) USR/- BSY/-/-/-/-/-

              DID: 0001-0011-00000005, short-term DID: 0000-0000-00000000

              txn branch: 0

              oct: 0, prv: 0, sql: 0, psql: 0, user: 0/SYS

    service name: SYS$BACKGROUND

    waiting for 'direct path write' blocking sess=0x0 seq=39369 wait_time=0 seconds since wait started=37

                file number=72, first dba=1, block cnt=1

……………………………………

    ----------------------------------------

    SO: 8a9777a30, type: 11, owner: 8a90037d0, flag: INIT/-/-/0x00

    (broadcast handle) flag: (2) ACTIVE SUBSCRIBER, owner: 8a90037d0,

                       event: 14, last message event: 27,

                       last message waited event: 27, messages read: 1

                       channel: (5eb528a48) system events broadcast channel

                                scope: 2, event: 2923059, last mesage event: 27,

                                publishers/subscribers: 0/421,

                                messages published: 1

    ----------------------------------------

    SO: 8a95c5df8, type: 3, owner: 8a90037d0, flag: INIT/-/-/0x00

    (call) sess: cur 8a95b9df8, rec 8a95b5dc0, usr 8a95b9df8; depth: 0

      ----------------------------------------

      SO: 8a95d1f20, type: 5, owner: 8a95c5df8, flag: INIT/-/-/0x00

      (enqueue) CF-00000000-00000004 DID: 0001-0011-00000005

      lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb507858, mode: S, lock_flag: 0x0

      own: 0x8a95b9df8, sess: 0x8a95b9df8, proc: 0x8a90037d0, prv: 0x5eb507868

      ----------------------------------------

      SO: 8a95d1cc0, type: 5, owner: 8a95c5df8, flag: INIT/-/-/0x00

      (enqueue) CF-00000000-00000000 DID: 0001-0011-00000005

      lv: 00 79 4a fb 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb40f608, mode: SSX, lock_flag: 0x0

      own: 0x8a95b9df8, sess: 0x8a95b9df8, proc: 0x8a90037d0, prv: 0x5eb40f618

      ----------------------------------------

      SO: 8a95b5dc0, type: 4, owner: 8a95c5df8, flag: INIT/-/-/0x00

      (session) sid: 1645 trans: 0, creator: 0, flag: (2) -/REC -/-/-/-/-/-

                DID: 0000-0000-00000000, short-term DID: 0000-0000-00000000

                txn branch: 0

                oct: 0, prv: 0, sql: 0, psql: 0, user: 0/SYS

      temporary object counter: 0

      ----------------------------------------

      SO: 8a95cb468, type: 5, owner: 8a95c5df8, flag: INIT/-/-/0x00

      (enqueue) RS-00000019-00000001 DID: 0001-0011-00000005

      lv: 20 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb40f8c8, mode: SS, lock_flag: 0x0

      own: 0x8a95b9df8, sess: 0x8a95b9df8, proc: 0x8a90037d0, prv: 0x5eb40f8d8

      ----------------------------------------

      SO: 8a95cb338, type: 5, owner: 8a95c5df8, flag: INIT/-/-/0x00

      (enqueue) CF-00000000-00000000 DID: 0000-0011-00000004

      lv: 00 79 4a fb 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb40f608, mode: SS, lock_flag: 0x0

      own: 0x8a95b9df8, sess: 0x8a95b9df8, proc: 0x8a90037d0, prv: 0x8a95d1cf0

    ----------------------------------------

    SO: 8a97ad2c8, type: 16, owner: 8a90037d0, flag: INIT/-/-/0x00

    (osp req holder)

此处可以看到CKPT进程持有(enqueue) CF-00000000-00000000,持有模式是:res: 0x5eb40f608, mode: SSX, lock_flag: 0x0,可以对应到ARC0进程请求的资源。

LGWR进程的TRACE分析

PROCESS 10:

  ----------------------------------------

  SO: b66002018, type: 2, owner: 0, flag: INIT/-/-/0x00

  (process) Oracle pid=10, calls cur/top: b665c6de0/b665c6de0, flag: (6) SYSTEM

            int error: 0, call error: 0, sess error: 0, txn error 0

  (post info) last post received: 0 0 24

              last post received-location: ksasnd

              last process to post me: 8a9000860 1 6

              last post sent: 109 0 4

              last post sent-location: kslpsr

              last process posted by me: 8a902ef90 105 0

    (latch info) wait_event=0 bits=0

    Process Group: DEFAULT, pseudo proc: 5eb3388f0

    O/S info: user: oracle, term: UNKNOWN, ospid: 365

    OSD pid info: Unix process pid: 365, image: oracle@hzboss-ora1 (LGWR)

Dump of memory from 0x00000005EF308810 to 0x00000005EF308A18

5EF308810 00000015 00000000 0000000B 6C1C1158  [............l..X]

  ………………

    ----------------------------------------

    SO: b665cc938, type: 5, owner: b66002018, flag: INIT/-/-/0x00

    (enqueue) RT-00000001-00000000 DID: 0000-000A-00000005

    lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

    res: 0x5eb40f828, mode: X, lock_flag: 0x0

    own: 0xb665bf398, sess: 0xb665bf398, proc: 0xb66002018, prv: 0x5eb40f838

    (FOB) flags=2 fib=8af713780 incno=0 pending i/o cnt=0

     fname=/boss_sysdata/oradata/dtvboss/control03.ctl

     fno=2 lblksz=16384 fsiz=1308

    (FOB) flags=2 fib=8af7133e0 incno=0 pending i/o cnt=0

     fname=/boss_sysdata/oradata/dtvboss/control02.ctl

     fno=1 lblksz=16384 fsiz=1308

    (FOB) flags=2 fib=8af713040 incno=0 pending i/o cnt=0

     fname=/boss_sysdata/oradata/dtvboss/control01.ctl

     fno=0 lblksz=16384 fsiz=1308

    ----------------------------------------

    SO: b66778b58, type: 11, owner: b66002018, flag: INIT/-/-/0x00

    (broadcast handle) flag: (2) ACTIVE SUBSCRIBER, owner: b66002018,

                       event: 12, last message event: 20,

                       last message waited event: 20, messages read: 1

                       channel: (5eb52cc20) scumnt mount lock

                                scope: 1, event: 22, last mesage event: 20,

                                publishers/subscribers: 0/20,

                                messages published: 1

    ----------------------------------------

    SO: b665bf398, type: 4, owner: b66002018, flag: INIT/-/-/0x00

    (session) sid: 824 trans: 0, creator: b66002018, flag: (51) USR/- BSY/-/-/-/-/-

              DID: 0001-000A-00000006, short-term DID: 0000-0000-00000000

              txn branch: 0

              oct: 0, prv: 0, sql: 0, psql: 0, user: 0/SYS

    service name: SYS$BACKGROUND

    waiting for 'enq: CF - contention' blocking sess=0x8a95b9df8 seq=61266 wait_time=0 seconds since wait started=0

                name|mode=43460005, 0=0, operation=0

    Dumping Session Wait History

     for 'enq: CF - contention' count=1 wait_time=2929719

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929716

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929716

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929718

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929719

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929719

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929713

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929715

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929722

                name|mode=43460005, 0=0, operation=0

     for 'enq: CF - contention' count=1 wait_time=2929736

                name|mode=43460005, 0=0, operation=0

    temporary object counter: 0

      ----------------------------------------

      UOL used : 0 locks(used=0, free=0)

      KGX Atomic Operation Log 5ebff7cd0

       Mutex 0(0, 0) idn 0 oper NONE

       Library Cache uid 824 efd 0 whr 0 slp 0

      KGX Atomic Operation Log 5ebff7d18

       Mutex 0(0, 0) idn 0 oper NONE

       Library Cache uid 824 efd 0 whr 0 slp 0

      KGX Atomic Operation Log 5ebff7d60

       Mutex 0(0, 0) idn 0 oper NONE

       Library Cache uid 824 efd 0 whr 0 slp 0

      ----------------------------------------

      SO: b6caa57e0, type: 41, owner: b665bf398, flag: INIT/-/-/0x00

      (dummy) nxc=0, nlb=0   

    ----------------------------------------

    SO: b66778a48, type: 11, owner: b66002018, flag: INIT/-/-/0x00

    (broadcast handle) flag: (2) ACTIVE SUBSCRIBER, owner: b66002018,

                       event: 13, last message event: 27,

                       last message waited event: 27, messages read: 1

                       channel: (5eb528a48) system events broadcast channel

                                scope: 2, event: 2923059, last mesage event: 27,

                                publishers/subscribers: 0/421,

                                messages published: 1

    ----------------------------------------

    SO: b665c6de0, type: 3, owner: b66002018, flag: INIT/-/-/0x00

    (call) sess: cur b665bf398, rec 0, usr b665bf398; depth: 0

      ----------------------------------------

      SO: b665cce90, type: 5, owner: b665c6de0, flag: INIT/-/-/0x00

      (enqueue) CF-00000000-00000000 DID: 0001-000A-00000006

      lv: 00 79 4a fb 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb40f608, req: SSX, lock_flag: 0x0

      own: 0xb665bf398, sess: 0xb665bf398, proc: 0xb66002018, prv: 0x5eb40f628

    ----------------------------------------

    SO: b667ae720, type: 16, owner: b66002018, flag: INIT/-/-/0x00

    (osp req holder)

从LGWR进程的TRACE中可以看到:waiting for 'enq: CF - contention' blocking sess=0x8a95b9df8 seq=61266 wait_time=0 seconds since wait started=0

说明LGWR进程也在等待controlfile enqueue 队列锁,等待事件为enq: CF  contention。

SO: b665cce90, type: 5, owner: b665c6de0, flag: INIT/-/-/0x00

      (enqueue) CF-00000000-00000000 DID: 0001-000A-00000006

      lv: 00 79 4a fb 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x2

      res: 0x5eb40f608, req: SSX, lock_flag: 0x0

      own: 0xb665bf398, sess: 0xb665bf398, proc: 0xb66002018, prv: 0x5eb40f628

从此段可以看到,LGWR进程请求的CF锁资源是0x5eb40f608,并且是以SSX模式请求;通过CKPT进程的TRACE可以看到其已经own: 0x8a95b9df8 持有此资源res: 0x5eb40f608, mode: SSX, lock_flag: 0x0 SSX模式持有此锁;因此LGWR进程也处于等待此资源的状态。

4.2 主机负载情况分析

从ALERT日志中提到的故障发生时的TRACE文件:

/oracle/admin/dtvboss/bdump/dtvboss_pmon_343.trc

/oracle/admin/dtvboss/bdump/dtvboss_arc0_404.trc

中可以找到故障发生时的主机负载情况:

*** 2024-10-21 03:22:11.300

Dumping diagnostic information for ospid 367:

OS pid = 367

loadavg : 0.44 0.62 1.82

swap info: free_mem = 1435.35M rsv = 59461.24M

           alloc = 55941.14M avail = 55124.91 swap_free = 58645.01M

Dumping diagnostic information for oracle@hzboss-ora1:

OS pid = 24887

loadavg : 1.91 1.01 1.84

swap info: free_mem = 7661.14M rsv = 53520.42M

           alloc = 50905.74M avail = 62991.89 swap_free = 65606.57M

 F S      UID   PID  PPID   C PRI NI     ADDR     SZ    WCHAN    STIME TTY         TIME CMD

 0 S   oracle 24887     1   0  39 20        ? 4115427        ?   Sep 24 ?          29:24 oracledtvboss (LOCAL=NO)

pstack: cannot examine 24887: no such process

*** 2024-10-21 03:23:53.644

ksuitm_check: OS PID=8690 is still alive

*** 2024-10-21 03:23:53.644

Dumping diagnostic information for oracle@hzboss-ora1 (J002):

OS pid = 8690

loadavg : 1.93 1.02 1.84

swap info: free_mem = 7660.87M rsv = 53524.68M

           alloc = 50905.95M avail = 62987.56 swap_free = 65606.30M

 F S      UID   PID  PPID   C PRI NI     ADDR     SZ    WCHAN    STIME TTY         TIME CMD

 0 O   oracle  8690     1   2  39 20        ? 4121237          00:57:24 ?          29:43 ora_j002_dtvboss

pstack: cannot examine 8690: no such process

*** 2024-10-21 03:23:54.751

ksuitm_check: OS PID=21430 is still alive

*** 2024-10-21 03:23:54.751

Dumping diagnostic information for oracle@hzboss-ora1 (J003):

OS pid = 21430

loadavg : 1.94 1.02 1.84

swap info: free_mem = 7660.27M rsv = 53521.18M

           alloc = 50906.49M avail = 62991.00 swap_free = 65605.69M

 F S      UID   PID  PPID   C PRI NI     ADDR     SZ    WCHAN    STIME TTY         TIME CMD

 0 O   oracle 21430     1   2  39 20        ? 4119652          02:59:44 ?           0:27 ora_j003_dtvboss

pstack: cannot examine 21430: unanticipated system error

*** 2024-10-21 03:23:57.839

ksuitm_check: OS PID=367 is still alive

*** 2024-10-21 03:23:57.840

Dumping diagnostic information for oracle@hzboss-ora1 (CKPT):

OS pid = 367

loadavg : 1.98 1.04 1.84

swap info: free_mem = 7660.46M rsv = 53520.98M

           alloc = 50906.02M avail = 62990.88 swap_free = 65605.85M

 F S      UID   PID  PPID   C PRI NI     ADDR     SZ    WCHAN    STIME TTY         TIME CMD

 0 S   oracle   367     1   0  39 20        ? 4116160        ?   Mar 30 ?         498:14 ora_ckpt_dtvboss

pstack: cannot examine 367: no such process

*** 2024-10-21 03:23:58.926

从这些负载信息可以看到,整个系统当时的空闲内存和swap还留有余地,足够当时系统的使用,所以内存不足的原因可以排除。

4.3 数据库版本情况

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /oracle/product/10.2.0/db_1

System name: SunOS

Node name: hzboss-ora1

Release: 5.10

Version: Generic_144488-12

Machine: sun4u

Instance name: dtvboss

Redo thread mounted by this instance: 1

Oracle process number: 2

COMP_ID    COMP_NAME                           VERSION         STATUS   MODIFIED                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

---------- ----------------------------------- --------------- -------- -----------------------                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

SDO        Spatial                             10.2.0.4.0      VALID    18/FEB/2011:21:05:30                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

ORDIM      Oracle.interMedia                   10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

AMD        OLAP.Catalog                        10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

EM         Oracle.Enterprise.Manager           10.2.0.4.0      VALID    18/FEB/2011:21:04:33                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

XDB        Oracle.XML.Database                 10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

CONTEXT    Oracle.Text                         10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

EXF        Oracle.Expression.Filter            10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

RUL        Oracle.Rule.Manager                 10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

OWM        Oracle.Workspace.Manager            10.2.0.4.3      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

ODM        Oracle.Data.Mining                  10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

CATALOG    Oracle.Database.Catalog.Views       10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

CATPROC    Oracle.Database.Packages.and.Types  10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

JAVAVM     JServer.JAVA.Virtual.Machine        10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

XML        Oracle.XDK                          10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

CATJAVA    Oracle.Database.Java.Packages       10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

APS        OLAP.Analytic.Workspace             10.2.0.4.0      VALID    18/FEB/2011:21:05:29                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

XOQ        Oracle.OLAP.API                     10.2.0.4.0      VALID    18/FEB/2011:21:05:29

  • 总结与建议

针对此次数据库实例宕机问题,总结及建议如下:

5.1 问题分析汇总

5.1.1 宕机问题总结

综上可以得出结论,由于arc0进程要写日志需要等待控制文件CF锁,lgwr估计要写日志或者切换也在等待控制文件CF锁,而ckpt进程持有controlfile enqueue lock时间过长,arch0等待超过900秒,导致oracle数据库系统判断异常。

此时oracle数据库系统会让lgwr进程kill持有controlfile enqueue lock的进程,相当于lgwr进程杀了ckpt进程,而ckpt进程又为oracle关键进程,连锁反应,引起宕机。

5.1.2 宕机的问题根源判断

在宕机前系统发出告警aiowait timed out 1 times,初步判断系统在当时的io存在一些问题。而当时系统的内存和swap资源都充足没有出现严重问题,trace中的loadavg : 0.44 0.62 1.82则说明了当时的cpu负载低,这里排除了内存和cpu的问题. 

初步建议检测当时的redo日志的切换和产生量,当时的数据库服务器的io调用频繁度,因此可以参考下数据库的2点到3点间的awr信息(如果有数据库监控系统那么则可以分析到故障发生时间点的io信息,但是当前环境未部署)。

controlfile equeue lock的超时管理机制中,受_kill_controlfile_enqueue_blocker=false,_controlfile_enqueue_timeout,_kill_enqueue_blocker这3个隐含参数的影响,当前环境中我不建议增加_controlfile_enqueue_timeout,而是建议在通过控制_kill_controlfile_enqueue_blocker,_kill_enqueue_blocker参数来实现该机制的管理,以避免宕机的风险。


控制队列锁管理机制的bug以及避免:

控制文件队列锁有一个相关的匹配Bug 7692631 - 'DATABASE CRASHES WITH ORA-494 AFTER UPGRADE TO 10.2.0.4',这里可以通过以下2个参数规避。

_kill_controlfile_enqueue_blocker值分为true和false,默认为true,如果设置为false则不会去kill超时的进程,此时_kill_controlfile_enqueue_blocker=false参数失效。

_kill_enqueue_blocker值分为别0,1,2,3. 当设置为1的时候,保证后台进程不会被kill,而只会kill前台进程,这样可以避免宕机。

5.2 建议

5.2.1在数据库层上的调整建议

经过沟通当时正在跑批,所以当时的日志切换会比较频繁,因此我们建议对此时的redo log的大小匹配处理进行调整,适当增加日志组以及日志文件大小。控制日志切换保持在20-30分钟一次。

同时建议使用数据库监控工具,以便能在故障时候能及时获取到故障前的监控数据。

在参数调整角度上我们可以将_kill_enqueue_blocker设置为1或者将_kill_controlfile_enqueue_blocker设置为false。

5.2.2在系统层上的调整建议

同时检查系统io是否存在问题,

同时建议部署io层面的监控工具。

相关文章:

ORACLE数据库实例报错ORA-00470: LGWR process terminated with error宕机问题分析报告

服务概述 10月21号03:22分,BOSS数据库实例发生异常宕机;工程师及时响应此问题并对此故障原因进行分析及相关建议,详细的故障情况及相关日志、TRACE文件的分析及总结、建议,请参阅本文档。 hzboss数据库实例宕机分析 4.1 数据库层面日志的分…...

深度学习---知识蒸馏(Knowledge Distillation, KD)

一、知识蒸馏的本质与起源 定义: 知识蒸馏是一种模型压缩与迁移技术,通过将复杂高性能的教师模型(Teacher Model)所学的“知识”迁移到轻量级的学生模型(Student Model),使学生模型在参数量和计…...

AI日报 - 2024年5月17日

🌟 今日概览 (60秒速览) ▎🤖 大模型前沿 | OpenAI推出自主编码代理Codex;Google DeepMind发布Gemini驱动的编码代理AlphaEvolve,能设计先进算法;Meta旗舰AI模型Llama 4 Behemoth发布推迟。 Codex能并行处理多任务&…...

OAuth2.0

OAuth2.0 1. 什么是OAuth2.02.OAuth2.0的应用场景3. OAuth2.0基本概念4. 经典OAuth2.0认证流程5. 四种授权模式5.1 授权码模式(Authorization Code Grant)5.2 隐式授权(Implicit Grant)5.3 密码模式(Resource Owner Pa…...

deepin v23.1 音量自动静音问题解决

有的机器上会有音量自动静音问题, 如果你的电脑上也遇到, 这个问题是 Linux 内核的原因, ubuntu上也可能会遇到相同问题(比如你升级了最新内核6.14), 而我测试得6.8.0的内核是不会自动静音的. Index of /mainline 到上面这个链接(linux 内核的官方链接)下载6.8.0的内核, s…...

Spring Security 集成指南:避免 CORS 跨域问题

Spring Security 集成指南:避免 CORS 跨域问题 在现代 Web 应用开发中,前后端分离架构已成为主流。当我们使用 Spring Security 保护后端 API 时,经常会遇到跨域资源共享(CORS)问题。这篇文章将详细解析 Spring Secur…...

stack和queue简单模拟实现

stackreverse_iteratorqueuepriority_queue仿函数具体代码 stack Stacks are a type of container adaptor, specifically designed to operate in a LIFO context (last-in first-out), where elements are inserted and extracted only from one end of the container. 上述描…...

2.单链表两数相加(java)

题目描述: 分析: 1.首先创建一个虚拟节点 ListNode dummy new ListNode(-1);再创建一个节点来保存虚拟节点,因为使用虚拟节点来移动,如果不保存,最后就会丢失。保存虚拟节点:ListNode pdummy; 2.进位标志…...

JDBC 的编写步骤及原理详解

一、JDBC 简介 JDBC(Java DataBase Connectivity)即 Java 数据库连接,是 Java 语言用于操作数据库的一套 API。它为多种关系数据库提供了统一的访问方式,允许 Java 程序与不同类型的数据库(如 MySQL、Oracle、SQL Ser…...

AIStarter Windows 版本迎来重磅更新!模型插件工作流上线,支持 Ollama / ComfyUI 等多平台本地部署模型统一管理

如果你正在使用 AIStarter 工具进行本地 AI 模型部署 ,那么这条消息对你来说非常重要! 在最新推出的 AIStarter Windows 正式版更新中 ,官方对整个平台进行了功能重构和性能优化,尤其是新增了「模型插件工作流 」功能&#xff0c…...

卸载和安装JDK

文章目录 卸载JDK安装JDK 卸载JDK 删除java的安装目录删除JAVA_HOME删除path下关于java的目录在cmd命令提示符中输入 java -version 安装JDK 浏览器搜索JDK8 下载电脑对应版本 双击安装JDK 记住安装的路径 配置环境变量 我的电脑 -> 右键 -> 属性 新建系统环境变量…...

【蓝桥杯省赛真题51】python石头运输 第十五届蓝桥杯青少组Python编程省赛真题解析

python石头运输 第十五届蓝桥杯青少年组python比赛省赛真题详细解析 博主推荐 所有考级比赛学习相关资料合集【推荐收藏】1、Python比赛 信息素养大赛Python编程挑战赛 蓝桥杯python选拔赛真题详解 <...

USRP 射频信号 采集 回放 系统

USRP 射频信号采集回放系统 也可以叫做&#xff1a; 利用宽带RF录制和回放系统实现6G技术研究超宽带射频信号采集回放系统使用NI USRP平台实现射频信号录制和回放操作演示USRP也能实现多通道宽带信号流盘回放了&#xff01; 对于最简单的实现方法就是使用LabVIEW进行实现 采…...

产品经理入门(2)产品体验报告

产品体验报告大纲&#xff1a;重点在产品体验——优点。 1.产品概括 可以从各大平台搜产品介绍。 2.市场分析 按照产品方向分析各个指标——包括有效使用时间,市场规模等。 3. 用户分析——对用户通过各项指标画像。 4.产品体验——对各项功能与设计的体验。 5.报告总结...

区块链基本理解

文章目录 前言一、什么是分布式账本(DLT)二、什么是P2P网络?二、共识算法三、密码算法前言 区块链是由一个一个数据块组成的链条,按照时间顺序将数据块逐一链接,通过哈希指针链接,所有的数据块共同维护一份分布式账本(DLT),每个节点(可以理解为一个玩家,一台计算机)都拥…...

数字万用表与指针万用表使用方法及注意事项

在电子测量领域&#xff0c;万用表是极为常用的工具&#xff0c;数字万用表和指针万用表各具特点。熟练掌握它们的使用方法与注意事项&#xff0c;能确保测量的准确性与安全性。下面为您详细介绍&#xff1a; 一 、数字万用表按钮功能 > 进入及退出手动量程模式 每 按 […...

C语言查漏补缺

1、数组初始化时&#xff0c;例如char arr[5] "abcde"&#xff0c;因为字符串中有6个字符&#xff0c;即末尾还有个结束符&#xff0c;但是数组容量为5&#xff0c;所以仅接纳5个字符&#xff0c;末尾的结束符不会被接纳&#xff0c;故而这样的字符数组在直接输出时…...

【JDBC】JDBC常见错误处理方法及驱动的加载

MySQL8中数据库连接的四个参数有两个发生了变化 String driver "com.mysql.cj.jdbc.Driver"; String url "jdbc:mysql://127.0.0.1:3306/mydb?useSSLfalse&useUnicodetrue&characterEncodingutf8&serverTimezoneAsia/Shanghai"; 或者Strin…...

从紫光集团看基本财务分析

PE 46PE 代表投资人对他的期望是它的业绩至少要增长50%才算及格。 但实际业绩 一年不如一年. 所以&#xff0c;这个PE 应该是 业绩倒退了&#xff0c;但是市值还没有掉下去&#xff0c;导致运算的结果处在高PE阶段。 那么随着股价的下跌&#xff0c;这个数字会慢慢变小。 当然…...

软件调试纵横谈-17-win32堆的调试支持

17.Win32堆的调试支持_哔哩哔哩_bilibili 继续边看录像边做实验。 堆上的内存时用size表达的&#xff0c;组成一个链表。 创建一个FreCheck应用 上次看heap&#xff0c;直接使用下载的文件&#xff0c;本次要做实验了&#xff0c;就需要自己动手&#xff0c;搞个VC proje…...

CANoe CAPL TCP DoIP通信问题

目录 问题Class: TcpSocketdemo示例client注释掉配置TCP/IP stack改demo代码过滤IP,与需要的IP建立连接问题 使用CANoe进行DoIP通信时,如果是标准的DoIP节点,可以使用DoIP相关函数进行通信。 以下两篇文章是按照此方式实现的。 十六、DoIP诊断通信 1 (专栏:从零开始搭建…...

理解 plank 自动生成的 copyWithBlock: 方法

当你使用 plank 命令自动生成一个类时 ./plank --objc_class_prefix=PUG --no_runtime --no_recursive user.json分析 在 JSON 目录下, 执行如上命令后, 生成的 PUGUser 对象, 会自带 copyWithBlock: 方法, 这个方法是用来做什么的 ? copyWithBlock: (注意末尾有一个冒号,因…...

FreeCAD源码分析: Transaction实现原理

本文阐述FreeCAD中Transaction的实现原理。 注1&#xff1a;限于研究水平&#xff0c;分析难免不当&#xff0c;欢迎批评指正。 注2&#xff1a;文章内容会不定期更新。 一、概念 Ref. from What is a Transaction? A transaction is a group of operations that have the f…...

黑马点评-用户登录

文章目录 用户登录发送短信验证码注册/登录校验登录 用户登录 发送短信验证码 public Result sendCode(String phone, HttpSession session) {// 1.校验手机号if (RegexUtils.isPhoneInvalid(phone)) {// 2.如果不符合&#xff0c;返回错误信息return Result.fail("手机…...

OpenAI新发布Codex的全面解析

一 . 介绍 人工智能技术的飞速发展正在重塑各行各业的运作方式&#xff0c;特别是在软件工程领域。随着生成式AI模型能力的不断提升&#xff0c;代码生成与软件开发领域正经历一场前所未有的变革。OpenAI作为人工智能领域的领军企业&#xff0c;其每一次技术突破都备受全球科技…...

【AI算法工程师面试指北】ResNet为什么用avgpool结构?

在ResNet&#xff08;残差网络&#xff09;中&#xff0c;最后使用平均池化&#xff08;AvgPool&#xff09;结构主要有以下几个关键原因&#xff0c;这些设计与网络的效率、性能和泛化能力密切相关&#xff1a; 1. 减少参数与计算量&#xff0c;避免过拟合 替代全连接层的冗…...

单调栈和单调队列

一、单调栈 1、使用场景 解决元素左 / 右侧第一个比他大 / 小的数字。 2、原理解释 用栈解决&#xff0c;目标是栈顶存储答案。 以元素左侧第一个比他小为例&#xff1a; &#xff08;1&#xff09;遍历顺序一定是从左向右。 &#xff08;2&#xff09;由于栈顶一定是答…...

DeepSeek-R1 Supervised finetuning and reinforcement learning (SFT + RL)

DeepSeek-R1Supervised finetuning and reinforcement learning (SFT RL) 好啊&#xff0c;我们今天的直播会非常透彻的跟大家系统性的分享一下整个agents AI就大模型智能体系统和应用程序。我们在做开发的时候&#xff0c;或者实际做企业级的产品落地的时候&#xff0c;你必…...

【部署】读取excel批量导入dify的QA知识库

回到目录 【部署】读取excel批量导入dify的QA知识库 0. 背景 dify的知识库支持QA模式&#xff0c;分段效果不算太理想&#xff0c;在我们的项目里面&#xff0c;手工编辑高质量QA文档&#xff0c;没有办法批量导入系统。 项目dify_import&#xff0c;支持读取excel文件批量导…...

Scanner对象

文章目录 Scanner对象基本语法使用next()接受使用nextLine()接受小案例总结 Scanner对象 java给我们提供了一个工具类&#xff0c;我们可以获取用户的输入 java.util.Scanner是java5的新特性&#xff0c;我们可以通过Scanner类来获取用户的输入 基本语法 Scanner s new Sc…...

Java 面向对象详解和JVM底层内存分析

先关注、点赞再看、人生灿烂&#xff01;&#xff01;&#xff01;&#xff08;谢谢&#xff09; 神速熟悉面向对象 表格结构和类结构 我们在现实生活中&#xff0c;思考问题、发现问题、处理问题&#xff0c;往往都会用“表格”作为工具。实际上&#xff0c;“表格思维”就是…...

PIC16F18877 ADC 代码

这段代码是为PIC16F18877微控制器设计的嵌入式系统程序,主要实现了LCD显示屏控制、DHT11温湿度传感器数据采集和ADC模拟量读取三大功能。程序通过配置32MHz内部时钟源初始化系统,使用4位数据总线驱动LCD显示模块,定时读取DHT11传感器获取温湿度数据并校验,同时通过ADC通道采…...

Visual Studio2022跨平台Avalonia开发搭建

由于我已经下载并安装了 VS2022版本&#xff0c;这里就跳过不做阐述。 1.安装 Visual Studio 2022 安装时工作负荷Tab页勾选 ‌“.NET 桌面开发”‌ 和“Visual Studio扩展开发”‌ &#xff0c;这里由于不是用的微软的MAUI&#xff0c;所以不用选择其他的来支持跨平台开发&a…...

灵光一现的问题和常见错误1

拷贝构造函数显式写&#xff0c;编译器还会自动生成默认构造函数吗&#xff0c;还有什么函数会出现这种问题 在C中&#xff0c;当类显式定义某些特殊成员函数时&#xff0c;编译器可能不再自动生成其他相关函数。以下是详细分析&#xff1a; I. 显式定义拷贝构造函数对默认构造…...

React学习(二)-变量

也是很无聊,竟然写这玩意,毕竟不是学术研究,普通工作没那么多概念性东西,会用就行╮(╯▽╰)╭ 在React中,变量是用于存储和管理数据的基本单位。根据其用途和生命周期,React中的变量可以分为以下几类: 1. 状态变量(State) 用途:用于存储组件的内部状态,状态变化会触…...

我的世界模组开发——特征(2)

原版代码 AbstractHugeMushroomFeature 以下是对AbstractHugeMushroomFeature类代码的逐段解析,结合Minecraft游戏机制和蘑菇形态学特征进行说明: 1. 类定义与继承关系 public abstract class AbstractHugeMushroomFeature extends Feature<HugeMushroomFeatureConfigu…...

中国30米年度土地覆盖数据集及其动态变化(1985-2022年)

中文名称 中国30米年度土地覆盖数据集及其动态变化(1985-2022年) 英文名称&#xff1a;The 30 m annual land cover datasets and its dynamics in China from 1985 to 2022 CSTR:11738.11.NCDC.ZENODO.DB3943.2023 DOI 10.5281/zenodo.8176941 数据共享方式&#xff1a…...

2000 元以下罕见的真三色光源投影仪:雷克赛恩Cyber Pro1重新定义入门级投影体验

当性价比遇上技术瓶颈 在 2000元以下的1080P投影仪&#xff0c;单LCD 技术长期主导。而三色光源的DLP和3LCD真1080P都在4000元以上。 单LCD投影为纯白光光源&#xff0c;依赖CF滤光膜导致光效低下&#xff0c;普遍存在" 色彩失真 " 等问题。数据显示&#xff0c;该价…...

数学复习笔记 19

前言 向量收尾。线代大概是学了一半了。 向量 向量可以认为是一个矩阵。 线性组合 前面加一个系数就可以了。线性组合和线性表示实际上就是一个意思。 线性相关性 实际上就是内部的向量&#xff0c;至少有一个可以用其他向量表示出来。存在一种情况&#xff0c;系数不全…...

信息收集+初步漏洞打点

目标&#xff1a;理解信息收集在渗透测试中的意义&#xff0c;熟悉常用工具用法&#xff0c;完成基本打点测试 一.理论学习&#xff1a; 模块内容说明信息收集分类主动信息收集 vs 被动信息收集目标发现子域名、IP、端口、子站点、目录、接口技术指纹识别Web框架&#xff08;如…...

计算机视觉与深度学习 | Python实现EMD-SSA-VMD-LSTM时间序列预测(完整源码和数据)

EMD-SSA-VMD-LSTM混合模型 一、环境配置与依赖二、数据生成&#xff08;示例数据&#xff09;三、多级信号分解1. 经验模态分解&#xff08;EMD&#xff09;2. 奇异谱分析&#xff08;SSA&#xff09;3. 变分模态分解&#xff08;VMD&#xff09; 四、数据预处理1. 归一化处理2…...

Linux线程同步信号量

什么是信号量&#xff08;Semaphore&#xff09;&#xff1f; 信号量&#xff08;Semaphore&#xff09; 是一种用于线程同步和进程间通信的机制&#xff0c;它用于控制多个线程对共享资源的访问。在 Linux 中&#xff0c;信号量通常用于防止多个线程同时访问有限的资源&#…...

日志系统**

1.设置日志级别 enum LogLevel{TRACE,DEBUG,INFO,WARN,ERROR,FATAL,NUM_LOG_LEVELS,}; 2.日志格式 TimeStamp 级别 内容 [2025-05-17 20:32:41][ERROR]This is an error message 3.输出&#xff1a;控制台/文件 4.注意 #include <chrono> #include <iomanip&g…...

【C++】18.二叉搜索树

由于map和set的底层是红黑树&#xff0c;同时后面要讲的AVL树(高度平衡二叉搜索树)&#xff0c;为了方便理解&#xff0c;我们先来讲解二叉搜索树&#xff0c;因为红黑树和AVL树都是在二叉搜索树的前提下实现的 在之前的C语言数据结构章节中&#xff0c;我们讲过二叉树&#x…...

刘家祎双剧收官见证蜕变,诠释多面人生

近期&#xff0c;两部风格迥异的剧集迎来收官时刻&#xff0c;而青年演员刘家祎在《我家的医生》与《无尽的尽头》中的精彩演绎&#xff0c;无疑成为观众热议的焦点。从温暖治愈的医疗日常到冷峻深刻的少年救赎&#xff0c;他以极具张力的表演&#xff0c;展现出令人惊叹的可塑…...

python + streamlink 下载 vimeo 短视频

1. 起因&#xff0c; 目的: 看到一个视频&#xff0c;很喜欢&#xff0c;想下载。https://player.vimeo.com/video/937787642 2. 先看效果 能下载。 3. 过程: 因为我自己没头绪。先看一下别人的例子&#xff0c; 问一下 ai 或是 google问了几个来回&#xff0c;原来是流式…...

18-总线IIC

一、IIC 1、IIC概述 I2C(IIC,Inter&#xff0d;Integrated Circuit),两线式串行总线,由PHILIPS&#xff08;飞利浦&#xff09;公司开发用于连接微控制器及其外围设备。 它是由数据线SDA和时钟SCL构成的串行总线&#xff0c;可发送和接收数据。在CPU与被控IC之间、IC与IC之间…...

【深度学习-Day 12】从零认识神经网络:感知器原理、实现与局限性深度剖析

Langchain系列文章目录 01-玩转LangChain&#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块&#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain&#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…...

力扣HOT100之二叉树:98. 验证二叉搜索树

这道题之前也刷过&#xff0c;自己做了一遍&#xff0c;发现卡在了第70多个样例&#xff0c;才发现自己没有利用二叉搜索树的性质&#xff0c;但凡涉及到二叉搜索树&#xff0c;应该首先考虑中序遍历&#xff01;&#xff01;&#xff01; 被卡住的测试样例是这样的&#xff1a…...

vector(c++)

前言 正式进入学习STL的第一步就是vector容器&#xff0c; vector是一种用于存储可变大小数组的序列容器&#xff0c;就像数组一样&#xff0c;vector也采用的连续存储空间来存储元素。本质上讲&#xff0c;vector使用动态分配数组来存储它的元素。底层是一个顺序表。本文介绍…...