手工创建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

相关文章

PostgreSQL中rank()窗口函数实用指南与示例

《PostgreSQL中rank()窗口函数实用指南与示例》在数据分析和数据库管理中,经常需要对数据进行排名操作,PostgreSQL提供了强大的窗口函数rank(),可以方便地对结果集中的行进行排名... 目录一、rank()函数简介二、基础示例:部门内员工薪资排名示例数据排名查询三、高级应用示例1. 每

Linux线程之线程的创建、属性、回收、退出、取消方式

《Linux线程之线程的创建、属性、回收、退出、取消方式》文章总结了线程管理核心知识:线程号唯一、创建方式、属性设置(如分离状态与栈大小)、回收机制(join/detach)、退出方法(返回/pthr... 目录1. 线程号2. 线程的创建3. 线程属性4. 线程的回收5. 线程的退出6. 线程的取消7.

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

创建Java keystore文件的完整指南及详细步骤

《创建Javakeystore文件的完整指南及详细步骤》本文详解Java中keystore的创建与配置,涵盖私钥管理、自签名与CA证书生成、SSL/TLS应用,强调安全存储及验证机制,确保通信加密和... 目录1. 秘密键(私钥)的理解与管理私钥的定义与重要性私钥的管理策略私钥的生成与存储2. 证书的创建与

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU