[总结]9i RAC LMON: terminating instance due to error 29702

本文解决了一个Oracle9.2.0.4 RAC系统升级到Oracle9.2.0.7后出现的实例crash问题。通过分析发现升级过程中未更新Clusterware ORACM组件导致实例故障。文章提供了详细的解决方案,包括使用9.2.0.6 Patchset更新ORACM版本,并执行特定命令修正libskgxn9.so不一致的问题。

基本配置:

Linux AS3.0 内核版本: 2.4.21-37.ELsmp
Oracle 9.2.0.4
升级到Oracle9.2.0.7 , RAC , 两节点。 clusterware9204软件安装的 。

后来的查询发现Oracle 9.2.0.4 RAC 系统升级到Oracle9.2.0.7 , Oracle RDBMS Software 是可以升级到Oracle9.2.0.7,但是Oracle9.2.0.7 Patchset 确实没有ORACM Cluster管理软件的升级版,是Oracle的一个bug 9.2.0.7.0 Bug 4163445, 只有从Oracle9.2.0.6 Patchset上 升级Oracle9.2.0.4 Clusterware软件ORACM (丛Oracle CM Log 中可以看到Oracle9.2.0.4 版本下安装的ORACM版本为 oracm 9.2.0.2.0, 9.2.0.7 补丁没有升级ORACM版本,Oracle9.2.0.6 Patch升级的版本是 oracm 9.2.0.6.0.52 . 注意的一点是所有升级动作一定要严格按照Readme来操作,当然OracleReadme也不一定都考虑到了,这个问题就是一个例子。

[@more@]

http://www.itpub.net/viewthread.php?tid=922265&extra=&highlight=%2Btolywang&page=3 9.2.0.7.0 Bug 4163445

问题描述:

出现的问题描述如下 (节点1 以及节点 2 交替每隔58天左右实例crash一次)

alter_orcl1.log
-------------------------------------------------------------------------------------------------


Sat Jan 5 18:44:19 2008
ARC1: Evaluating archive log 1 thread 1 sequence 122
ARC1: Beginning to archive log 1 thread 1 sequence 122
Creating archive destination LOG_ARCHIVE_DEST_1: '/ocfs_arch1/orcl/1_122.dbf'
ARC1: Completed archiving log 1 thread 1 sequence 122
Sat Jan 5 19:36:06 2008
Thread 1 advanced to log sequence 124
Current log# 4 seq# 124 mem# 0: /ocfs_ctrl_redo/orcl/redo04.log
Current log# 4 seq# 124 mem# 1: /ocfs_data/orcl/redo04b.log
Sat Jan 5 19:36:06 2008
ARC1: Evaluating archive log 3 thread 1 sequence 123
ARC1: Beginning to archive log 3 thread 1 sequence 123
Creating archive destination LOG_ARCHIVE_DEST_1: '/ocfs_arch1/orcl/1_123.dbf'
ARC1: Completed archiving log 3 thread 1 sequence 123
Sat Jan 5 19:45:15 2008
Errors in file /u01/product/admin/orcl/bdump/orcl1_lmon_14214.trc:
ORA-29702: error occurred in Cluster Group Service operation
Sat Jan 5 19:45:15 2008
LMON: terminating instance due to error 29702
Sat Jan 5 19:45:16 2008
System state dump is made for local instance
Sat Jan 5 19:45:20 2008
Instance terminated by LMON, pid = 14214
Sat Jan 5 19:54:53 2008
Starting ORACLE instance (normal)
Sat Jan 5 19:54:53 2008
Global Enqueue Service Resources = 26694, pool = 4
Sat Jan 5 19:54:53 2008
Global Enqueue Service Enqueues = 39350
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
SCN scheme 2
Using log_archive_dest parameter default value
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 9.2.0.7.0.
System parameters with non-default values:
processes = 1000
timed_statistics = FALSE
resource_limit = TRUE
shared_pool_size = 419430400
large_pool_size = 33554432
java_pool_size = 33554432







$ vi /u01/product/admin/orcl/bdump/orcl1_lmon_14214.trc
=============



/u01/product/admin/orcl/bdump/orcl1_lmon_14214.trc
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
ORACLE_HOME = /u01/product/oracle
System name: Linux
Node name: DELL-RAC01
Release: 2.4.21-37.ELsmp
Version: #1 SMP Wed Sep 7 13:28:55 EDT 2005
Machine: i686
Instance name: orcl1
Redo thread mounted by this instance: 0
Oracle process number: 4
Unix process pid: 14214, image: oracle@DELL-RAC01 (LMON)

*** SESSION ID
3.1) 2007-12-31 12:07:45.591
GES IPC: Receivers 3 Senders 3
GES IPC: Buffers Receive 1000 Send (i:2230 b:2230) Reserve 1000
GES IPC: Msg Size Regular 396 Batch 2048
Batch msg size = 2048
Batching factor: enqueue replay 48, ack 53
Batching factor: cache replay 34 size per lock 56
kjxggin: receive buffer size = 32768
kjxgmin: SKGXN ver (2 1 Oracle 9i Reference CM)
CMCLI WARNING: CMInitContext: init ctx(0xb6d93f8)
*** 2007-12-31 12:07:49.396
kjxgmrcfg: Reconfiguration started, reason 1
kjxgmcs: Setting state to 0 0.
*** 2007-12-31 12:07:49.396
Name Service frozen
kjxgmcs: Setting state to 0 1.
kjfcpiora: publish my weight 122787
kjxgmps: proposing substate 2
kjxgmcs: Setting state to 1 2.
Performed the unique instance identification check
kjxgmps: proposing substate 3
kjxgmcs: Setting state to 1 3.
Name Service recovery started
Deleted all dead-instance name entries
kjxgmps: proposing substate 4
kjxgmcs: Setting state to 1 4.
Multicasted all local name entries for publish
Replayed all pending requests
kjxgmps: proposing substate 5
kjxgmcs: Setting state to 1 5.
Name Service normal
Name Service recovery done
*** 2007-12-31 12:07:49.611
kjxgmps: proposing substate 6
kjxgmcs: Setting state to 1 6.
*** 2007-12-31 12:07:49.832
*** 2007-12-31 12:07:49.832
Reconfiguration started (old inc 0, new inc 1)
Synchronization timeout interval: 600 sec
List of nodes:
0
Global Resource Directory frozen
node 0
release 9 2 0 7
* kjshashcfg: I'm the only node in the cluster (node 0)
Active Sendback Threshold = 50 %
Communication channels reestablished
Master broadcasted resource hash value bitmaps
Non-local Process blocks cleaned out
Resources and enqueues cleaned out
Resources remastered 0
0 GCS shadows traversed, 0 cancelled, 0 closed
0 GCS resources traversed, 0 cancelled
set master node info
Submitted all remote-enqueue requests
Update rdomain variables
Dwn-cvts replayed, VALBLKs dubious
All grantable enqueues granted
*** 2007-12-31 12:07:50.121
0 GCS shadows traversed, 0 replayed, 0 unopened
Submitted all GCS cache requests
0 write requests issued in 0 GCS resources
0 PIs marked suspect, 0 flush PI msgs

