oracle 里ora.diskmon,ORA-29701: unable to connect to Cluster Synchronization Service!

在我的ASM单实例的测试环境中,在启动ASM的时候遇到如下提示:

ORA-29701: unable to connect to Cluster Synchronization Service

笔者这里有2台ASM单实例的环境,一台是linux suse sp11,另一台是oracle linux 6.4,2台电脑启动ASM实例都有这样的错误。请看如下详细:

Linux SUSE 环境和Oracle Liunx 环境都遇到如下错误:

PgSQL

grid@linux-7ff2:~> sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Sat Nov 30 07:34:55 2013

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup

ORA-01078: failure in processing system parameters

ORA-29701: unable to connect to Cluster Synchronization Service

1

2

3

4

5

6

7

8

9

10

11

grid@linux-7ff2:~>sqlplus/assysasm

SQL*Plus:Release11.2.0.3.0ProductiononSatNov3007:34:552013

Copyright(c)1982,2011,Oracle.Allrightsreserved.

Connectedtoanidleinstance.

SQL>startup

ORA-01078:failureinprocessingsystemparameters

ORA-29701:unabletoconnecttoClusterSynchronizationService

错误中提示没有连接到CSS服务,随即检查2个环境的CSS服务

Linux Suse环境:

PgSQL

grid@linux-7ff2:~> crsctl check css

CRS-4530: Communications failure contacting Cluster Synchronization Services daemon

grid@linux-7ff2:~> ps -ef | grep cssd

grid 4387 4319 0 07:40 pts/0 00:00:00 grep cssd

1

2

3

4

grid@linux-7ff2:~>crsctlcheckcss

CRS-4530:CommunicationsfailurecontactingClusterSynchronizationServicesdaemon

grid@linux-7ff2:~>ps-ef|grepcssd

grid43874319007:40pts/000:00:00grepcssd

Oracle  Linux 环境:

PgSQL

[grid@oraasm ~]$ crsctl check css

CRS-4530: Communications failure contacting Cluster Synchronization Services daemon

[grid@oraasm ~]$ ps -ef | grep cssd

grid 42583 40547 0 20:41 pts/1 00:00:00 grep cssd

1

2

3

4

[grid@oraasm~]$crsctlcheckcss

CRS-4530:CommunicationsfailurecontactingClusterSynchronizationServicesdaemon

[grid@oraasm~]$ps-ef|grepcssd

grid4258340547020:41pts/100:00:00grepcssd

发现2个环境的CSS服务都没有启动,随后怀疑是启动文件中没有配置:

Linux Suse环境:在suse环境中已经配置

PgSQL

# modem getty.

# mo:235:respawn:/usr/sbin/mgetty -s 38400 modem

# fax getty (hylafax)

# mo:35:respawn:/usr/lib/fax/faxgetty /dev/modem

# vbox (voice box) getty

# I6:35:respawn:/usr/sbin/vboxgetty -d /dev/ttyI6

# I7:35:respawn:/usr/sbin/vboxgetty -d /dev/ttyI7

# end of /etc/inittab

h1:35:respawn:/etc/init.d/init.ohasd run >/dev/null 2>&1

1

2

3

4

5

6

7

8

9

10

11

12

13

#modemgetty.

#mo:235:respawn:/usr/sbin/mgetty-s38400modem

#faxgetty(hylafax)

#mo:35:respawn:/usr/lib/fax/faxgetty/dev/modem

#vbox(voicebox)getty

#I6:35:respawn:/usr/sbin/vboxgetty-d/dev/ttyI6

#I7:35:respawn:/usr/sbin/vboxgetty-d/dev/ttyI7

#endof/etc/inittab

h1:35:respawn:/etc/init.d/init.ohasdrun>/dev/null2>&1

Oracle Linux环境:此环境没有配置自启动

PgSQL

[root@oraasm ~]# cat /etc/inittab

# inittab is only used by upstart for the default runlevel.

#

# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.

#

# System initialization is started by /etc/init/rcS.conf

#

