达梦数据库disql工具使用

达梦数据库disql工具类似于Oracle的sqlplus工具,使用方法上也比较相近。

disql工具用法

./disql help查看disql命令行工具使用

[dmdba@localhost bin]$ ./disql help
disql V8
DISQL 用法1:disql -h|help  显示disql版本信息和帮助信息

DISQL 用法2:disql [ [<option>] [<logon> | {/NOLOG}] [<start>] ]

 <option> 为: [-L] [-S]

  -L 只尝试登录一次
  -S 隐藏模式,隐藏<SQL>标识符

 <logon> 为::= {<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
 <connect_identifier>为[<svc_name> | host[:port] | <unixsocket_file>]
 HOST如果是IPv6的地址,需要用[]指明是IPv6地址,例如[fe80::1e6f:65ff:fed1:3724%6]
 INET_TYPE如果是UNIXSOCKET类型,<connect_identifier>需要指明是unixsocket地址,例如:/data/sdb/DAMENG/foo.sock
 <option> ::= #{<extend_option>=<value>[,<extend_option>=<value>]...}
 <os_auth> ::= AS {SYSDBA|SYSSSO|SYSAUDITOR|USERS|AUTO}

 <extend_option>            <value>
 MPP_TYPE                    GLOBAL/LOCAL
 INET_TYPE                   UDP/TCP/IPC/RDMA/UNIXSOCKET
 SSL_PATH                    <path_str>
 SSL_PWD                     <pwd_str>
 PROXY_CLIENT                <user_str>

 <start> ::= <`sql脚本> | <direct cmd> | <direct sql> 运行disql脚本

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

 <`sql脚本>::= `<filename>[<parameter> { <parameter>}...]"

 <direct sql>::= -e "<SQL语句>[;<SQL语句>]"

 <direct cmd>::= -c "<set 命令>"

执行脚本时常用选项

-S 选项:disql执行sql脚本时比较常用,用于隐藏disql登录时打印的提示信息。

-L选项:在使用disql进行批量访问数据库时,比较常用。比如使用shell脚本循环遍历去使用disql访问多台数据库时,如果不加-L,当其中一台登录失败后,会直接终止。

disql中的命令

进入disql输入help可以查看disql中支持的命令,使用"help 对应的命令" 可以查看对应命令的使用说明。

[dmdba@localhost bin]$ ./disql
disql V8
用户名:
密码:

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.135(ms)
SQL> help

HELP
----

显示打印信息,键入HELP或者 ? .

HELP|? [topic]

APPEND        添加文本到当前行的末尾。
COLUMN        描述指定列的信息。
CONNECT       连接到服务器。
CLEAR         重置或清理指定操作的缓存。
DISCONNECT    提交所有修改到服务器,但不退出DISQL。要退出DISQL使用exit命令。
DESCRIBE      获取表或视图、存储过程、函数、包、记录、类的结构描述。
DEFINE        设置变量值,或者显示已定义的变量信息。
HOST          在不退出DISQL的情况下执行操作系统命令。
EDIT          打开一个文本编辑器,里面包含所有SQL记录。
EXIT          提交或者回滚所有修改,退出DISQL。
MORE          切换到下一个结果集。
LIST          显示最近执行的SQL语句或者PL/SQL块信息,或者使用 ";"命令。不显示DISQL命令。
PROMPT       发送指定的消息或者空行到用户的屏幕。
QUIT          提交或者回滚所有修改,退出DISQL。
SET           设置某个系统环境变量,设置的值会修改当前会话的DISQL系统设置,例如:
                  -   设置数据显示宽度
                  -   制定 HTML 格式
                  -   允许/禁止打印列头
                  -   设置每一页的行数
SHOW          显示某个DISQL的系统变量,或者当前DISQL的环境变量。
SPOOL         屏幕显示的内容输出到指定文件。
WHENEVER      当一个SQL命令,或者PL/SQL块生成一个错误的时候,执行特定的命令(默认是DISQL退出)

设置disql中的环境变量

通过help set命令查看支持的环境变量参数。目前总共34个环境变量参数。

SQL> HELP SET

 SET
 ---

 设置某个系统环境变量,设置的值会修改当前会话的DISQL系统设置,例如:
                  -   设置数据显示宽度
                  -   制定 HTML 格式
                  -   允许/禁止打印列头
                  -   设置每一页的行数
 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 } 
   SQLCODE  { ON | OFF } 
   SQL_LINESHOW  { ON | OFF } 
   CONSOLE_PRINT  { ON | OFF } 
   SQLPROMPT  { text } 

参数说明可以参考《disql手册》3.1章节。

image-20220324221254201

image-20220324221352376

image-20220324221417088

使用glogin.sql配置文件设置环境变量

glogin.sql配置文件路径: D M H O M E / b i n / d i s q l c o n f / g l o g i n . s q l ,其中 DM_HOME/bin/disql_conf/glogin.sql,其中 DMHOME/bin/disqlconf/glogin.sql,其中DM_HOME 为 DM 的安装目录,需要用户在操作系统配置 DM_HOME 环境变量,disql_conf目录和 glogin.sql 文件如果不存在需要用户自行创建。

示例如下:

[dmdba@localhost ~]$ echo $DM_HOME
/home/dmdba/dm46
[dmdba@localhost ~]$ cd $DM_HOME/bin
[dmdba@localhost bin]$ ls -l disql_conf/glogin.sql 
-rwxr-xr-x 1 dmdba dinstall 31  3月 21 22:03 disql_conf/glogin.sql
[dmdba@localhost bin]$ cd disql_conf/
[dmdba@localhost disql_conf]$ vim glogin.sql 
[dmdba@localhost disql_conf]$ cat glogin.sql
set lineshow off     ---不显示行号
set time on          ---显示系统当前时间

查看disql中显示情况:

image-20220324222749779

disql执行sql脚本常用环境变量设置

根据实际需求去设置相关disql环境变量

示例:

[dmdba@localhost bin]$ cat /home/dmdba/test.sql
set heading off ---不显示列名
set feedback off  ---不显示总行数
set linesize 150
set lineshow off  ---不显示行号列
set timing off  ---不显示执行时间
set newpage none  ---页与页之间不空行(默认空一行)
spool /home/dmdba/t1.txt
select username from dba_users;
spool off
exit;

执行test.sql脚本:

image-20220324223126354

对于Linux环境使用"`"符号时,需要使用反斜杠进行转义。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值