ORACM Log 当时的信息: ERROR: WriteEventPort: write failed with error 32

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

Debug Hang :ClientProcListener (PID=14257) UnRegistered with watchdog daemon. {Sat Jan 5 19:45:16 2008 }^M
>WARNING: ReadCommPort: socket closed by peer on recv()., tid = ClientProcListener:688145 file = unixinc.c, line = 767 {Sat Jan 5 19:45:16 2008 }^M
>ERROR: WriteEventPort: write failed with error 32., tid = ClientProcListener:688145 file = unixinc.c, line = 915 {Sat Jan 5 19:45:16 2008 }^M
Debug Hang :ClientProcListener (PID=14261) UnRegistered with watchdog daemon. {Sat Jan 5 19:45:16 2008 }^M
>WARNING: ReadCommPort: socket closed by peer on recv()., tid = ClientProcListener:622615 file = unixinc.c, line = 767 {Sat Jan 5 19:45:16 2008 }^M
Debug Hang :ClientProcListener (PID=14255) UnRegistered with watchdog daemon. {Sat Jan 5 19:45:16 2008 }^M
>WARNING: ReadCommPort: socket closed by peer on recv()., tid = ClientProcListener:557077 file = unixinc.c, line = 767 {Sat Jan 5 19:45:16 2008 }^M

Diag trace log :

/u01/product/admin/orcl/bdump/orcl2_diag_14211.trc

Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production

With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options

JServer Release 9.2.0.7.0 - Production

ORACLE_HOME = /u01/product/oracle