# Individual runlevels are started by /etc/init/rc.conf

#

# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf

#

# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,

# with configuration in /etc/sysconfig/init.

#

# For information on how to write upstart event handlers, or how

# upstart works, see init(5), init(8), and initctl(8).

#

# Default runlevel. The runlevels used are:

# 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this)

#

id:5:initdefault:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

[root@oraasm~]#cat/etc/inittab

#inittabisonlyusedbyupstartforthedefaultrunlevel.

#

#ADDINGOTHERCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.

#

#Systeminitializationisstartedby/etc/init/rcS.conf

#

#Individualrunlevelsarestartedby/etc/init/rc.conf

#

#Ctrl-Alt-Deleteishandledby/etc/init/control-alt-delete.conf

#

#Terminalgettysarehandledby/etc/init/tty.confand/etc/init/serial.conf,

#withconfigurationin/etc/sysconfig/init.

#

#Forinformationonhowtowriteupstarteventhandlers,orhow

#upstartworks,seeinit(5),init(8),andinitctl(8).

#

#Defaultrunlevel.Therunlevelsusedare:

#0-halt(DoNOTsetinitdefaulttothis)

#1-Singleusermode

#2-Multiuser,withoutNFS(Thesameas3,ifyoudonothavenetworking)

#3-Fullmultiusermode

#4-unused

#5-X11

#6-reboot(DoNOTsetinitdefaulttothis)

#

id:5:initdefault:

发现如上差异,检查2个环境中的HAS服务是否正常,因为CSS服务需要依赖于HAS维护

Linux Suse环境:

PgSQL

grid@linux-7ff2:~> crsctl check has

CRS-4638: Oracle High Availability Services is online

grid@linux-7ff2:~> ps -ef|grep ohasd.bin

grid 3476 1 0 07:29 ? 00:00:04 /opt/grid/11.2/bin/ohasd.bin reboot

grid 4746 4417 0 07:47 pts/0 00:00:00 grep ohasd.bin

1

2

3

4

5

grid@linux-7ff2:~>crsctlcheckhas

CRS-4638:OracleHighAvailabilityServicesisonline

grid@linux-7ff2:~>ps-ef|grepohasd.bin

grid34761007:29?00:00:04/opt/grid/11.2/bin/ohasd.binreboot

grid47464417007:47pts/000:00:00grepohasd.bin

Oracle Linux环境:

PgSQL

[grid@oraasm ~]$ crsctl check has

CRS-4638: Oracle High Availability Services is online

[grid@oraasm ~]$ ps -ef|grep ohasd.bin

grid 1856 1 0 20:30 ? 00:00:04 /opt/grid/11.2/bin/ohasd.bin reboot

grid 33167 62171 0 20:47 pts/1 00:00:00 grep ohasd.bin

[grid@oraasm ~]$

1

2

3

4

5

6

[grid@oraasm~]$crsctlcheckhas

CRS-4638:OracleHighAvailabilityServicesisonline

[grid@oraasm~]$ps-ef|grepohasd.bin

grid18561020:30?00:00:04/opt/grid/11.2/bin/ohasd.binreboot

grid3316762171020:47pts/100:00:00grepohasd.bin

[grid@oraasm~]$

发现2个环境中的HAS服务都是正常的,然后看一下CSS服务和守护进程的自启动属性

Linux Suse 环境:

PgSQL

grid@linux-7ff2:~> crs_stat -p ora.cssd

NAME=ora.cssd

TYPE=ora.cssd.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=30

DESCRIPTION="Resource type for CSSD"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=5

SCRIPT_TIMEOUT=600

START_TIMEOUT=600

STOP_TIMEOUT=900

UPTIME_THRESHOLD=1m

grid@linux-7ff2:~> crs_stat -p ora.diskmon

NAME=ora.diskmon

TYPE=ora.diskmon.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=3

DESCRIPTION="Resource type for Diskmon"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=10

SCRIPT_TIMEOUT=60

START_TIMEOUT=600

STOP_TIMEOUT=60

