seata 什么时候能支持达梦数据库

seata 什么时候能支持达梦数据库,第1张

2021年十月已支持。

disql是达梦的命令行执行窗口,可以通过disql登录数据库进行相关 *** 作。以Windows10系统为例,调出CMD,进入到数据库的安装目录的bin下,执行disql命令,输入用户名和密码即可登录DM数据库。在命令行工具中,可以进行数据库的DML和DDL *** 作例如:查询,更新表信息等,Dmfldr是另一个命令行工具,可以用来批量导入导出有一定格式的数据,再安装目录bin下,用的时候最少要传递两个参数:一个是用户名密码,一个是控制文件,控制文件制定了向哪个表传插入数据,数据源是哪个文件,分隔符等信息。

备份的目的是当数据库遇到损坏的情况下,可以执行还原恢复 *** 作,把数据库复原到损坏前的某个时间点。用于还原恢复数据库的载体是备份集,生成备份集的过程便是备份了。逻辑备份是指利用dexp导出工具,将指定对象的数据导出到文件的备份方式。逻辑备份针对的是数据内容,并不关心这些数据物理存储在什么位置。物理备份则直接扫描数据库文件,找出那些已经分配、使用的数据页,拷贝并保存到备份集中。物理备份过程中,不关心数据页的具体内容是什么,也不关心数据页属于哪一张表,只是简单的根据数据库文件系统的描述,来挑选有效的数据页。

方式一

当然是windows电脑安装达梦管理工具,直接把脚本贴进去执行,但避免不了出现误 *** 作

在这里插入描述

方式二

使用shell脚本执行sql

1 先找到达梦数据库安装位置吧

[root@localhost ~]# ss -nlp |grep 5236

tcp LISTEN 0 128 [::]:5236 [::]: users:(("dmserver",pid=103380,fd=4))

[root@localhost ~]# ps -ef|grep dmserver

root 85093 66993 0 17:56 pts/6 00:00:00 grep --color=auto dmserver

dmdba 103380 1 8 13:36 00:23:18 /home/dmdba/dmdbms/bin/dmserver /home/dmdba/dmdbms/data/DAMENG_JW/dmini -noconsole

1

2

3

4

5

1

2

3

4

5

2 直接在linux上执行shell命令执行sql脚本

21 # disql username/password:port

使用这个命令可以进入sql控制台

