公司于近期组织国产数据库达梦的DCA培训,自愿报名,本来公司部分项目也在使用此数据库做国产化,自己只是偶尔接触过一点,所以看到变立马报上了,为自己增加一个技能,也算是支持国产化。
刚接触达梦数据库的时候,感觉既陌生又熟悉,总得来说,虽然达梦感觉很神秘,但真正学习起来是一件很容易的事,尤其是达梦提供丰富的可视化操作,极大降低了使用成本。
经过三天的线上培训课程,学习了达梦基本上常用的功能操作方法,包括软件安装、创建数据库、参数配置、创建表空间、创建用户、创建表、创建视图、创建索引、开启归档、备份恢复等,最后的考试内容也在学习内容之内。接下来我整理了下练习及考试期间遇到的问题,及相关培训资料。
#创建用户组(终端)
groupadd dinstall
#创建用户(终端)
useradd -g dinstall -d /home/dmdba -s /bin/bash dmdba
#为dmdba用户设置密码(终端)
passwd dmdba
#规划安装目录(终端)
mkdir /dm8
chown -R dmdba:dinstall /dm8
chmod -R 755 /dm8
#root用户(考试时不用挂载,远程虚拟机已经将iso文件挂载至opt目录)
mount -o loop /opt/镜像文件名称.iso /mnt
# 环境设置
xhost +
# 查看DISPLAY值
echo $DISPLAY
su - dmdba
# 查看DISPLAY值
echo $DISPLAY
# 设置DISPLAY值(具体以考试环境查询出来的值为准)
export DISPLAY=:0.0
#dmdba用户(考试时直接执行/opt/DMInstall.bin)
#进入到挂载目录
cd /mnt/dm
#执行安装程序
./DMInstall.bin
#推荐选择“典型安装”,指定安装目录为/dm8
#安装完成后,通过可视化工具配置数据库实例
#数据库参数分为:只读参数、静态参数、动态参数、会话级参数
#只读参数只能通过修改dm.ini配置文件修改
#静态及动态参数可以通过alter system set方式进行修改,静态参数需要重启后生效
#会话级参数可以通过alter session set方式进行修改,只对当前会话生效
参数可通过可视化工具进行操作,或执行命令
select * from v$parameter where name = 'PWD_POLICY';
alter system set 'PWD_POLICY' = 7 both;
select * from v$parameter where name = 'COMPATIBLE_MODE';
alter system set 'COMPATIBLE_MODE' = 2 spfile;
#表空间是达梦数据库的最大存储单元,所有数据都存储在表空间中,一个表空间可以包含多个数据文件,一个数据文件只能归属于一个表空间
#创建表空间(管理工具查询界面)
create tablespace tbs1 datafile '/dm8/data/DMDB/tbs1_01.dbf' size 32 autoextend on next 1 maxsize 100
#创建表空间时必须指定datafile,size最小值是page_size的4096倍,autoextend指定自增长,maxsize指定最大值。
#增加数据文件(管理工具查询界面)
alter tablespace tbs1 add datafile '/dm8/data/DMDB/tbs1_02.dbf' size 50 autoextend on 1 maxsize 100;
#迁移表空间数据文件,迁移文件前必须将表空间下线,表空间下线后将无法读写,慎用(管理工具查询界面)
alter tablespace offline
alter tablespace tbs1 rename datafile '/dm8/data/DMDB/tbs1_02.dbf' to '/dm8/data/tbs1_02.dbf'
alter tablespace online
#用户创建,指定密码,指定默认表空间(管理工具查询界面)
create user dmuser identified by dameng123 default tablespace tbs1;
#角色创建,给角色赋权,再将角色赋给用户(管理工具查询界面)
create role r1;
grant select any table to r1;
grant r1 to dmuser;
#权限(管理工具查询界面)
grant create table to dmuser; #授权
revoke create table from dmuser; #回收
grant create view to dmuser with grant option; #允许dmuser有授权权限,回收时需加上cascade
#创建表,可以指定表空间(管理工具查询界面)
CREATE TABLE "EMPLOYEE"
(
"EMPLOYEE_ID" INTEGER NOT NULL,
"EMPLOYEE_NAME" VARCHAR(20) NULL,
"EMAIL" VARCHAR(50) NULL,
"PHONE_NUM" VARCHAR(20) NULL,
"HIRE_DATE" DATE NULL,
"JOB_ID" VARCHAR(10) NULL,
"SALARY" INTEGER NULL,
"DEPARTMENT_ID" INTEGER NULL,
primary key("EMPLOYEE_ID")
)storage(ON "TBS");
CREATE TABLE "DEPARTMENT"
(
"DEPARTMENT_ID" INTEGER NOT NULL,
"DEPARTMENT_NAME" VARCHAR(30) NULL,
"LOCATION_ID" INTEGER NULL,
"LOCATION_ADDR" VARCHAR(30) NULL,
primary key("DEPARTMENT_ID")
)storage(ON "TBS");
#添加约束(管理工具查询界面)
alter table department add constraint pk_dept_id primary key(dept_id);#主键
alter table EMPLOYEE
add constraint FK_DEPARTMENT_ID
foreign key(DEPARTMENT_ID) references DEPARTMENT(DEPARTMENT_ID);
#索引,添加主键约束和唯一约束时会默认添加唯一索引(管理工具查询界面)
create index idx_u_dept on dmuser(u_dept) tablespace idx_tbs1;
#视图(管理工具查询界面)
create or replace view v_dmuser as select * from dmuser a left join department b on a.u_dept=b.dept_id;
#dmdba用户
/dm8/bin/disql 连上数据库
start /脚本.sql #执行导入操作
使用/dm8/tool/manager管理工具操作,在“代理”菜单下右键创建代理,然后进行作业创建,创建中根据界面提示可以配置作业类型以及调度,需注意命名避开关键字
#使用root进行odbc安装配置
cd /opt/
tar zxf unixODBC-2.3.0.tar.gz
cd unixODBC-2.3.0/
./configure --enable-gui=no
make && make install
odbc_config --version
odbcinst -j
安装完成后主要关注odbc.ini和odbcinst.ini两个配置文件的内容
[root@KylinDCA03 etc]# cat odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5238
[root@KylinDCA03 etc]# cat odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
#使用 dmdba 用户执行 isql 测试连接是否正常(终端)
isql dm8 -v
对于达梦数据库的学习远不止于此,这次更像个开始,希望国产数据能越做越好!
文章
阅读量
获赞