UPTIME_THRESHOLD=5s

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

grid@linux-7ff2:~>crs_stat-pora.cssd

NAME=ora.cssd

TYPE=ora.cssd.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=30

DESCRIPTION="Resource type for CSSD"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=5

SCRIPT_TIMEOUT=600

START_TIMEOUT=600

STOP_TIMEOUT=900

UPTIME_THRESHOLD=1m

grid@linux-7ff2:~>crs_stat-pora.diskmon

NAME=ora.diskmon

TYPE=ora.diskmon.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=3

DESCRIPTION="Resource type for Diskmon"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=10

SCRIPT_TIMEOUT=60

START_TIMEOUT=600

STOP_TIMEOUT=60

UPTIME_THRESHOLD=5s

Oracle Linux环境:

PgSQL

[grid@oraasm ~]$ crs_stat -p ora.cssd

NAME=ora.cssd

TYPE=ora.cssd.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=30

DESCRIPTION="Resource type for CSSD"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=5

SCRIPT_TIMEOUT=600

START_TIMEOUT=600

STOP_TIMEOUT=900

UPTIME_THRESHOLD=1m

[grid@oraasm ~]$ crs_stat -p ora.diskmon

NAME=ora.diskmon

TYPE=ora.diskmon.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=3

DESCRIPTION="Resource type for Diskmon"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=10

SCRIPT_TIMEOUT=60

START_TIMEOUT=600

STOP_TIMEOUT=60

UPTIME_THRESHOLD=5s

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

[grid@oraasm~]$crs_stat-pora.cssd

NAME=ora.cssd

TYPE=ora.cssd.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=30

DESCRIPTION="Resource type for CSSD"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=5

SCRIPT_TIMEOUT=600

START_TIMEOUT=600

STOP_TIMEOUT=900

UPTIME_THRESHOLD=1m

[grid@oraasm~]$crs_stat-pora.diskmon

NAME=ora.diskmon

TYPE=ora.diskmon.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=never

CHECK_INTERVAL=3

DESCRIPTION="Resource type for Diskmon"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=10

SCRIPT_TIMEOUT=60

START_TIMEOUT=600

STOP_TIMEOUT=60

UPTIME_THRESHOLD=5s

可以看到2个环境中的AUTO_START=never属性,都是从不启动。说明并不会随着HAS的启动而启动CSS进程,这里我们可以手动启动CSS进程,我们先只在Linux Suse环境中手动启动这个进程,而Oracle Linux环境,我们修改配置文件,然后重启

Linux Suse环境:

PgSQL

grid@linux-7ff2:~> crsctl start resource ora.cssd

CRS-2672: Attempting to start 'ora.cssd' on 'linux-7ff2'

CRS-2672: Attempting to start 'ora.diskmon' on 'linux-7ff2'

CRS-2676: Start of 'ora.diskmon' on 'linux-7ff2' succeeded

CRS-2676: Start of 'ora.cssd' on 'linux-7ff2' succeeded

1

2

3

4

5

grid@linux-7ff2:~>crsctlstartresourceora.cssd

CRS-2672:Attemptingtostart'ora.cssd'on'linux-7ff2'

CRS-2672:Attemptingtostart'ora.diskmon'on'linux-7ff2'

CRS-2676:Startof'ora.diskmon'on'linux-7ff2'succeeded

CRS-2676:Startof'ora.cssd'on'linux-7ff2'succeeded

检查Linux Suse环境中的css服务:

PgSQL

grid@linux-7ff2:~> crsctl check css

CRS-4529: Cluster Synchronization Services is online

grid@linux-7ff2:~> crs_stat -t

Name Type Target State Host

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

ora.DATA.dg ora....up.type OFFLINE OFFLINE

ora.asm ora.asm.type OFFLINE OFFLINE

ora.cssd ora.cssd.type ONLINE ONLINE linux-7ff2

ora.diskmon ora....on.type OFFLINE OFFLINE

ora.evmd ora.evm.type ONLINE ONLINE linux-7ff2