System name: Linux

Node name: DELL-RAC02

Release: 2.4.21-37.ELsmp

Version: #1 SMP Wed Sep 7 13:28:55 EDT 2005

Machine: i686

Instance name: orcl2

Redo thread mounted by this instance: 0

Oracle process number: 3

Unix process pid: 14211, image: oracle@DELL-RAC02 (DIAG)

*** SESSION ID:(2.1) 2008-01-16 12:16:14.524

CMCLI WARNING: CMInitContext: init ctx(0xb9115f4)

kjzcprt:rcv port created

Node id: 1

List of nodes: 0, 1,

*** 2008-01-16 12:16:14.526

Reconfiguration starts [incarn=0]

I'm the voting node

Send my bitmap to master 0

Rcfg confirmation is received from master 0

I agree with the rcfg confirmation

*** 2008-01-16 12:16:25.233

Reconfiguration completes [incarn=2]

*** 2008-01-19 04:50:21.933

Instance is terminating by process 14215 [ospid=oracle@DELL-RAC02 (LMON)]

Performing diagnostic data dump for this instance

CMCLI WARNING: CommonContextCleanup: closing comm port

DIAG detachs from CM

error 29723 detected in background process

OPIRIP: Uncaught error 447. Error stack:

ORA-00447: fatal error in background process

ORA-29723: Failed to attach to the global enqueue service (status=32)

metalink上面的错误描述上看,似乎是由于rac环境两个实例的libskgxn9.so不一致造成的。

处理方法:

1. 由于是Oracle9.2.0.4 升级到Oracle9.2.0.7 , 9207没有ORACM的升级版本软件,只有RDBMS的软件。 所以还必须通过9206patchset来升级oracm9.2.0.2oracm9.2.0.6.0.52版本。 注意了,一定要严格按照readme来操作。

2. 当然升级Oracle RDBMS , Oracm9.2.0.6之后还需要运行一些catproc.sql ……等脚本来更新数据字典,这些在readme上都有。

3. 有些bug是没有公布的,在google,baidu都不能找到,必须到metalink上才能看到。而且不能仅仅通过alert log ,还要结合trc log , diag log cm log 文件等。

Bug 4390716 Linux: "CMCLI WARNING" messages after applying 9.2.0.6 / 7

This note gives a brief overview of bug 4390716.

Affects:

Product (Component)

Oracle Server (Rdbms)

Range of versions believed to be affected

Versions >= 9.2.0.6

Versions confirmed as being affected

  • 9.2.0.6
  • 9.2.0.7

Platforms affected

  • Linux 32bit

It is believed to be a regression in default behaviour thus:
Regression introduced in 9.2.0.6

Fixed:

This issue is fixed in

  • (None Specified)

Symptoms:

Related To:

  • RAC (Real Application Clusters) / OPS

Description


 

 

运行这些bug修复的命令:

After applying 9.2.0.6 or 9.2.0.7 Patch Set on Linux

platforms then RAC installations may start reporting

numerous errors to trace files of the form:

CMCLI WARNING: CMInitContext: init ctx(0xae5c9a4)

CMCLI WARNING: CommonContextCleanup: closing comm port

This can lead to disk full and instance crash scenarios.

Workaround:

After installation of the Patch Set ensure that the

folowing steps are executed on ALL nodes of the RAC

cluster:

cd $ORACLE_HOME/rdbms/lib

Shut down all the instances in the OH

make -f ins_rdbms.mk rac_on ioracle

具体执行:

DELL-RAC01$

DELL-RAC01$make -f ins_rdbms.mk rac_on ioracle

rm -f /u01/product/oracle/lib/libskgxp9.so

cp /u01/product/oracle/lib//libskgxpu.so /u01/product/oracle/lib/libskgxp9.so

cp /u01/product/oracle/lib/libcmdll.so /u01/product/oracle/lib/libskgxn9.so

/usr/bin/ar cr /u01/product/oracle/rdbms/lib/libknlopt.a /u01/product/oracle/rdbms/lib/kcsm.o

- Linking Oracle

rm -f /u01/product/oracle/rdbms/lib/oracle

