达梦数据库内置了2个示例帐户:DMHR和BOOKSHOP,在安装过程是可选的。如果安装过程未选择,数据库安装完成后可进行手动安装,步骤如下:
1.脚本文件
安装脚本位于DM_HOME/samples/instance_script下,有gbk和utf8两个版本:
[root instance_script]# pwd
/dm8/samples/instance_script
[root instance_script]# tree -f
.
├── ./bookshop
│ ├── ./bookshop/GBK
│ │ ├── ./bookshop/GBK/CREATESCHEMA.sql
│ │ ├── ./bookshop/GBK/CREATETABLE.sql
│ │ └── ./bookshop/GBK/INSERTSQL.sql
│ └── ./bookshop/UTF-8
│ ├── ./bookshop/UTF-8/CREATESCHEMA.sql
│ ├── ./bookshop/UTF-8/CREATETABLE.sql
│ └── ./bookshop/UTF-8/INSERTSQL.sql
└── ./dmhr
├── ./dmhr/GBK
│ ├── ./dmhr/GBK/CITY.sql
│ ├── ./dmhr/GBK/CREATESCHEMA.sql
│ ├── ./dmhr/GBK/DEPARTMENT.sql
│ ├── ./dmhr/GBK/EMPLOYEE.sql
│ ├── ./dmhr/GBK/JOB_HISTORY.sql
│ ├── ./dmhr/GBK/JOB.sql
│ ├── ./dmhr/GBK/LOCATION.sql
│ └── ./dmhr/GBK/REGION.sql
└── ./dmhr/UTF-8
├── ./dmhr/UTF-8/CITY.sql
├── ./dmhr/UTF-8/CREATESCHEMA.sql
├── ./dmhr/UTF-8/DEPARTMENT.sql
├── ./dmhr/UTF-8/EMPLOYEE.sql
├── ./dmhr/UTF-8/JOB_HISTORY.sql
├── ./dmhr/UTF-8/JOB.sql
├── ./dmhr/UTF-8/LOCATION.sql
└── ./dmhr/UTF-8/REGION.sql
6 directories, 22 files
2.执行脚本
$ disql sysdba/Dameng123@localhost:5236
SQL>start 脚本名
由于存在外键依赖,脚本执行时需要注意顺序。
bookshop执行顺序:
CREATESCHEMA.sql--> CREATETABLE.sql -->INSERTSQL.sql
dmhr执行顺序:
dmhr表之间依赖较多,需要按以下顺序分别执行
Region-->city-->location-->department-->job-->job_history
ER图:
3.问题
检查最终的owner使用的表空间会发现dmhr使用了默认的main表空间(如下图),原因在于dmhr是schema名称,脚本中没有明确的指定存储参数,建议官方在后续版本改进此问题。
解决办法:
方法1:
将dmhr中创建schema部分改为创建user:
#######原脚本内容#####
--创建模式
CREATE SCHEMA DMHR;
/
####################
#######修改后内容#####
create user DMHR identified by ‘dmhr’ default tablespace dmtbs;
方法2:
修改脚本所有脚本的默认存储参数
原始SQL:
CREATE TABLE
"DMHR"."CITY"
(
"CITY_ID" CHAR(3) NOT NULL,
"CITY_NAME" VARCHAR(40) NULL,
"REGION_ID" INT NULL
);
修改为:
CREATE TABLE
"DMHR"."CITY"
(
"CITY_ID" CHAR(3) NOT NULL,
"CITY_NAME" VARCHAR(40) NULL,
"REGION_ID" INT NULL
) STORAGE (on DMTBS); <<<<<<增加STORAGE (on DMTBS)参数