ora.ons ora.ons.type OFFLINE OFFLINE

ora.orcl.db ora....se.type OFFLINE OFFLINE

1

2

3

4

5

6

7

8

9

10

11

12

grid@linux-7ff2:~>crsctlcheckcss

CRS-4529:ClusterSynchronizationServicesisonline

grid@linux-7ff2:~>crs_stat-t

NameTypeTargetStateHost

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

ora.DATA.dgora....up.typeOFFLINEOFFLINE

ora.asmora.asm.typeOFFLINEOFFLINE

ora.cssdora.cssd.typeONLINEONLINElinux-7ff2

ora.diskmonora....on.typeOFFLINEOFFLINE

ora.evmdora.evm.typeONLINEONLINElinux-7ff2

ora.onsora.ons.typeOFFLINEOFFLINE

ora.orcl.dbora....se.typeOFFLINEOFFLINE

可以看到css服务已经正常启动了,此时启动ASM实例就没有问题了

PgSQL

grid@linux-7ff2:~> sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Sat Nov 30 07:53:14 2013

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup

ASM instance started

Total System Global Area 283930624 bytes

Fixed Size 2227664 bytes

Variable Size 256537136 bytes

ASM Cache 25165824 bytes

ASM diskgroups mounted

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

grid@linux-7ff2:~>sqlplus/assysasm

SQL*Plus:Release11.2.0.3.0ProductiononSatNov3007:53:142013

Copyright(c)1982,2011,Oracle.Allrightsreserved.

Connectedtoanidleinstance.

SQL>startup

ASMinstancestarted

TotalSystemGlobalArea283930624bytes

FixedSize2227664bytes

VariableSize256537136bytes

ASMCache25165824bytes

ASMdiskgroupsmounted

注意如上我们是手动启动CSS进程,那么下次服务器重启的话,那么还需要手动来启动这个CSS进程,这样未必有点麻烦,我们这里可以修改配置文件来达到自动启动,我们在Oracle Linux环境中来测试,刚才并没有启动这个环境的CSS进程。

修改Oracle Linux环境中CSS服务和守护进程为自启动

PgSQL

[grid@oraasm ~]$ crsctl modify resource "ora.cssd" -attr "AUTO_START=1"

[grid@oraasm ~]$ crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"

1

2

[grid@oraasm~]$crsctlmodifyresource"ora.cssd"-attr"AUTO_START=1"

[grid@oraasm~]$crsctlmodifyresource"ora.diskmon"-attr"AUTO_START=1"

检查配置文件:

PgSQL

[grid@oraasm ~]$ crs_stat -p ora.cssd

NAME=ora.cssd

TYPE=ora.cssd.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=1

CHECK_INTERVAL=30

DESCRIPTION="Resource type for CSSD"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=5

SCRIPT_TIMEOUT=600

START_TIMEOUT=600

STOP_TIMEOUT=900

UPTIME_THRESHOLD=1m

[grid@oraasm ~]$ crs_stat -p ora.diskmon

NAME=ora.diskmon

TYPE=ora.diskmon.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=1

CHECK_INTERVAL=3

DESCRIPTION="Resource type for Diskmon"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=10

SCRIPT_TIMEOUT=60

START_TIMEOUT=600

STOP_TIMEOUT=60

UPTIME_THRESHOLD=5s

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

[grid@oraasm~]$crs_stat-pora.cssd

NAME=ora.cssd

TYPE=ora.cssd.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=1

CHECK_INTERVAL=30

DESCRIPTION="Resource type for CSSD"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=5

SCRIPT_TIMEOUT=600

START_TIMEOUT=600

STOP_TIMEOUT=900

UPTIME_THRESHOLD=1m

[grid@oraasm~]$crs_stat-pora.diskmon

NAME=ora.diskmon

TYPE=ora.diskmon.type

ACTION_SCRIPT=

ACTIVE_PLACEMENT=0

AUTO_START=1

CHECK_INTERVAL=3

DESCRIPTION="Resource type for Diskmon"

