手工创建DM示例库及disql环境变量初始值设置

2023-10-11 05:32

本文主要是介绍手工创建DM示例库及disql环境变量初始值设置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 一、手工创建DM示例库 

这里以DMHR示例库为例,如果在初始化示例时未选择创建DMHR示例库,可以在实例化完成后手工创建该示例库。执行DM安装目录samples/instance_script/dmhr下的对应字符集脚本。如下图所示。

disql下可以使用start或者`执行脚本,执行脚本时需注意顺序,由于各表中有引用约束,顺序不对会报错表不存在,导致引用约束创建失败。创建脚本需按照如下顺序:

CREATESCHEMA.sqlREGION.sqlCITY.sqlLOCATION.sqlDEPARTMENT.sqlJOB.sqlEMPLOYEE.sqlJOB_HISTORY.sql

如果直接在disql下执行`CREATESCHEMA.sql或者start CREATESCHEMA.sql,页面提示执行的脚本内容,并报错表空间[DMHR]已存在。

查看CREATESCHEMA.sql脚本内容,可以看到该脚本中有“/”,默认情况下disql使用“/”会再次执行sql脚本中的命令,由参数CMD_EXEC控制,默认开启。

SQL> host cat CREATESCHEMA.sql

设置SET CMD_EXEC off关闭使用斜杠“/”执行脚本的功能,即可规避此错误;也可以手工编辑此文件去掉第一个斜杠“/”。当然,此报错无影响,报错原因是已经执行过创建DMHR表空间的命令。

默认disql下执行脚本会显示脚本内容,执行时间,执行结果等,导致整个窗口被sql命令覆盖,我们关闭此提示:​​​​​​​

SQL> set echo offSQL> set timing offSQL> set feedback off

此时再依次按照脚本顺序执行脚本,即可完成DMHR示例库的创建。​​​​​​​

SQL> `CREATESCHEMA.sql`REGION.sql`CITY.sql`LOCATION.sql`DEPARTMENT.sql`JOB.sql`EMPLOYEE.sql`JOB_HISTORY.sql

完整的手工创建DMHR示例库命令执行截图如下:

执行完成后,执行如下语句可以看到DMHR示例库已创建。

SQL> select table_name from dba_tables where owner='DMHR';

 二、disql环境变量 

前面已经讲解了部分disql环境变量参数设置,这里做个详细介绍。

1、查看参数信息:

执行help set可以查看disql支持的参数,各参数说明具体可参考《DM8_DIsql使用手册》。

SQL> help set

如果要查看某个参数的当前值,可以使用show 命令查看相关参数值。

SQL> show 参数名

2、设置常用参数:

使用set命令可以设置参数值(注意:该设置仅对当前会话生效)。

SQL> set 变量名 变量值

这里介绍几个常用的功能。

①开启打印显示

当disql下执行或调试DM SQL命令块或者存储过程时,经常会用到DBMS_OUTPUT系统包或者PRINT语句打印相关信息,而默认打印输出是关闭的,此时可以执行如下命令开启。

SQL> set serveroutput on

②关闭环境DMSQL变量替换前、后的控制命令文本

disql下执行一段DMSQL或者存储过程,当有输入参数时,默认会展示输入前的代码和输入后的代码,界面显示过于冗余。如下图:

此时可以设置VERIFY和SQL_LINESHOW(是否显示SQL语句的行号)为 OFF:​​​​​​​

SQL> SET VERIFY OFF SQL> SET SQL_LINESHOW OFF

设置后执行DMSQL代码界面就很清爽。如下图。

③关闭start执行脚本的显示

disql下使用start执行sql脚本默认显示脚本内容,数据量大时严重影响脚本的执行效率。

设置关闭执行语句,执行时间、影响行数等参数。关闭后执行效率将大幅度提高。​​​​​​​

SQL> set echo off     --关闭显示正在执行的脚本SQL> set timing off  --不显示SQL语句花费的执行时间SQL> set feedback off --不显示当前SQL语句的总行数

其他disql的参数设置可参考往期干货分享。

 三、设置disql环境变量初始值 

由于set语句仅对当前会话生效,对于经常使用的参数,每次新建会话都要修改参数值太麻烦,此时可以通过配置文件glogin.sql来实现。

配置文件glogin.sql位于DM安装目录bin/disql_conf下,disql启动并成功连接数据库服务器后,会自动执行$DM_HOME/bin/disql_conf/glogin.sql配置文件,执行时并不会在Disql窗口打印信息,如果没有找到该配置文件则忽略。

比如disql下默认关闭SERVEROUTPUT打印信息,每次新建会话连接需要手工打开,此时可以修改glogin.sql,增加如下设置: ​​​​​​​

SET SERVEROUTPUT ON   --开启打印输出SET VERIFY OFF         --关闭参数验证SET SQL_LINESHOW OFF  --关闭SQL语句行号显示

设置后重新登录数据库,执行DMSQL脚本,可以看到该设置已生效。

实际环境变量设置可根据现网实际情况修改,各参数设置说明可参考disql使用手册。

这篇关于手工创建DM示例库及disql环境变量初始值设置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/185894

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

SpringBoot请求参数传递与接收示例详解

《SpringBoot请求参数传递与接收示例详解》本文给大家介绍SpringBoot请求参数传递与接收示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录I. 基础参数传递i.查询参数(Query Parameters)ii.路径参数(Path Va

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的