文章目录


前言

最近参加了公司组织的DCA培训,学习了国产数据库dm8的一些发展历程以及相关操作,借此机会想将自己整理的一些资料分享给大家,希望能帮助大家通过DCA考试并拿到证书。


1 安装dm8

查看磁盘容量
df -h

1.1 创建用户组、用户

root下:
1、创建用户组

# 创建一个dinstall的组
groupadd dinstall
# 删除组
groupdel dinstall

2、创建用户

-m 自动创建用户的家目录
-d 指定用户登入时的目录
-s 指定用户登入后所使用的shell

useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba

创建完成后使用 id dmdba 命令查看是否成功

在这里插入图片描述

设置密码(不少于8个字符+包含3个字符类型)

passwd dmdba

3、创建安装目录

#考试时根据要求来创建
mkdir /dm8
#练习时若想删除执行
rm -rf /dm8

4、 更改文件夹的所属用户组、所属用户

chown dmdba:dinstall /dm8
# 查看是否更改成功
ll -ld /dm8

5、设置最大可打开文件数

查看最大可打开文件数
ulimit -a

#临时设置,仅对当前会话生效
ulimit -n 20480

在这里插入图片描述
6、挂载镜像文件
使用root用户到opt目录下挂载dm8_setup.iso镜像文件
将下载的iso镜像文件上传到服务器上后,进行挂载操作(考试的时候已经挂载好了,直接安装即可)

在mnt下创建dm目录
挂载镜像

mkdir /mnt/dm
#挂载镜像 mount /镜像地址 /挂载的目标路径
mount /opt/dm8_20210818_x86_rh6_64_ent_8.4.2.18_pack14.iso /mnt/dm

查看是否已挂载:df -h

切换到新建的dmdba用户下:

su - dmdba
#查看挂载目录
cd /mnt/dm
ll

1.2 图形化界面安装

设置DISPLAY值
root用户:

xhost +
# 查看DISPLAY值
echo $DISPLAY

dmdba用户:

su - dmdba
# 查看DISPLAY值
echo $DISPLAY
# 设置DISPLAY值(具体以考试环境查询出来的值为准)
export DISPLAY=:0.0

执行安装程序

#进入到挂载目录 
cd /mnt/dm
#执行安装程序 
./DMInstall.bin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 创建数据库实例

#进入到dm工具包目录
cd /dm8/tool
#打开数据库配置助手
./dbca.sh

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 数据库连接的方式

可以通过图形化管理工具manager进行数据库连接,也可以使用disql的方式。除此之外,大家也可以通过配置连接串的方式来连接数据库。

3.1使用./manager连接

cd /dm8/tool
./manager

使用manager工具连接时,可以在窗口–选项–编辑器里启动sql语法检查等提示。

3.2使用disql连接

cd /dm8/bin
./disql SYSDBA/Dameng123:5236

4 启动数据库服务

DM 数据库启动顺序为: Shutdown(关闭状态)–> Mount(配置状态)–> Open(打开状态)

MOUNT 和 OPEN 可以相互转换(与 Oracle 不同); SUSPEND 和 OPEN 也可以相互转换。 但 MOUNT 和 SUSPEND 之间不能相互转换。

4.1 命令行启动

前台启动:

#未注册数据库服务的只能选择此方法
./dmserver /dm8/data/DAMENG/dm.ini

后台启动:

cd /dm8/bin
ll Dm*
#DMTESTSVR是实例名
 ./DmServiceDMTESTSVR start/status/stop

4.2 服务查看器启动

root用户下:

cd /dm8/tool
./dmservice.sh

4.3 系统命令启动

root用户下:

systemctl start DmserviceDMSERVER.service

5 DM管理工具的介绍

5.1 DM 管理工具(manager)

是一个图形化管理数据库,包含用户管理、角色权限管理、表空间、模式、模式下对象、数据库物理联机备份、作业管理等功能。

cd /dm8/tool
 ./manager

在这里插入图片描述
在这里插入图片描述

5.2 DM 控制台工具(console)

DM 控制台工具是一个脱机工具,提供脱机备份还原、修改数据库参数(修改后重启数据库才能生效)等功能。

cd /dm8/tool
 ./console

在这里插入图片描述
在这里插入图片描述

5.3 DM 数据迁移工具(dts)

DM 数据迁移工具支持其他数据库迁移到达梦,或者达梦迁移到文件等功能。

cd /dm8/tool
 ./dts

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4 DM 性能监视工具(monitor)

cd /dm8/tool
 ./monitor

在这里插入图片描述

6 参数配置

