前言
之前跟大伙儿聊了怎么搭建一个单机环境,还有图形界面工具的用法,今儿个咱们就来聊聊怎么用disql工具进行最小化部署,以及分享一些实用的小技巧。
工具介绍
disql
是DM 数据库系统内置的命令行界面工具,旨在实现用户与DM
数据库服务器之间的交互操作。该工具随DM
数据库的安装而自动提供,用户可在应用程序菜单或安装目录中轻松访问。disql
负责解析用户的输入指令,将用户编写的 SQL
语句封装并传输至 DM 数据库服务器以执行,随后接收并根据用户指定的格式展示执行结果。为了提升用户交互体验并有效展示执行结果,disql
同时支持执行特定的 disql
命令,这些命令由 disql
自身处理,无需传递至数据库服务器。
在disql
中执行的SQL
语句会被暂存于一个专用的内存区域,用户可利用上下方向键检索这些语句(尽管某些操作系统可能不支持此功能),并进行必要的修改后重新执行。相比之下,disql
命令在执行完毕后不会被保存在内存中。
工具部署
方式1:通过之前安装数据库软件选择客户端即可,通常在dmdbms/bin
下与dmdbms/tool
下,不过去需要注意使用是有区别,如下案例所示。
dmdbms/tool下只是访问工具交互界面,并未登录到数据库
[dmdba@dm92 tool]$ ./disql SYSDBA/SYSDBA
disql V8
SQL> select id_code();
未连接
SQL>
dmdbms/bin下使用输入账号密码后直接登录成功
[dmdba@dm92 bin]$ ./disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.750(ms)
disql V8
SQL> select id_code();
行号 ID_CODE()
---------- ----------------------------------------
1 1-2-18-21.11.11-150669-10013-ENT Pack16
已用时间: 1.124(毫秒). 执行号:1500.
SQL>
方式2:在完成安装后的dmdbms/bin路径下进行拷贝,将其拷贝到新的目录即可投入使用。这种方法的优点在于轻量化、占用空间较小,且拷贝速度快,便于在其他服务器上进行测试及满足基本的日常使用需求。方法如下:
[dmdba@dm92 bin]$ ls -l /dm/dmback/disql_test/
-rwxr-xr-x 1 root root 6879 Feb 7 13:32 disql
-rwxr-xr-x 1 root root 3243641 Feb 7 13:32 libcrypto.so
-rwxr-xr-x 1 root root 327775 Feb 7 13:32 libdisql_dll.so
-rwxr-xr-x 1 root root 531220 Feb 7 13:58 libdmcalc.so
-rwxr-xr-x 1 root root 346820 Feb 7 13:32 libdmclientlex.so
-rwxr-xr-x 1 root root 5112240 Feb 7 13:59 libdmcvt.so
-rwxr-xr-x 1 root root 9791882 Feb 7 13:32 libdmdpi.so
-rwxr-xr-x 1 root root 34657 Feb 7 13:32 libdmelog.so
-rwxr-xr-x 1 root root 62736 Feb 7 13:32 libdmmem.so
-rwxr-xr-x 1 root root 492178 Feb 7 13:59 libdmmout.so
-rwxr-xr-x 1 root root 204714 Feb 7 13:32 libdmos.so
-rwxr-xr-x 1 root root 94815 Feb 7 13:59 libdmstrt.so
-rwxr-xr-x 1 root root 85105 Feb 7 13:32 libdmutl.so
[dmdba@dm92 bin]$
在当前目录登录测试
[dmdba@dm92 bin]$ ./disql SYSDBA/SYSDBA
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.597(ms)
disql V8
SQL>
拷贝到远程服务器登录测试,效果如下:
[root@hsdb disql_test]# ldd disql
linux-vdso.so.1 => (0x00007ffcc97dd000)
libdisql_dll.so => ./libdisql_dll.so (0x00007f42aee1a000)
librt.so.1 => /lib64/librt.so.1 (0x00007f42aec12000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f42ae9f6000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f42ae7f2000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f42ae4eb000)
libm.so.6 => /lib64/libm.so.6 (0x00007f42ae1e9000)
libc.so.6 => /lib64/libc.so.6 (0x00007f42ade1c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f42adc06000)
libdmdpi.so => ./libdmdpi.so (0x00007f42acf89000)
libdmos.so => ./libdmos.so (0x00007f42acd5d000)
libdmcalc.so => ./libdmcalc.so (0x00007f42acae3000)
libdmelog.so => ./libdmelog.so (0x00007f42ac8dc000)
libdmutl.so => ./libdmutl.so (0x00007f42ac6ca000)
libdmcvt.so => ./libdmcvt.so (0x00007f42abfeb000)
libdmclientlex.so => ./libdmclientlex.so (0x00007f42abd98000)
libdmstrt.so => ./libdmstrt.so (0x00007f42abb84000)
libdmmout.so => ./libdmmout.so (0x00007f42ab90d000)
/lib64/ld-linux-x86-64.so.2 (0x00007f42af076000)
libdmmem.so => ./libdmmem.so (0x00007f42ab700000)
[root@hsdb disql_test]# ./disql SYSDBA/SYSDBA@192.168.25.92:5236
Server[192.168.25.92:5236]:mode is normal, state is open
login used time : 130.824(ms)
disql V8
SQL>
SQL>
SQL> select id_code();
LINEID ID_CODE()
---------- ----------------------------------------
1 1-2-18-21.11.11-150669-10013-ENT Pack16
used time: 42.524(ms). Execute id is 3200.
SQL>
往期分享
安装部署
1.分享一个以前搭建主备集群遇到的一个路径乱码案例
2.给大家分享如何标准化部署达梦单机环境
3.DM达梦数据库中大写敏感介绍分享
数据迁移
1.分享工作中数据迁移的实用技巧与方法
2.Oracle迁移DM数据库实践
3.SQLark迁移实践分享(oracle-达梦数据库)
SQL调优
1.DM 传统行业SQL优化案例分享
2.DM数据库SQL优化案例分享
3.如何查询DM 数据库缓存执行计划与清理
4.使用ob_tools包收集分析oceanbase数据库oracle租户缓慢sql语句
5.使用format_obproxy_digest_log工具分析obproxy网络层耗时SQL
6.DM数据库回表优化案例
7.SQL优化案例分享
工具使用与日常处理
1.DataGrip访问国产数据库_datagrip 连接国产数据库
2.如何使用dbeaver连接达梦数据库
3.更新大字段提示-2201无效的对象问题
4.DM7读写分离部署问题总结
5.DM7读写分离集群备库数据不同步问题处理





