在使用disql 连接达梦数据库的时候可能会遇到如下错误:
[dmdba@www.cndba.cn ~]$ disql SYSDBA/SYSDBA
[-70028]:Create SOCKET connection failure.
disql V8
username:^C
[dmdba@www.cndba.cn ~]$
这里通常有如下几种原因导致。
1、DM 进程没有启动
达梦数据库可以通过dmserver 命令行直接启动,也可以注册成服务启动。 具体服务注册参考我的博客:
DM7 达梦数据库 通过dminit 创建 并 注册 数据库实例
https://www.cndba.cn/dave/article/3580
达梦数据库 DM8 中 注册服务 说明
https://www.cndba.cn/dave/article/3753
2、对于第一次使用dminit 初始化的DM实例,直接用服务启动时,也会出现该问题。
对于dminit初始化的DM实例,在第一次启动时,需要使用dmserver 命令启动。
此时如果查看DM的日志,会显示如下信息:
[root@www.cndba.cn log]# tail -100 DmServicedave.log
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 startup...
Database mode = 0, oguid = 0
License will expire on 2020-09-16
Database first startup failed, reinitialize database please!
[root@www.cndba.cn log]#
手工启动:
[dmdba@www.cndba.cn bin]$ ./dmserver '/dm/dmdbms/data/dave/dm.ini'
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 startup...
Database mode = 0, oguid = 0
License will expire on 2020-09-16
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_items, collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages
pseg_process_collect_items end, 0 active trx, 0 active pages, 0 committed trx, 0 committed pages
total 0 active crash trx, pseg_crash_trx_rollback begin ...
pseg_crash_trx_rollback end
purg2_crash_cmt_trx end, total 0 page purged
set EP[0]'s pseg state to inactive
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 2004 purged 1 pages
trx: 2023 purged 1 pages
trx: 2024 purged 1 pages
trx: 2025 purged 1 pages
trx: 2026 purged 1 pages
trx: 2037 purged 1 pages
trx: 2157 purged 1 pages
trx: 2177 purged 1 pages
trx: 2178 purged 1 pages
trx: 2179 purged 1 pages
trx: 2180 purged 1 pages
trx: 2181 purged 1 pages
trx: 2182 purged 1 pages
trx: 2184 purged 1 pages
trx: 2186 purged 1 pages
trx: 2189 purged 1 pages
trx: 2195 purged 1 pages
trx: 2205 purged 1 pages
trx: 3072 purged 1 pages
trx: 3073 purged 1 pages
trx: 3074 purged 1 pages
trx: 3075 purged 1 pages
trx: 3087 purged 1 pages
trx: 3089 purged 1 pages
trx: 3090 purged 1 pages
trx: 3091 purged 1 pages
trx: 3096 purged 21 pages
trx: 3123 purged 1 pages
trx: 3124 purged 1 pages
trx: 3125 purged 1 pages
trx: 3126 purged 1 pages
trx: 3132 purged 1 pages
trx: 3134 purged 1 pages
trx: 3136 purged 1 pages
trx: 3141 purged 1 pages
trx: 3146 purged 1 pages
trx: 3151 purged 1 pages
trx: 3153 purged 1 pages
trx: 3156 purged 1 pages
trx: 3158 purged 1 pages
trx: 3170 purged 1 pages
trx: 3172 purged 1 pages
trx: 3174 purged 1 pages
trx: 3179 purged 1 pages
trx: 3182 purged 1 pages
trx: 3185 purged 1 pages
trx: 3188 purged 1 pages
trx: 3197 purged 1 pages
trx: 3198 purged 1 pages
trx: 3347 purged 1 pages
trx: 3349 purged 7 pages
trx: 3358 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback begin ...
pseg_crash_trx_rollback end
SYSTEM IS READY.
之后就可以用服务启动了。
3、DMAP 服务异常
DMAP是达梦数据库辅助插件服务。 在DM实例运行时依赖该服务。 关于服务类型参考我的博客:
DM7 达梦数据库 服务 说明
https://www.cndba.cn/dave/article/3579
在创建DM实例会自动创建DMAP的服务,一般正常重启即可。
[root@www.cndba.cn log]# systemctl start DmAPService.service
但如果之前就已经异常,此时如果重启失败,可以先删除DM_HOME/bin目录下的DM_PIPE* 文件,在重启。
[dmdba@www.cndba.cn bin]$ pwd
/dm/dmdbms/bin
[dmdba@www.cndba.cn bin]$ ll DM_PIPE*
prwx------. 1 dmdba dmdba 0 Oct 29 13:52 DM_PIPE_DMAP_LSNR_RD
prwx------. 1 dmdba dmdba 0 Oct 29 13:52 DM_PIPE_DMAP_LSNR_WR
[dmdba@www.cndba.cn bin]$
这些管道文件在重启DMAP后会自动创建。
版权声明:本文为博主原创文章,未经博主允许不得转载。