1)只读参数(read_only)不能修改value和sys_value,只能通过修改dm.ini修改配置文件file_value的值。
2)静态参数(in_file)可以通过调sql语句和函数来对参数文件file_value进行修改,需要重启数据库才能生效。
3)动态参数(sys、session)在数据库运行期间既可以修改内存sys_value中的值,也可以修改参数文件file_value中的值。

both:既修改内存中的值,也修改配置文件中的值,重启不重启都一样生效;
spfile:只修改配置文件中的值,重启数据库生效;
memory:只修改内存中的值,重启数据库后恢复设置前的样子。

select name,type,value,sys_value,file_value from v$parameter t where name like ‘COMPATIBLE_MODE’;
alter system set ‘COMPATIBLE_MODE’(参数名称)=2 spfile;
select name,type,value,sys_value,file_value from v$parameter t where name like ‘UNDO_RETENTION’;
#如果不指定则默认修改的是memory
alter system set ‘UNDO_RETENTION’=180 both|memory;
select name,type,value,sys_value,file_value from v$parameter t where name like ‘LIST_TABLE’;
alter session set ‘LIST_TABLE’=1 both|memory;

6.1 使用console工具

修改的是配置文件参数—需要重启数据库才能生效。

cd /dm8/tool
./console

在这里插入图片描述
在这里插入图片描述

6.2 直接修改dm.ini参数文件(只读、静态)

cd /dm9/data/DAMENG
vim /dm9/data/服务名称 dm.ini

6.3 修改系统函数(动态)

#查询兼容参数类型
select name,value,sys_value,file_value,type,description from v$parameter where name = 'COMPATIBLE_MODE';
alter system set '参数名'='参数值' both | spfile | memory;
alter system set 'COMPATIBLE_MODE'=2 spfile;

7 表空间管理

7.1 管理表空间

图形化方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

命令行方式

创建表空间:

create tablespace 表空间名 datafile '数据文件路径' SIZE 数据文件大小(单位为mb);
create tablespace dbtbs datafile 'DMTBS01.DBF' SIZE 32;
#查询页大小的4096倍,并换算成MB
select page*4096/1024/1024

修改表空间大小:

alter tablespace 表空间名 resize datafile '数据文件路径' to 数据文件大小(单位为mb);
alter tablespace dmtbs resize datafile 'DMTBS01.DBF' to 64;
#修改表空间开启自动增长,增长步长,最大表空间
alter tablespace 表空间名 datafile '数据文件路径' autoextend on next 增长步长 maxsize 文件最大值
alter tablespace dmtbs datafile 'DMTBS01.DBF' autoextend on next 2 maxsize 10240;

删除表空间:

用户自定义的表空间可以删除和脱机,系统定义的表空间不能脱机和删除;
删除后表空间下的数据文件也会级联删除。

drop tablesapce 表空间名;
drop tablespace dmtest;

增加表空间下的数据文件:

alter tablespace 表空间名 add datafile '数据文件路径' size 数据文件大小(单位为mb);
alter tablespace dmtbs add datafile 'DMTBS02.DBF' size 64;

修改表空间名称:

alter tablespace 修改前表空间名 rename to 修改后表空间名;
alter tablespace dmtbs rename to dmtest;

7.2 表空间迁移

新的表空间路径,必须是由安装数据库的用户提前进行创建,或者把这个文件夹授予数据库安装用户读写权限,否则会因权限问题报数据库文件路径错误。

命令行方式

1)使表空间处于脱机状态 ;
2)指定要迁移的文件和迁移路径 ;
3) 使表空间处于联机状态。

# 先将表空间离线
alter tablespace 表空间名 offline;
alter tablespace dmtest offline;
# 重命名数据文件名,并迁移,后面的文件夹路径必须是由安装数据库的用户创建的
alter tablespace 表空间名 rename datafile '重命名的数据文件名' to '路径';
alter tablespace dmtest rename datafile 'DMTBS01.DBF' to '/dm8/data/DAMENG/DMTEST/DMTBS01.DBF';
alter tablespace dmtest rename datafile 'DMTBS02.DBF' to '/dm8/data/DAMENG/DMTEST/DMTBS02.DBF';
# 将表空间上线
alter tablespace 表空间名 online;
alter tablespace dmtest online;

8 重做日志文件

联机重做日志:存放 redo 信息,循环使用,不断覆盖。
DM 数据库联机日志自动切换,不能手工切换。

8.1 创建日志文件

图形化方式

1)数据库右击;
2)管理服务器;
3)日志文件 (可以修改文件大小和增加联机日志文件).
在这里插入图片描述
在这里插入图片描述

命令行方式

查看联机日志:

