赞
踩
实验环境:kylinserverV10,dm8
DM8自带了示例库方便用户学习。如果安装时没有勾选示例库,也可以在安装后手工创建。
这里以DMHR示例库为例。已经安装的数据库实例端口是5236,数据库安装目录是/dm8,字符集是UTF-8。
首先需要找到需要导入的示例库的数据导入脚本。
[dmdba@localhost UTF-8]$ pwd
/dm8/samples/instance_script/dmhr/UTF-8
[dmdba@localhost UTF-8]$ ls
CITY.sql CREATESCHEMA.sql DEPARTMENT.sql EMPLOYEE.sql JOB_HISTORY.sql JOB.sql LOCATION.sql REGION.sql
这里我们可以用disql执行这些脚本来导入数据。
执行脚本时需注意顺序,由于各表中有引用约束,顺序不对会报错表不存在,导致引用约束创建失败。创建脚本需按照如下顺序:
CREATESCHEMA.sql
REGION.sql
CITY.sql
LOCATION.sql
DEPARTMENT.sql
JOB.sql
EMPLOYEE.sql
JOB_HISTORY.sql
我们执行脚本试试:
[dmdba@localhost UTF-8]$ ls
CITY.sql CREATESCHEMA.sql DEPARTMENT.sql EMPLOYEE.sql JOB_HISTORY.sql JOB.sql LOCATION.sql REGION.sql
[dmdba@localhost UTF-8]$ disql
disql V8
用户名:SYSDBA服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.678(ms)
SQL> start CREATESCHEMA.sql;invalid file path [CREATESCHEMA.sql;]
SQL> start CREATESCHEMA.sql
SQL> --创建表空间
CREATE TABLESPACE DMHR DATAFILE 'DMHR.DBF' size 128;
操作已执行
已用时间: 181.774(毫秒). 执行号:49700.
SQL> /
--创建表空间
CREATE TABLESPACE DMHR DATAFILE 'DMHR.DBF' size 128;
第2 行附近出现错误[-3401]:表空间[DMHR]已存在.
已用时间: 0.319(毫秒). 执行号:0.
SQL> --创建模式
CREATE SCHEMA DMHR;
操作已执行
已用时间: 8.107(毫秒). 执行号:49701.
SQL>
这个原因是在于该脚本中有“/”,默认情况下disql使用“/”会再次执行sql脚本中的命令,由参数CMD_EXEC控制,默认开启。
设置SET CMD_EXEC off关闭使用斜杠“/”执行脚本的功能,即可规避此错误;也可以手工编辑此文件去掉第一个斜杠“/”。当然,此报错无影响,报错原因是已经执行过创建DMHR表空间的命令。
默认disql下执行脚本会显示脚本内容,执行时间,执行结果等,导致整个窗口被sql命令覆盖,我们关闭此提示。总结一下就是需要关闭以下参数:
SQL> set CMD_EXEC off
SQL> set echo off
SQL> set timing off
SQL> set feedback off
之后再执行脚本可以成功:
SQL> start CREATESCHEMA.sql
--创建表空间
CREATE TABLESPACE DMHR DATAFILE 'DMHR.DBF' size 128;
第2 行附近出现错误[-3401]:表空间[DMHR]已存在.
SQL> start REGION.sql
SQL> start CITY.sql
SQL> start LOCATION.sql
SQL> start DEPARTMENT.sql
SQL> start JOB.sql
SQL> start EMPLOYEE.sql
SQL> start JOB_HISTORY.sql
可以在manager里查看数据正常与否:
执行help set可以查看disql支持的参数,各参数说明具体可参考《DM8_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语句行号显示
更多参考内容请访问达梦云适配中心
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。