FAILOVER_DELAY=0

FAILURE_INTERVAL=3

FAILURE_THRESHOLD=5

HOSTING_MEMBERS=

PLACEMENT=balanced

RESTART_ATTEMPTS=10

SCRIPT_TIMEOUT=60

START_TIMEOUT=600

STOP_TIMEOUT=60

UPTIME_THRESHOLD=5s

可以看到AUTO_START=1参数已经修改过来了,此时重启Oracle Linux服务器,查看CSS服务是否会不会自动启动。

待Oracle Linux启动后,检查css服务,可以看到css服务自动启动了

PgSQL

[grid@oraasm ~]$ crs_stat -t

Name Type Target State Host

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

ora.DATA.dg ora....up.type OFFLINE OFFLINE

ora.asm ora.asm.type OFFLINE OFFLINE

ora.cssd ora.cssd.type ONLINE ONLINE oraasm

ora.diskmon ora....on.type OFFLINE OFFLINE

ora.evmd ora.evm.type ONLINE ONLINE oraasm

ora.ons ora.ons.type OFFLINE OFFLINE

ora.orcl.db ora....se.type OFFLINE OFFLINE

[grid@oraasm ~]$ crsctl check css

CRS-4529: Cluster Synchronization Services is online

1

2

3

4

5

6

7

8

9

10

11

12

[grid@oraasm~]$crs_stat-t

NameTypeTargetStateHost

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

ora.DATA.dgora....up.typeOFFLINEOFFLINE

ora.asmora.asm.typeOFFLINEOFFLINE

ora.cssdora.cssd.typeONLINEONLINEoraasm

ora.diskmonora....on.typeOFFLINEOFFLINE

ora.evmdora.evm.typeONLINEONLINEoraasm

ora.onsora.ons.typeOFFLINEOFFLINE

ora.orcl.dbora....se.typeOFFLINEOFFLINE

[grid@oraasm~]$crsctlcheckcss

CRS-4529:ClusterSynchronizationServicesisonline

然后启动ASM实例正常

PgSQL

[grid@oraasm ~]$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.3.0 Production on Sun Dec 1 21:02:49 2013

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup

ASM instance started

Total System Global Area 283930624 bytes

Fixed Size 2227664 bytes

Variable Size 256537136 bytes

ASM Cache 25165824 bytes

ASM diskgroups mounted

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[grid@oraasm~]$sqlplus/assysasm

SQL*Plus:Release11.2.0.3.0ProductiononSunDec121:02:492013

Copyright(c)1982,2011,Oracle.Allrightsreserved.

Connectedtoanidleinstance.

SQL>startup

ASMinstancestarted

TotalSystemGlobalArea283930624bytes

FixedSize2227664bytes

VariableSize256537136bytes

ASMCache25165824bytes

ASMdiskgroupsmounted

这样以后就不用每次都手动来启动CSS进程了,下面附上几个检查HAS和CSS服务的命令:

1)默认情况下HAS(High Availability Service)是自动启动的.通过如下命令可以取消和启用自动启动

crsctl disable has

crsctl enable has

2)HAS手动启动和停止

crsctl start has

crsctl stop has

3)查看HAS的状态

crsctl check has

4)查看CSS的状态

crsctl check css

5)手动启动CSS进程

crsctl start resource ora.cssd

6)检查所有资源的状态

crsctl status resource -t

crs_stat -t

6)如果想让ora.css和ora.diskmon服务随着HAS的启动而自动启动,那么你可以这两个服务的AUTO_START属性

crsctl modify resource “ora.cssd” -attr “AUTO_START=1”

crsctl modify resource “ora.diskmon” -attr “AUTO_START=1”

7)如果想取消ora.css和ora.diskmon的Auto start

crsctl modify resource “ora.cssd” -attr “AUTO_START=never”

crsctl modify resource “ora.diskmon” -attr “AUTO_START=never”

转载请注明: 版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

最后编辑:2013-11-30作者:Jerry

61f384f23c24a3306817dc87a6906c2d.png

一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值