## 查看当前正在使用的联机日志
select * from v$rlog;
select * from v$logfile;
创建连接日志、修改连接日志大小:
alter database add logfile '日志名称' size 日志大小(单位MB);
alter database add logfile 'DAMENG03.log' size 128

alter database resize logfile '日志路径' to 日志大小(单位MB);
alter database resize logfile '/dm8/data/DAMENG/DAMENG03.log' to 256;

8.2 重做日志迁移

注意:需要提前创建迁移目录。

命令行方式

1)使表空间处于mount状态;
2)联机日志迁移;
3)将表空间改回open状态。

# 将数据库状态设置为mount状态
alter database mount;
#联机日志迁移
alter database rename logfile '原日志路径' to '迁移到的日志路径';
alter database rename logfile '/dm8/data/DAMENG/DAMENG01.log' to '/dm8/data/DAMENG/REDO/DAMENG01.log';
# 将数据库状态设置为open状态
alter database open;

9 归档管理

9.1 开启归档

图形化方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10 用户角色权限

10.1 用户管理

创建用户
图形化方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

命令行方式
create user 用户名 identified by 密码 default tablespace 表空间名;
create user hrtest identified by "Dmeng123";

如果想调整密码策略

alter system set 'PWD_POLICY' = 系统支持的口令策略相加 both;
alter SYSTEM set 'PWD_POLICY' = 15 BOTH;
# 查询密码策略
select * from v$parameter where name = 'PWD_POLICY';

系统口令策略 PWD_POLICY 参数指定系统的口令策略,默认为 2;
系统支持的口令策略有:
⚫ 0 无策略
⚫ 1 禁止与用户名相同
⚫ 2 口令长度不小于 9
⚫ 4 至少包含一个大写字母(A-Z)
⚫ 8 至少包含一个数字(0-9)
⚫ 16至少包含一个标点符号(英文输入法状态下,除“和空格外的所有符号) 口令策略可单独应用,也可组合应用。组合应用时,如需要应用策略 2 和4,则设置口 令策略为 2+4=6 即可。

10.2 角色管理

DBA:系统管理员角色,默认赋给SYSDBA;
RESOURCE:具有在当前用户模式下定义对象的权限(创建表、索引、视图等);
PUBLIC:具有在当前用户模式下数据操作的权限(增、删、改、查等);
SOI:系统表(SYS开头的表)的访问权限;
SVI:系统视图(VSYS为前缀)的视图权限;
VTI:动态视图(v$开头的动态视图)的访问权限。

10.2.1 创建角色

图形化方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.3 权限管理

10.3.1 添加查询权限

命令行方式
grant select on 模式名.表名 to 用户名;
grant select on dmhr.department to hrtest;

10.3.2 添加修改、删除权限

命令行方式
#不能只授予修改、删除权限,还要授予查询权限
grant select on 模式名.表名 to 用户名;

10.3.3 回收权限

命令行方式
revoke 角色名 from 用户名;
revoke 具体权限 from 用户名;

revoke r1 from dmtest;
revoke create table from dmtest;

11 模式对象管理

模式是一个特定的对象集合,在概念上可将其看作是包含表、视图、索引等若干对象的对象集。

模式与用户之间的关系:
当系统建立一个用户时,会自动生成一个对应的模式 用户还可以建立其他模式,DM 中用户和模式是一对多的关系,一个用户可以拥有多个模式, 一个模式仅能归属于一个用户。
Oracle 中用户和模式是一对一的关系。

11.1 创建模式

命令行方式

#创建模式
create schema hrtest01 AUTHORIZATION HRTEST;
create table hrtest01.t_test(id int, name varchar(20));

#注意:如果在disql中执行此语句,空行后需要加上/再回车
grant create schema to 用户名;
# 创建模式
create schema 模式名 authorization 用户名;
/

11.2 切换模式

命令行方式

#SYSDBA用户将当前的模式从SYSDBA换到DAMENG模式
SET SCHEMA DAMENG;(仅对当前会话生效) 

11.3 删除模式

命令行方式

drop SCHEMA IF EXISTS HRTEST01;
drop SCHEMA IF EXISTS HRTEST01 CASCADE; --级联删除模式下对象,生产环境慎用。

12 管理表

12.1 创建表

命令行方式

create table hrtest.t_testpid(
pid int,
pname varchar(20),
sex bit,
logtime datetime)
TABLESPACE dmtbs;

图形化方式

客户端操作区分大小写,建议统一使用大写。在这里插入图片描述
在这里插入图片描述

12.2 数据导入

在disql里执行的话使用以下命令:

start sql文件路径

在达梦客户端工具里执行的话,使用以下命令:

