• DM8共享集群DSC初始化DB实例报错


    DM8共享集群DSC初始化DB实例报错

    问题描述

    启动dmcss和dmasmsvr服务启动后,初始化DB实例提示如下报错:

    [dmdba@localhost DSC0]$ /dmdb8/dmdbms/bin/dminit control=/dmdb8/dmdbms/dsc_config/DSC0/dminit.ini
    initdb V8
    db version: 0x7000c
    file dm.key not found, use default license!
    License will expire on 2024-04-17
    Normal of FAST
    Normal of DEFAULT
    Normal of RECYCLE
    Normal of KEEP
    Normal of ROLL
     log file path: +DMREDO/DSC0_LOG01.log
     log file path: +DMREDO/DSC0_LOG02.log
     log file path: +DMREDO/DSC1_LOG01.log
     log file path: +DMREDO/DSC1_LOG02.log
    write to dir [+DMDATA/data/DSC].
    fsm_file_add group_id 1, file_id 0, size_in_pages 320000, path +DMDATA/data/ROLL.dbf failed, code -7004
    Please check whether exist file or directory with the same name or view the log for more infomation, code:[-7014]
    fail to init db.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    问题分析

    --查看初始化实例配置文件dminit.ini
    [dmdba@~]# cat /dmdb8/dmdbms/dsc_config/DSC0/dminit.ini
    DB_NAME                  = DSC #初始化数据库名称
    SYSDBA_PWD               = SYSDBA_PWD 
    SYSTEM_PATH              = +DMDATA/data  #初始化数据库存放的路径
    SYSTEM                   = +DMDATA/data/SYSTEM.dbf #SYSTEM表空间路径
    SYSTEM_SIZE              = 1024 #SYSTEM表空间大小
    ROLL                     = +DMDATA/data/ROLL.dbf  #ROLL表空间路径
    ROLL_SIZE                = 10000  #ROLL表空间大小
    MAIN                     = +DMDATA/data/MAIN.dbf  #MAIN表空间路径
    MAIN_SIZE                = 1024 #MAIN表空间大小
    CTL_PATH                 = +DMDATA/data/dm.ctl  #DM.CTL控制文件路径
    CTL_SIZE                 = 8  #DM.CTL控制文件大小
    LOG_SIZE                 = 1024  #日志文件大小
    DCR_PATH                 = /dev/dm/asm-dmdcr  #DCR磁盘路径
    DCR_SEQNO                = 0  #连接DMASM节点节点号
    AUTO_OVERWRITE           = 1   #文件存在时的处理方式
    PAGE_SIZE                = 32
    EXTENT_SIZE              = 16
    BLANK_PAD_MODE           = 1
    
    [DSC0]  #具体节点都是以[XXX]开始,节点实例名就是XXX
    CONFIG_PATH              = /dmdb8/dmdbms/dsc_config/DSC0  #配置文件存放路径
    PORT_NUM                 = 5236  #节点服务器监听通讯端口号,服务器配置此参数,取值范围1024~65534,发起连接端的端口在1024~65535之间随机分配
    MAL_HOST                 = 192.168.183.100 #节点MAL系统使用IP  心跳ip
    MAL_PORT                 = 11246 #MAL监听端口,用于数据守护、DSC、MPP等环境中各节点实例之间MAL链路配置,监听端端口配置此参数,取值范围1024~65534,发起连接端的端口在1024~65535之间随机分配
    LOG_PATH                 = +DMREDO/DSC0_LOG01.log #日志文件路径
    LOG_PATH                 = +DMREDO/DSC0_LOG02.log #日志文件路径
    [DSC1]  #具体节点都是以[XXX]开始,节点实例名就是XXX
    CONFIG_PATH              = /dmdb8/dmdbms/dsc_config/DSC1  #配置文件存放路径
    PORT_NUM                 = 5236  #节点服务器监听通讯端口号,服务器配置此参数,取值范围1024~65534,发起连接端的端口在1024~65535之间随机分配
    MAL_HOST                 = 192.168.183.130  #节点MAL系统使用IP  心跳ip
    MAL_PORT                 = 11246 #MAL监听端口,用于数据守护、DSC、MPP等环境中各节点实例之间MAL链路配置,监听端端口配置此参数,取值范围1024~65534,发起连接端的端口在1024~65535之间随机分配
    LOG_PATH                 = +DMREDO/DSC1_LOG01.log #日志文件路径
    LOG_PATH                 = +DMREDO/DSC1_LOG02.log #日志文件路径
    
    --删除初始化生成的参数文件和数据文件
    db0节点删除共享磁盘中的目录
    [dmdba@localhost DSC0]$ /dmdb8/dmdbms/bin/dmasmtool dcr_ini=/dmdb8/dmdbms/dsc_config/DSC0/dmdcr.ini 
    ASM>ls -l
    ASM>ls -l
    +
    disk groups total [5]......
    NO.1 	 name: DMREDO
    	 id: 0
    	 au_size: 1.00 MB
    	 extent_size: 4
    	 total_size: 10.00 GB
    	 free_size: 8.99 GB
    	 create_time: 2023-11-17 15:20:33
    	 modify_time: 2023-11-17 15:20:33
    NO.2 	 name: DMDATA
    	 id: 1
    	 au_size: 1.00 MB
    	 extent_size: 4
    	 total_size: 10.00 GB
    	 free_size: 9.60 GB
    	 create_time: 2023-11-17 15:20:56
    	 modify_time: 2023-11-17 15:20:56
    NO.3 	 name: DMARCH
    	 id: 2
    	 au_size: 1.00 MB
    	 extent_size: 4
    	 total_size: 10.00 GB
    	 free_size: 9.99 GB
    	 create_time: 2023-11-17 15:21:06
    	 modify_time: 2023-11-17 15:21:06
    NO.4 	 name: VOTE
    	 id: 125
    	 au_size: 1.00 MB
    	 extent_size: 4
    	 total_size: 1.00 GB
    	 free_size: 1000.00 MB
    	 create_time: 2023-11-17 15:10:06
    	 modify_time: 2023-11-17 15:10:41
    NO.5 	 name: DCR
    	 id: 126
    	 au_size: 1.00 MB
    	 extent_size: 4
    	 total_size: 1.00 GB
    	 free_size: 1000.00 MB
    	 create_time: 2023-11-17 15:09:50
    	 modify_time: 2023-11-17 15:11:41
    Used time: 2.222(ms).
    ASM>cd DMDATA
    +DMDATA
    Used time: 2.216(ms).
    ASM>rm -rf *
    Used time: 10.445(ms).
    ASM>cd ../
    Used time: 1.914(ms).
    ASM>ls -l
    
    db0节点删除初始化生成的参数文件
    rm -f /dmdb8/dmdbms/dsc_config/DSC0/dmdcr.ini
    rm -f /dmdb8/dmdbms/dsc_config/DSC0/sqllog.ini
    
    db1节点删除初始化生成的参数文件
    rm -f /dmdb8/dmdbms/dsc_config/DSC1/dmdcr.ini
    rm -f /dmdb8/dmdbms/dsc_config/DSC1/sqllog.ini
    
    --db0节点清理磁盘头
    su - root
    dd if=/dev/zero  of=/dev/sbe bs=1k count=1
    dd if=/dev/zero  of=/dev/sbf bs=1k count=1
    dd if=/dev/zero  of=/dev/sbd bs=1k count=1
    
    --db0节点重新初始化ASM磁盘
    [dmdba@~]#/dmdb8/dmdbms/bin/dmasmcmd
    #asm script file
    #初始化 DMASM 磁盘
    ASM>create asmdisk '/dev/dm/asm-dmdata' 'DATA0'
    ASM>create asmdisk '/dev/dm/asm-dmredo' 'REDO0'
    ASM>create asmdisk '/dev/dm/asm-dmarch' 'ARCH0'
    
    --在 db0 节点再次执行初始化 db 命令
    [dmdba@~]# /dmdb8/dmdbms/bin/dminit control=/dmdb8/dmdbms/dsc_config/DSC0/dminit.ini
    依旧是上面的报错。
    
    • 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
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118

    一直掉在下面的报错坑中,在坑里呆了有小半天的时间。

    Please check whether exist file or directory with the same name or view the log for more infomation, code:[-7014]
    
    • 1

    从下午3点左右一直到6点半左右,达梦厂家交流群、达梦官方在线社区平台都进行了咨询,还手动进入+DMDATA磁盘手动创建了data目录。最后求助无缘,想着扒拉下官方文档吧,逐行看一行也没敢跳过,最终发现

    --过滤出参数文件中关于size大小的参数
    [dmdba@localhost DSC0]$ cat /dmdb8/dmdbms/dsc_config/DSC0/dminit.ini |grep SIZE
    SYSTEM_SIZE              = 1024
    ROLL_SIZE                = 10000
    MAIN_SIZE                = 1024
    CTL_SIZE                 = 8
    LOG_SIZE                 = 2048
    PAGE_SIZE                = 32
    EXTENT_SIZE              = 16
    
    --查看ASM磁盘大小
    [dmdba@localhost DSC0]$ /dmdb8/dmdbms/bin/dmasmcmd
    DMASMCMD V8
    ASM>listdisks /dev/dm
    [/dev/dm/asm-dmvote]: Used ASM disk, name:[DMASMvote], size:[1024M], group_id:[125], disk_id:[0]
    [/dev/dm/asm-dmdcr]: Used ASM disk, name:[DMASMdcr], size:[1024M], group_id:[126], disk_id:[0]
    [/dev/dm/asm-dmdata]: Unused ASM disk, name:[DMASMDATA0], size:[10239M]
    [/dev/dm/asm-dmarch]: Unused ASM disk, name:[DMASMARCH0], size:[10239M]
    [/dev/dm/asm-dmredo]: Unused ASM disk, name:[DMASMREDO0], size:[10239M]
    Used time: 4.025(ms).
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    /dmdb8/dmdbms/dsc_config/DSC0/dminit.ini 数据文件的总大小超过了磁盘最大空间,因此初始化失败。

    解决办法

    将文件类的参数统一改成128重新初始化

    --查看更改后的参数
    [dmdba@localhost DSC0]$ cat /dmdb8/dmdbms/dsc_config/DSC0/dminit.ini |grep SIZE
    SYSTEM_SIZE              = 128
    ROLL_SIZE                = 128
    MAIN_SIZE                = 128
    CTL_SIZE                 = 8
    LOG_SIZE                 = 128
    PAGE_SIZE                = 32
    EXTENT_SIZE              = 16
    
    --再次初始化
    [dmdba@localhost DSC0]$ /dmdb8/dmdbms/bin/dminit control=/dmdb8/dmdbms/dsc_config/DSC0/dminit.ini
    initdb V8
    db version: 0x7000c
    file dm.key not found, use default license!
    License will expire on 2024-04-17
    value of the log file size error.
     the log file size is between 256 and 8192.
    Read ini file(/dmdb8/dmdbms/dsc_config/DSC0/dminit.ini) error in line 12, code(-1)
    fail to init db.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    LOG_SIZE取值范围256 and 8192单位M
    将LOG_SIZE更改为256重新初始化成功

    [dmdba@localhost DSC0]$ /dmdb8/dmdbms/bin/dminit control=/dmdb8/dmdbms/dsc_config/DSC0/dminit.ini
    initdb V8
    db version: 0x7000c
    file dm.key not found, use default license!
    License will expire on 2024-04-17
    Normal of FAST
    Normal of DEFAULT
    Normal of RECYCLE
    Normal of KEEP
    Normal of ROLL
    
     log file path: +DMREDO/DSC0_LOG01.log
    
    
     log file path: +DMREDO/DSC0_LOG02.log
    
    
     log file path: +DMREDO/DSC1_LOG01.log
    
    
     log file path: +DMREDO/DSC1_LOG02.log
    
    FILE "/dmdb8/dmdbms/dsc_config/DSC0/dm.ini" has already existed
    FILE "/dmdb8/dmdbms/dsc_config/DSC0/sqllog.ini" has already existed
    FILE "/dmdb8/dmdbms/dsc_config/DSC1/dm.ini" has already existed
    FILE "/dmdb8/dmdbms/dsc_config/DSC1/sqllog.ini" has already existed
    write to dir [+DMDATA/data/DSC].
    create dm database success. 2023-11-17 18:49:14
    
    • 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

    总结

    自己粗心给自己挖的坑,栽坑里久了才想起来去看官方文档。曾经有好几个大佬说过没事多看看官方文档,官方文档上面写的特别清楚,自我拙见的认为官方文档内容多分析解决文件时效低一直偷懒忽略。这次算上给自己长教训了。

  • 相关阅读:
    状态同步 和 帧同步
    java计算机毕业设计校园环境保护监督系统源代码+系统+数据库+lw文档
    linux之iptables防火墙
    JSD-2204-MyBatis小结-SLF4j日志-SpringMVC-Day05
    骨传导耳机有害处吗、骨传导耳机真的不好用吗?
    【毕业设计】24-基于单片机的电子显示屏的设计与应用(原理图+源码+仿真工程+论文+答辩PPT)
    网络安全-ACL应用
    【开题报告】基于uni-app的汽车租赁app的设计与实现
    ECCV2022|港中文MM Lab证明Frozen的CLIP 模型是高效视频学习者
    从入门到进阶,Python程序员必看的6本书籍!
  • 原文地址:https://blog.csdn.net/qq961573863/article/details/134469644