达梦mpp相当于oracle什么,Linux平台达梦数据库V7之disql工具使用详解

LOGOUT从登录主库注销会话

LOGOUT 命令从登录主库注销会话。断开连接而不退出 DIsql。

SQL> logout

三 disql连接数据库的方式

DIsql 是 DM 数据库自带的一个命令行客户端工具,用来与 DM 数据库服务器进行交互。

工具语法如下:

[dmdba@dm3 IESDB]$ disql -h

disql V7.6.0.171-Build(2019.07.02-109059)ENT

DISQL 用法1:disql -h|help 显示disql版本信息和帮助信息

DISQL 用法2:disql [ [] [{ | /NOLOG}] [] ]

为: [-L] [-S]

-L 只尝试登录一次

-S 隐藏模式,隐藏标识符

为: {[/][*][@]} | {/ AS }br/>为{[][:][?{UDP|TCP|IPC|RDMA}][#][@]}

如果是IPv6的地址,需要用[]指明是IPv6地址,例如[fe80::1e6f:65ff:fed1:3724%6]

: `[ ...] 运行disql脚本

/NOLOG 选项能在未登录DM服务器的情况下启动disql

:-e "[;]"

关于这些选项的详细解释可以参考DM的官方手册《DM7_disql使用手册》2.1.2.2DIsql 登录方式.

3.1 服务端本地连接

在安装达梦服务端本地,可以直接通过disql进行登录,而无须指定IP与端口号(默认为LOCALHOST:5236):

[dmdba@dm3 /]$ disql sysdba/SYSDBA

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

登录使用时间: 8.525(毫秒)

disql V7.6.0.171-Build(2019.07.02-109059)ENT

SQL>

3.2 指定IP与端口号连接

这种方式类似于oracle数据库的EZCONNECT方式,可以连接任意服务端:

[dmdba@dm3 /]$ disql sysdba/SYSDBA@192.128.1.3:5236

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

登录使用时间: 19.260(毫秒)

disql V7.6.0.171-Build(2019.07.02-109059)ENT

SQL>

3.3 网络服务名连接

网络服务名的详细信息参考官方文档,本节所指的配置文件为dm_svc.conf,该文件在 Windows 操作平台下此文件位于%SystemRoot%\system32 目录,在 Linux 平台下此文件位于/etc 目录。

官方文档中给出的该文件的配置信息如下:

以#开头的行表示是注释

全局配置区

O2000=(192.168.0.1:5000,192.168.0.2:5236)

O3000=(192.168.0.1:5236,192.168.0.3:4350)

TIME_ZONE=(+8:00)

LOGIN_ENCRYPT=(0)

DIRECT=(Y)

服务配置区

[O2000]

TIME_ZONE=(+9:00)

LOGIN_MODE=(2)

SWITCH_TIME=(3)

SWITCH_INTERVAL=(10)

需要说明的是,如果对 dm_svc.conf 的配置项进行了修改,需要重启客户端程序,修

改的配置才能生效。

测试如下:

[dmdba@dm3 /]$ cat /etc/dm_svc.conf

TIME_ZONE=(480)

LANGUAGE=(cn)

semiter=(192.128.1.3:5236)

[dmdba@dm3 /]$ disql sysdba/SYSDBA@semiter

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

登录使用时间: 5.597(毫秒)

disql V7.6.0.171-Build(2019.07.02-109059)ENT

SQL>

这里需要说明几点:

1.网络服务名不区分大小写;

[dmdba@dm3 /]$ disql sysdba/SYSDBA@semiter

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

登录使用时间: 5.597(毫秒)

disql V7.6.0.171-Build(2019.07.02-109059)ENT

SQL> exit

[dmdba@dm3 /]$ disql sysdba/SYSDBA@SEMITER

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

登录使用时间: 4.616(毫秒)

disql V7.6.0.171-Build(2019.07.02-109059)ENT

SQL>

2.网络服务名后面可以跟端口号

这一点在非默认端口的情况下需要特别注意,另外对于达梦6的早期版本,不支持指定端口号,也就意味着不支持修改默认端口号。

3 LANGUAGE参数

当前数据库服务器使用的语言,会影响帮助信息错误和提示信息。支持的选项为:CN(表示中文)和 EN(表示英文)。可以不指定,若不指定,系统会读取操作系统信息获得语言信息,建议有需要才指定。

我们之前所执行的查询操作,在disql环境下都是中文显示,这是因为dm_svc.conf文件中LANGUAGE=CN,我们修改为EN测试一下:

[dmdba@dm3 /]$ cat /etc/dm_svc.conf

TIME_ZONE=(480)

LANGUAGE=(en)

semiter=(192.128.1.3:5236)

[dmdba@dm3 /]$ disql sysdba/SYSDBA@SEMITER

Server[192.128.1.3:5236]:mode is normal, state is open

login used time: 4.114(ms)

disql V7.6.0.171-Build(2019.07.02-109059)ENT

SQL>

四 disql中的环境变量设置

使用 SET 命令可以对当前 DIsql 的环境变量进行设置。并通过 SHOW 命令来查看当前系统中环境变量的设置情况。

4.1 set命令用法

SET 命令用于设置 DIsql 系统环境变量。

语法如下:

SET { }

:变量名称,参考官方文档。

:属性。

可以同时 SET 多个环境变量,如:Set heading on timing on。一旦 SET 之后某个环境变量出错,那么该变量之后的将不再起作用。

SQL> help set

SET

Sets a system variable to alter the DISQL environment settings

for your current session. For example, to:

set the display width for data

customize HTML formatting

enable or disable printing of column headings

set the number of lines per page

SET system_variable value

where system_variable and value represent one of the following clauses:

NEWP[AGE] {1|n|NONE}

AUTOCOMMIT {OFF|ON}

PAGES[IZE] {14|n}

DEFINE {&|c|ON|OFF}

ECHO {OFF|ON}

FEED[BACK] {6|n|ON|OFF}

HEA[DING] {ON|OFF}

TIMING {OFF|ON}

TIME {OFF|ON}

VER[IFY] {ON|OFF}

LONG {800|n}

LINESIZE {screen_length|n}

SERVEROUT[PUT] {ON | OFF} [SIZE {n}] [FOR[MAT] {WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]}]

SCREENBUFSIZE {DEFAULT | n(byte)}

CHAR_CODE {GBK | UTF8 | DEFAULT}

CURSOR {STATIC | FORWARDONLY | DEFAULT}

LINESHOW {ON | OFF}

AUTOTRACE {OFF | NL | INDEX | ON | TRACE}

DESCRIBE [DEPTH {1|n|ALL}] [LINENUM {ON|OFF}] [INDENT {ON|OFF}]

TRIMS[POOL] {ON | OFF}

AUTORECONN {ON | OFF}

LOBCOMPLETE {ON | OFF}

KEEPDATA {ON | OFF}

NEST_COMMENT {ON | OFF}

NULL_ASNULL {ON | OFF}

NULL_SHOW {ON | OFF}

CMD_EXEC {ON | OFF}

COLSEP {| text}

CHARDEL {| text}

FLOAT_SHOW { float_length }

4.2 show命令用法

通过使用 SHOW 命令,用户就可以快速而方便的了解到 DIsql 环境的当前环境变量设置。

SHOW 可以显示一个或多个变量。显示多个变量时中间加空格,当其中某一变量出错之后,后面的仍会继续显示。

语法如下:

SHOW {}

:环境变量。

示例如下,显示 HEADING 和 TIMING 两个变量:

SQL> SHOW HEADING TIMING

HEADING ON.

TIMING ON

五 disql下常用命令

5.1 help

DIsql 帮助命令,可以帮助用户查看其他命令的具体用法。用户可以看到其他命令系统显示的内容,概括为:

 命令的标题

 命令的文本描述

 命令的简写(例如,AUTO 可以代替 AUTOCOMMIT)

 可以向命令传递的强制参数和可选参数

HELP 显示指定命令的帮助信息。

语法如下:

HELP|? [topic]

topic:命令名称或者命令名称的首字母,查询某一命令用法或者某一字母开头的所有命令用法。

示例如下 :

SQL> HELP DEFINE

DEFINE

设置变量值,或者显示已定义的变量信息。

DEF[INE] [variable] | [variable = text]

5.2 spool

将屏幕显示的内容输出到指定文件。

语法如下:

SPOOL { | OFF }

::= [CRE[ATE]|REP[LACE]|APP[END]]

:指定文件的绝对路径

CRE[ATE]:创建指定的文件,若指定的文件已存在,则报错,默认方式

REP[LACE]:创建指定的文件,若指定的文件已存在,则替换它

APP[END]]:将输出内容追加到指定文件的末尾

OFF:关闭 SPOOL 输出

示例如下:

SQL>spoold:\b.sqlCREATE

SQL>select top 5* from sysobjects;

SQL>spool off

先执行上述语句,然后,查看 d:\b.sql 文件。

注意:只有 SPOOL OFF 之后 ,才 能 在输出文件中看到输出的内容。

5.3 host

使用 HOST 命令可以不用退出 DIsql 就能执行操作系统命令。如果单独执行 host,则能够直接从 DIsql 界面切换到操作系统,之后可使用 EXIT 回到 DIsql 界面。

语法如下:

HOST[]

:操作系统命令。

示例如下:

SQL>HOST DIR

5.4 DESCRIBE

获取表或视图、存储过程、函数、包、记录、类的结构描述。

语法如下:

DESC[RIBE]

各对象获取的内容略有不同:

 表或视图获取的内容包括列名,列数据类型,列是否可以取空值。

 函数、过程、类获取的内容包括两类:1)存储函数/过程名,类型(函数或过程),函数返回值类型;2)参数名,参数数据类型、参数输入输出属性、参数缺省值。

 包获取的内容分为两类:1)包内存储函数/过程名,类型(函数或过程),函数返回值类型;2)包内参数名,参数数据类型、参数输入输出属性、参数缺省值。

 记录获取的内容为:参数名,参数数据类型,参数是否可以取空值。

5.5 explain

用 EXPLAIN 命令来查看查询语句的执行计划。

语法如下:

EXPLAIN

请参考《DM7_SQL 语言使用手册》。

示例如下:

SQL>EXPLAIN select count(*) from sysobjects;

5.6 more

当结果集过多,屏幕只能显示一个时,用户可以使用 MORE 命令切换到下一个结果集。

MORE

例如,当执行如下语句时,用户想查看更多的结果集,可以使用 MORE 命令。

begin

select top 10 from v$dm_ini;

select top 10 from sysobjects;

select * from dual;

end

/

5.7 显示SQL语句或块信息LIST

显示最近执行的 SQL 语句或者 PL/SQL 块信息。不显示 DIsql 命令。

LIST 或者 ;

五 disql下执行SQL脚本

在第三章开头已经介绍了disql连接数据库的语法,其中有一个参数start,即可以执行sql脚本:

运行 DIsql 脚本文件。

例如,假设a.sql是路径为“c:\”的任意脚本文件DIsql –S SYSDBA/SYSDBA@192.128.1.3:5236 c:\a.sql。
如果在 linux 环境下使用,<start>外需要加上单引号,如:'" "'。

注意:

命令 中:在 既可以在 DIsql 启动时使用,也可以在进入 入 DIsql 界面之后使用。而入 只能在进入 DIsql 界面之后才能使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值