`/dm8/backup/dts/t_department.sql
commit;

12.3 约束

约束类型:
NOT NULL:非空约束;
UNIQUE:唯一约束;
PRIMARY KEY:主键约束 (唯一约束+非空约束);
FOREIGN KEY:外键约束; CHECK:检验约束。

12.3.1 添加约束

图形化方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

命令行方式
非空约束
alter table hrtest.t_testpid modify pname not null;
唯一约束
alter table hrtest.t_testpid add CONSTRAINT uk_testpid_email unique (email);
主键约束
alter table hrtest.t_testpid ADD CONSTRAINT pk_testpid_pid PRIMARY KEY(pid);
检验约束
alter table hrtest.t_testpid add salary number(10,2);
alter table hrtest.t_testpid ADD CONSTRAINT ck_testpid_salary CHECK
(salary>=2100);
外键约束(外键引用两一张表的主键或者唯一键)
alter table hrtest.t_test add CONSTRAINT fk_test_id FOREIGN KEY(id) REFERENCES
hrtest.t_testpid(pid);

12.4 索引管理

图形化方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

命令行方式

create index idx_表名_字段名 ON 表名 (字段名,字段名);
create index ix_emp01_employeename ON HRTEST.T_EMP01(EMPLOYEE_NAME);

12.5 视图

图形化方式

在这里插入图片描述
在这里插入图片描述

命令行方式

create or replace view 视图名称 as
select * from aaa where age > 10

13 备份与还原

备份包含物理备份和逻辑备份。
物理备份是拷贝有效的数据页。逻辑备份是导出数据库中逻辑数据。

13.1 物理备份

13.1.1 联机备份(热备)

联机备份:数据库是启动状态,联机备份要求数据库打开归档。
备份时 AP 服务需要为启动状态。

库备份、表备份、表空间、归档备份都可以使用联机备份的方式。

图形化方式

在这里插入图片描述
在这里插入图片描述
需要添加归档文件路径。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

备份前可以调用checkpoint(100)函数主动刷新检查点。 如果备份在指定目录下,需要手动添加目录才能看到备份的内容。
在这里插入图片描述
在这里插入图片描述

13.1.2 脱机备份(冷备)

数据库关闭状态下的备份。
备份级别:全库备份、表空间级备份、表级备份、归档备份。
物理还原是备份的逆过程;
恢复是使用归档将数据库恢复到最新状态或指定时间点;或使用备份集中的 redo 信息将数据库恢复至一致性状态。

图形化方式

./dmservice.sh

在这里插入图片描述

./console

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.2 逻辑备份

命令行方式

在dm8/bin目录下
全库导出、导入

导出:
./dexp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y
导入:
./dimp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=full.dmp log=full.log full=y

按用户导出、导入

导出:
./dexp userid=sysdba/Dameng123:5236 directory=/dm8/backup/dexp file=HRTEST.dmp 
log=HRTEST.log owner=HRTEST
导入:
./dimp SYSDBA/SYSDBA@192.168.109.22:5237 file=/home/dmdba/dmdbms/data/dexp_user/ dexp_user.dmp log=dimp_user.log owner=ttt directory=/ home/dmdba/dmdbms/data/dimp_user

按模式导出、导入

导出:
dexp userid=sysdba/Dameng123:5236 directory=/dm8/backup/dexp file=DMHR.dmp 
log=DMHR.log schemas=DMHR
导入:
dimp userid=sysdba/Dameng123:5238 directory=/dm8/backup/dexp file=DMHR.dmp 
log=impDMHR.log REMAP_SCHEMA=DMHR:DMTEST 

14 作业管理

创建代理环境
在这里插入图片描述
新建作业
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15 ODBC配置

root用户:

1、解压ODBC,没有这个tar包的话需要上传到这个目录下

 tar -zxvf /opt/unixODBC-2.3.0.tar.gz

2、进入到odbc目录进行源码安装

cd unixODBC-2.3.0
./configure   配置
make    编译
make install  安装 

3、修改两个配置文件odbc.ini、vim odbcinst.ini

cd /usr/local/etc/
ll
vim odbc.ini

[DM8] # 这个按要求改
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER # 要和下面对应
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
vim odbcinst.ini
[DM8 ODBC DRIVER] 
Description = ODBC DRIVER FOR DM8 
Driver = /dm8/bin/libdodbc.so   --dm8安装目录的bin目录下

4、切换到dmdba用户,进行登陆即可

su - dmdba
isql dm8 -v

总结

以上就是今天要分享给大家的内容,本文介绍了DCA考试一些操作步骤,希望可以帮助到大家顺利拿证。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