gcc -o /u01/product/oracle/rdbms/lib/oracle -L/u01/product/oracle/rdbms/lib/ -L/u01/product/oracle/lib/ -L/u01/product/oracle/lib/stubs/ -Wl,-E `test -f /u01/product/oracle/rdbms/lib/skgaioi.o && echo /u01/product/oracle/rdbms/lib/skgaioi.o` /u01/product/oracle/rdbms/lib/opimai.o /u01/product/oracle/rdbms/lib/ssoraed.o /u01/product/oracle/rdbms/lib/ttcsoi.o /u01/product/oracle/lib/nautab.o /u01/product/oracle/lib/naeet.o /u01/product/oracle/lib/naect.o /u01/product/oracle/lib/naedhs.o /u01/product/oracle/rdbms/lib/config.o -lserver9 -lodm9 -lskgxp9 -lskgxn9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 /u01/product/oracle/rdbms/lib/defopt.o -lknlopt `if /usr/bin/ar tv /u01/product/oracle/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap9" ; fi` -lslax9 -lpls9 -lplp9 -lserver9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 -lknlopt -lslax9 -lpls9 -lplp9 -ljox9 -lserver9 -locijdbcst9 -lwwg9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lmm -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -ltrace9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `if /usr/bin/ar tv /u01/product/oracle/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo9"; fi` -lctxc9 -lctx9 -lzx9 -lgx9 -lctx9 -lzx9 -lgx9 -lordimt9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -lsnls9 -lunls9 -lxsd9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat /u01/product/oracle/lib/sysliblist` -Wl,-rpath,/u01/product/oracle/lib:/lib/i686:/lib:/usr/lib -lm `cat /u01/product/oracle/lib/sysliblist` -ldl -lm `test -f /u01/product/oracle/rdbms/lib/skgaioi.o && echo -laio`

mv -f /u01/product/oracle/bin/oracle /u01/product/oracle/bin/oracleO

mv /u01/product/oracle/rdbms/lib/oracle /u01/product/oracle/bin/oracle

chmod 6751 /u01/product/oracle/bin/oracle

DELL-RAC01$q

-bash: q: command not found

DELL-RAC01$

DELL-RAC02$

DELL-RAC02$cd $ORACLE_HOME/rdbms/lib

DELL-RAC02$make -f ins_rdbms.mk rac_on ioracle

rm -f /u01/product/oracle/lib/libskgxp9.so

cp /u01/product/oracle/lib//libskgxpu.so /u01/product/oracle/lib/libskgxp9.so

cp /u01/product/oracle/lib/libcmdll.so /u01/product/oracle/lib/libskgxn9.so

/usr/bin/ar cr /u01/product/oracle/rdbms/lib/libknlopt.a /u01/product/oracle/rdbms/lib/kcsm.o

- Linking Oracle

rm -f /u01/product/oracle/rdbms/lib/oracle

gcc -o /u01/product/oracle/rdbms/lib/oracle -L/u01/product/oracle/rdbms/lib/ -L/u01/product/oracle/lib/ -L/u01/product/oracle/lib/stubs/ -Wl,-E `test -f /u01/product/oracle/rdbms/lib/skgaioi.o && echo /u01/product/oracle/rdbms/lib/skgaioi.o` /u01/product/oracle/rdbms/lib/opimai.o /u01/product/oracle/rdbms/lib/ssoraed.o /u01/product/oracle/rdbms/lib/ttcsoi.o /u01/product/oracle/lib/nautab.o /u01/product/oracle/lib/naeet.o /u01/product/oracle/lib/naect.o /u01/product/oracle/lib/naedhs.o /u01/product/oracle/rdbms/lib/config.o -lserver9 -lodm9 -lskgxp9 -lskgxn9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 /u01/product/oracle/rdbms/lib/defopt.o -lknlopt `if /usr/bin/ar tv /u01/product/oracle/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap9" ; fi` -lslax9 -lpls9 -lplp9 -lserver9 -lclient9 -lvsn9 -lwtcserver9 -lcommon9 -lgeneric9 -lknlopt -lslax9 -lpls9 -lplp9 -ljox9 -lserver9 -locijdbcst9 -lwwg9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lmm -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -lnro9 `cat /u01/product/oracle/lib/ldflags` -lnsslb9 -lncrypt9 -lnsgr9 -lnzjs9 -ln9 -lnl9 -ltrace9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `if /usr/bin/ar tv /u01/product/oracle/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo9"; fi` -lctxc9 -lctx9 -lzx9 -lgx9 -lctx9 -lzx9 -lgx9 -lordimt9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -lsnls9 -lunls9 -lxsd9 -lnls9 -lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9 `cat /u01/product/oracle/lib/sysliblist` -Wl,-rpath,/u01/product/oracle/lib:/lib/i686:/lib:/usr/lib -lm `cat /u01/product/oracle/lib/sysliblist` -ldl -lm `test -f /u01/product/oracle/rdbms/lib/skgaioi.o && echo -laio`

mv -f /u01/product/oracle/bin/oracle /u01/product/oracle/bin/oracleO

mv /u01/product/oracle/rdbms/lib/oracle /u01/product/oracle/bin/oracle

chmod 6751 /u01/product/oracle/bin/oracle

DELL-RAC02$

DELL-RAC02$

DELL-RAC02$

DELL-RAC02$

DELL-RAC02$cd

DELL-RAC02$

观察2周后发现没有出现过类似问题。原来 67 天一次的实例crash现象消失,log也恢复正常,cm log没有类似error 的错误出现。 Bug 问题解决。

整個過程參考 : http://www.itpub.net/viewthread.php?tid=922265&highlight=%2Btolywang

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-999637/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-999637/

内容概要:本文详细介绍了MySQL中InnoDB存储引擎的逻辑存储结构及其表分区技术。InnoDB的逻辑存储单元由高到低依次为表空间、段、区、页和行,其中表空间包括系统表空间、独立表空间、通用表空间、Undo表空间和临时表空间,每种表空间具有不同的用途和管理方式。文章进一步讲解了表分区的概念与类型,包括RANGE、LIST、HASH、KEY以及多字段COLUMNS分区,阐述了分区的优势如提升查询性能、便于数据维护、支持跨物理设备存储等,并列举了实际SQL操作示例,帮助理解分区表的创建、修改、删除及重组等操作。同时指出了分区的限制条件,如最大分区数量、主键约束要求等。; 适合人群:具备一定MySQL数据库基础,从事数据库开发、运维或架构设计的技术人员,尤其是工作中涉及大数据量表管理与性能优化的1-3年经验研发人员。; 使用场景及目标:①深入理解InnoDB存储机制,优化数据库物理结构设计;②掌握表分区技术,应用于海量数据存储与高效查询场景,如日志系统、订单系统的时间分区设计;③通过分区实现数据归档、快速删除历史数据、提升查询性能等运维目标; 阅读建议:学习时应结合MySQL实际环境动手实践文中提供的SQL命令,重点关注表空间管理和分区策略的选择,理解其对性能和维护的影响,并注意分区使用中的限制条件以避免设计失误。
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)【采用BPSK或GMSK的Turbo码】MSK、GMS内容概要:本文主要介绍了采用BPSK或GMSK调制方式的Turbo码相关技术研究,重点涵盖GMSK调制下的二比特差分解调方法、Turbo码与BPSK/GMSK调制相结合的系统性能分析,并提供了完整的Matlab代码实现方案。研究内容包括调制解调原理、编码结构设计、误码率仿真及系统优化等关键环节,旨在通过仿真手段验证所提出方案的有效性和可靠性,帮助研究人员深入理解现代数字通信系统中的关键技术和其实现方法。; 适合人群:具备一定通信原理和Matlab编程基础,从事无线通信、信号处理、编码理论等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握GMSK调制与Turbo码结合的系统设计与仿真方法;②学习二比特差分解调算法在实际通信系统中的应用;③通过Matlab代码实现提升对数字调制解调和信道编码技术的理解与实践能力;④为相关课题研究、毕业设计或工程项目提供参考和技术支持。; 阅读建议:建议读者结合文中提供的Matlab代码逐模块运行与调试,对照通信系统基本原理深入理解各环节功能,重点关注调制解调过程与Turbo译码的协同工作机制,并尝试修改参数以观察系统性能变化,从而达到理论与实践相结合的学习效果。
源码下载地址: https://pan.quark.cn/s/7958f591353c 在Java应用程序的开发过程中,尤其是针对SpringBoot项目的构建,IntelliJ IDEA(简称IDEA)被广泛地采纳为一个极为流行的集成开发平台。本文将系统性地阐述如何在IDEA环境中部署并执行一个SpringBoot项目,涵盖了必要的环境搭建、Maven的配置、JDK环境的设定以及数据库的设置等关键环节。在进行后续操作前,请确认已经安装了以下基础组件: 1. IDEA:作为一个专门用于Java应用程序开发的集成开发环境,它提供了丰富的功能选项和强大的代码辅助能力。 2. JDK1.8:由于SpringBoot项目通常基于Java 8版本或更新版本进行开发,因此需要在计算机系统中安装对应的JDK版本。 3. MySQL8.0:如果项目需求中涉及到MySQL数据库的使用,请确保该数据库已经安装并处于运行状态。 4. Maven:作为项目的构建工具,它负责管理和构建SpringBoot项目。 **步骤一:Maven的配置** 1. **未配置Maven的情况**:当系统内部没有预先配置Maven时,IDEA将采用其内置的Maven版本来进行构建工作。用户可以直接利用IDEA自带的默认配置。 2. **已配置Maven的情况**:对于拥有个人Maven配置的用户,需要在IDEA中进行相应的设置。通过访问`File` > `Settings` > `Build, Execution, Deployment` > `Build Tools` > `Maven`菜单路径,用户可以在`Maven home directory`字段中指定本地Maven安装的路径。此外,还需确保`...
源码链接: https://pan.quark.cn/s/a4b39357ea24 在Linux操作系统,特别是服务器部署场景下,网络连接的不可靠性或缺失是常见问题,因此,进行离线模式下的软件安装变得尤为关键。本文将系统阐述在CentOS虚拟平台上如何实现wget工具及其相关组件的脱网安装。 首先,让我们对wget的功能特性有一个清晰的认识。wget作为一款功能全面的网络数据获取软件,支持通过HTTP、HTTPS以及FTP等传输协议执行文件下载操作,并且具备在用户中断连接后自动续传的功能,特别适用于在终端操作界面中完成文件获取任务。值得注意的是,wget程序的有效运行可能需要依赖特定的系统库和其他辅助工具,因此在部署过程中必须确认这些前置条件已经得到满足。 在执行wget的离线安装作业前,需要在具备网络连接的条件下预先准备一个集成所有必要组件的归档文件。该归档通常包含了wget的安装程序以及其运行所需的所有支持库。根据所提供的文件清单信息,识别到存在一个命名为“wget_offline_dependencies”的压缩文档,此文件应包含所有必需的元素。 接下来,将遵循以下操作流程开展离线安装工作: 1. **配置安装环境**:保证CentOS虚拟机的操作系统版本是最新的,以避免因系统组件版本陈旧而引发的兼容性障碍。执行`sudo yum update`(适用于CentOS 7及更早版本)或`sudo dnf update`(适用于CentOS 8及后续版本)指令来更新系统组件。 2. **传输离线安装包**:将“wget_offline_dependencies”压缩文件从网络可用的设备传输至CentOS虚拟机。可以使用U盘存储设备、网络文件服务或其他个人偏...
已经博主授权,源码转载自 https://pan.quark.cn/s/653d18f4b516 个人归纳了电子学会Python一级考试的要点及常见错误点,有需求的用户请在评论区留言。考试内容范围: 一、明确Python存在多种开发平台,精通Python原配的IDLE开发平台,能够开展程序编写、调试及分析工作,需具备借助Python开发平台进行程序设计的实践能力: (1)认识Python常用的几种编程平台:IDLE、Visual Studio Code、JupyterNotebook; (2)熟练IDLE的操作步骤,能够启动IDLE,能够创建文档、储存文档;(3)熟练运用IDLE进行编程,能够修改文档、执行文档等操作;(4)熟悉IDLE的两种开发途径,能够在不同途径间进行切换; (5)明确Python的版本标识以及当前最普遍应用的Python版本。 二、掌握Python程序编写的基础方法: (1)掌握“输入、处理、输出”程序编写流程; (2)熟练Python的基本格式,编写代码时会恰当的使用空格缩进、注释、字符串界定; (3)掌握变量基础概念,能够运用变量,并且掌握变量命名的规范和保留字等基础语法规格; (4)理解字符串、数值型变量,能够对变量类型进行转换; (5)掌握并熟练编写含有数值类型需求的程序。 Python作为教育及考核领域内广泛使用的高级程序设计语言,特别适合初学者学习入门。电子学会的Python一级考核主要检测考生对Python基础知识的掌握程度及应用水平。以下是一些关键的要点: 1. **开发平台**:考生应认识到Python的多种编程平台,如IDLE(Python自带的集成开发平台)、Visual Studio Code和Jupyter Notebook...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值