[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236

服务器[LOCALHOST:5236]:处于普通打开状态

登录使用时间 : 5524(ms)

disql V8

SQL>

进入SQL>后:

直接输入sql语句,使用英文分号结尾,回车执行。

使用“`sql文件路径”,可以执行sql脚本文件,注意前面有一个小撇(esc和tab中间的键)

使用“start sql文件路径”,可以执行sql脚本文件。

22 # disql username/password:port `sql文件位置

使用这个命令可以执行sql脚本

[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236 \`sql/testsql

[root@localhost sql]#

1

2

1

2

但需注意

这个脚本执行完sql会停留在sql执行行,如需执行完返回到shell命令行,则需要在sql文件结尾添加:exit; 。

这个shell语句不能用start执行sql文件,只能使用“`”,并且前面需要添加转义字符“\”。

23 达梦sql脚本注意事项

目前发现-创建schema语句以及执行过程结尾,都需要添加“/”结束

例如执行以下语句,回车执行,一直在输出数字,直到输入“/”,再回车执行,才执行成功。

[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236

服务器[LOCALHOST:5236]:处于普通打开状态

登录使用时间 : 6121(ms)

disql V8

SQL> create schema test;

2

3 /

*** 作已执行

已用时间: 26698(毫秒) 执行号:700604

SQL>

sql脚本示例:

-- 创建schema

CREATE SCHEMA DB_ZFBA_MOBILE;

/

-- 执行过程

begin

if exists(select 1 from DBA_TAB_COLUMNS where OWNER='DB_ZFBA_MOBILE' AND TABLE_NAME='T_ZJTQD') then

EXECUTE immediate 'drop table DB_ZFBA_MOBILET_ZJTQD';

end if;

end;

/

create table DB_ZFBA_MOBILET_ZJTQD

(

"C_BH" char(32) NOT NULL, -- 主键

"C_BH_AJ" varchar2(32) NULL, -- 案件编号

……

"DT_ZHXGSJ" datetime NULL, -- 最后修改时间

constraint PK_T_ZJTQD primary key( C_BH )

);

sql文件结尾添加exit;,保证多个sql文件执行不会中断

3 编写shell脚本

注意:shell脚本一定在linux中编写,windows编写的有些语句执行不成功(目前原因未知)

例如: a=a b=b c=$a$b echo $c 在windows下编写,linux中执行完会输出b

#!/bin/bash

# 请先配置数据库连接信息,再执行此脚本

DM_PATH=/home/dmdba/dmdbms #达梦数据库的安装位置

USERNAME=cpuser #达梦数据库连接用户名

PASSWORD=cpuser123 #达梦数据库连接密码

PORT=5236 #达梦数据库连接端口号

# 下面的信息请不要随意修改

CONNECT_INFO=$USERNAME/$PASSWORD:$PORT

echo "连接信息:"$CONNECT_INFO

# STEP 1

echo "开始执行---- sql/02_创建数据库对象/00CS_GSYSsql"

$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/00CS_GSYSsql >> DB_DMlog

echo "执行完成---- sql/02_创建数据库对象/00CS_GSYSsql"

# STEP 2

echo "开始执行---- sql/02_创建数据库对象/01CT_GSYSsql"

$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/01CT_GSYSsql >> DB_DMlog

echo "执行完成---- sql/02_创建数据库对象/01CT_GSYSsql"

# STEP 3

echo "开始执行---- sql/02_创建数据库对象/02CC_GSYSsql"

$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/02CC_GSYSsql >> DB_DMlog

echo "执行完成---- sql/02_创建数据库对象/02CC_GSYSsql"

# STEP 4

echo "开始执行---- sql/02_创建数据库对象/03CI_GSYSsql"

$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/03CI_GSYSsql >> DB_DMlog

echo "执行完成---- sql/02_创建数据库对象/03CI_GSYSsql"

# STEP 5

echo "开始执行---- sql/03_初始化数据/02I_T_Aty_CodeType_GSYSsql"

$DM_PATH/bin/disql $CONNECT_INFO \`sql/03_初始化数据/02I_T_Aty_CodeType_GSYSsql >> DB_DMlog

echo "执行完成---- sql/03_初始化数据/02I_T_Aty_CodeType_GSYSsql"

# STEP 6

echo "开始执行---- sql/03_初始化数据/02I_T_Aty_Code_GSYSsql"

$DM_PATH/bin/disql $CONNECT_INFO \`sql/03_初始化数据/02I_T_Aty_Code_GSYSsql >> DB_DMlog

echo "执行完成---- sql/03_初始化数据/02I_T_Aty_Code_GSYSsql"

# Complete

echo "SQL全部执行完成---- 日志请查看DB_DMlog"

执行完成后,通过shell控制台和DB_DMlog日志可以分析sql脚本是否执行成功。

disgl命令可以用来指定端口导入sql文件,使用该命令格式如下:disgl -p port -i sql_file_namesql。 这里-p参数用来指定端口,-i参数用来指定要导入的sql文件,sql文件名需要带有后缀sql,例如testsql。 导入sql文件之前,需要确保MySQL服务已经启动,并且确保MySQL服务器在指定的端口上监听。 此外,在使用disgl命令指定端口导入sql文件时,还需要确保当前的登录用户具有root权限,否则无法成功导入sql文件。

以上就是关于seata 什么时候能支持达梦数据库全部的内容,包括:seata 什么时候能支持达梦数据库、达梦数据库shell脚本怎么获取查询语句结果集、disql命令如何指定端口导入sql文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9308533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存