注册
达梦数据库的安装及管理
技术分享/ 文章详情 /

达梦数据库的安装及管理

斑马还没睡 2022/11/14 2351 0 0

1. 前言

达梦数据库的体系架构和Oracle差不多,属于国内首家自主创研的数据库产品,更符合国人的使用习惯。由于国外的开源产品较少,商业定制化的产品对国家的安全和保密性并不友好,达梦数据解决了这些难题。达梦数据库安装方便,一些参数配置在管理助手里也有中文解释比较清晰,自带的图形化工具如Manager、Dts等都是特别方便的。

2. 达梦与Oracle对比

达梦数据库 Oracle数据库
体系结构 单进程多线程,达梦分为示例与数据库两部分。<br />实例:一组正在运行在DM后台的进程/线程,以及一个大型的共享内存组成,包含监听线程、工作线程、IO线程、调度线程、日志相关线程等。<br />数据库:由一组物理文件组成,包含数据文件、日志文件、控制文件及临时件等。 多线程,时刻i,也是一组进程以及共享内存组成,涵盖进程更多。<br />数据库,也是一组物理文件,如数据文件、日志文件、控制文件等。<br />Oracle的控制文件可以有多组,同时在线使用。
用户模式 达梦一个用户下可以有多个模式 Oracle的用户和模式是一一对应关系
表空间管理 达梦表空间由数据文件组成,一个表空间可以有多个数据文件,一个数据文件只能属于一个表空间;<br />仅能对表空间进行offline,不能针对某个数据文件offline;<br />数据文件迁移,通过一个命令可以直接在操作系统层移动文件完成整体迁移 有数据文件组成,一个表空间可以用多个数据文件,一个数据文件只能属于一个表空间;<br />能对表空间或数据文件进行offline;<br />在12c以前,需要手动在操作层进行数据文件迁移,然后在数据库层更改相关参数;12c以后可以实现一键完成数据文件迁移
登录 若忘记sysdba密码,则无法登录 若忘记sys的密码,则可以用操作系统验证方式登录修改密码
数据库状态 shutdown,mount,open和suspend状态,在open状态可以直接切换为mount状态 shutdown,nomount,mount和open
创建数据文件大小单位 创建表空间指定数据文件的时候不能写单位不然会报错,默认单位是mb 在创建表空间指定数据文件的时候可以指定大小的单位,kb、mb、gb
RMAN备份 达梦的RMAN只能进行冷备 Oracle的RMAN可以进行热备
表空间大小写 达梦操作时如果创建的表空间名称是小写需要用双引号引起来 Oracle不区分大小写
归档 DM需要指定归档路径,大小和上限大小 Oracle如果不指定归档路径则会默认存放在恢复目录中
执行存储过程 DM执行存储过程的明空是call存储过程名(参数) Oracle执行存储过程的命令是exec存储名称名(参数)
执行脚本 DM执行脚本使用的是start Oracle在sqlplus下执行命令脚本使用@
参数 DM修改参数命令是sp_set_para_value(X,‘’,X) Oracle中修改参数的命令是alter system set xxxx=xxx
默认表空间名称 默认用户数据存放在表空间的名称是main表空间 默认用户数据存放的表空间user表空间

3. 安装前检查

3.1 检查CPU

内核需要在2.4以上
⚠️特别是国产CPU:龙芯、飞腾

[root@kylin-template ~]# lscpu
架构:                           x86_64
CPU 运行模式:                   32-bit, 64-bit
字节序:                         Little Endian
Address sizes:                   45 bits physical, 48 bits virtual
CPU:                             4
在线 CPU 列表:                  0-3
每个核的线程数:                 1
每个座的核数:                   2
……

3.2 查看内存

⚠️数据库内存至少要1G,Linuxswap分区一般是物理内存的1.5倍

[root@kylin-template ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           2888        2422          70          16         394         195
Swap:          2047         197        1850

3.3 查看硬盘、分区信息

⚠️如果开启SQL日志分析,那么/tmp分区至少要600M

[root@kylin-template ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
devtmpfs               1.4G     0  1.4G    0% /dev
tmpfs                  1.5G  4.0K  1.5G    1% /dev/shm
tmpfs                  1.5G  9.7M  1.5G    1% /run
tmpfs                  1.5G     0  1.5G    0% /sys/fs/cgroup
/dev/mapper/klas-root   17G   15G  2.8G   84% /
tmpfs                  4.0G  116K  4.0G    1% /tmp
/dev/sda1             1014M  211M  804M   21% /boot
tmpfs                  289M   56K  289M    1% /run/user/0
/dev/sr0               4.1G  4.1G     0  100% /run/media/root/Kylin-Server-10

3.4 网络要求

100M,支持TCP/IP协议,远程访问数据库需要关闭防火墙

[root@kylin-template ~]# systemctl status firewalld
[root@kylin-template ~]# systemctl stop firewalld
[root@kylin-template ~]# systemctl disable firewalld

3.5 系统要求

内核要在2.6以上

[root@kylin-template ~]# uname -ra
Linux kylin-template 4.19.90-24.4.v2101.ky10.x86_64 #1 SMP Mon May 24 12:14:55 CST 2021 x86_64 x86_64 x86_64 GNU/Linux

4. 安装数据库

4.1 规划路径

[root@kylin-template ~]# mkdir-p/dm8

4.2 创建用户

[root@kylin-template ~]# groupadd dinstall
[root@kylin-template ~]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
[root@kylin-template ~]# passwd dmdba
[root@kylin-template ~]# chown dmdba:dinstall -R /dm8/

4.3 修改文件打开最大数

[root@kylin-template ~]# vi /etc/security/limits.conf
##在文件末尾追加下面4行
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

4.4 挂载镜像

[root@kylin-template ~]# mount -o loop /opt/dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso /mnt

4.5 进入安装目录

⚠️DMInstall.bin为图形化安装,DMInstall.bin -i为命令行安装,略有区别,结果一致。

[root@kylin-template ~]# su - dmdba
[dmdba@kylin-template ~]$ cd /mnt/
[dmdba@kylin-template mnt]$ ./DMInstall.bin

4.6 初始化数据库

⚠️图形化注册则不需要此流程,直接点点点即可。
初始化的具体参数可使用./dminit help查看

[dmdba@kylin-template ~]$ cd /dm8/bin
[dmdba@kylin-template bin]$ ./dminit path=/dm8/data DB_NAME=DAMENG INSTANCE_NAME=PROD PORT_NUM=5237 SYSDBA_PWD=Dameng123 EXTENT_SIZE=16 PAGE_SIZE=16

4.7 注册实例

⚠️图形化注册则不需要此流程,直接点点点即可。

[root@kylin-template ~]# cd /dm8/script/root/
[root@kylin-template root]# ./dm_service_installer.sh -t dmserver -dm_ini /dm8/data/DAMENG/dm.ini -p DMSERVER

4.8 启动数据库

#启动
[dmdba@kylin-template bin]$ ./DmServicePROD start
#关闭
[dmdba@kylin-template bin]$ ./DmServicePROD stop
#查看当前状态
[dmdba@kylin-template bin]$ ./DmServicePROD status

4.9 登录数据库

[root@kylin-template root]# su - dmdba
[dmdba@kylin-template ~]$ cd /dm8/bin
[dmdba@kylin-template bin]$ ./disql SYSDBA/“密码”@“IP”:“端口”

4.10 数据库卸载

[dmdba@kylin-template ~]$ cd /dm8/
[dmdba@kylin-template dm8]$ ./uninstall.sh -i

5. 常用SQL

5.1 表空间

1、查询表空间和数据文件
select tablespace_name,file_name from dba_data_files;

2、创建表空间
create tablespace test datafile ‘/dm8/data/DAMENG/TEST01.DBF’ SIZE 32;

3、表空间脱机
alter tablespace tbs offline;

4、表空间联机
alter tablespace tbs online;

5、增加数据文件
alter tablespace "TBS" add datafile '/dm8/data/DAMENG/TBS02.DBF' size 64 autoextend on next 1 maxsize 1024;

6、修改数据文件大小
alter tablespace “TBS” resize datafile ‘TBS02.DBF’ to 100;

7、更换数据文件路径
##先脱机
alter tablespace tbs offline;
##修改数据文件路径
alter tablespace tbs rename datafile ‘/dm8/data/DAMENG/TBS01.DBF’ to ‘/dm8/TBS01.DBF’;
##表空间联机
alter tablespace tbs online;

8、删除表空间
drop tablespace tbs;

5.2 用户管理

1、查看用户
select username,account_status from dba_users;

2、通过函数修改参数
sp_set_para_value(1,‘PWD_POLICY’,3);

3、更改用户的默认表空间
alter user “TEST” default tablespace “MAIN”;

4、更改密码
alter user test identified by Dameng123;

5、锁定test用户
alter user test account lock;

6、解锁test用户
alter user test account unlock;

7、撤回权限
revoke create table from test;

8、删除用户
Drop user test;

5.3 表管理

1、创建表
create table test1(id char(10) not null);

2、非空约束
insert into test1 values (null);

3、唯一约束
create table test2(id int unique,name varchar(25));

4、主键约束
create table test3(id int primary key);

5、外键约束
create table test4 (id int foreign key references test3(id));

6、检查约束
create table test5(id int check(id>=5));

7、重命名表
Alter table test1 rename to test6;

8、增加列
alter table “TEST1”.“TEST6” add column(“NAME” VARCHAR(30));

9、删除列
Alter table test6 drop column name;

10、查看约束
select constraint_name,table_name,status from user_constraints;

11、启用约束
alter table test2 enable constraint CONS134218843 ;

12、禁用约束
alter table test2 disable constraint CONS134218843 ;

13、删除表
Drop table test5;

5.4 备份与恢复

1、冷备
##不需要开启归档,但是需要停掉数据库实例。
[dmdba@kylin-template bin]$ ./DmServiceDMSERVER stop

##使用RMAN备份
[dmdba@kylin-template bin]$ ./dmrman CTLSTMT="backup database '/dm8/data/DAMENG/dm.ini' to backup_file_01 backupset '/dm8/data/DAMENG/bak/backup_file_01'"

##检查备份集
RMAN> check backupset '/dm8/data/DAMENG/bak/backup_file_01'

2、热备
##需要开启归档,数据库需要联机
##查询数据库归档状态(ARCH_MODE=Y表示已开启归档)
select name,status$,arch_mode from v$database;

##全备
BACKUP DATABASE FULL BACKUPSET '/dm8/data/DAMENG/dm_bak';

##增备
backup database increment base on backupset '基备份集目录' to "备份名" backupset '备份集目录';

##表备份
backup table "模式名"."表名" to "备份名" backupset '备份集目录'

##表空间备份
backup tablespace "表空间名" full to "备份名" backupset '备份集目录';

##归档备份
backup archivelog all to "备份名" backupset '备份集目录';

3、还原
[dmdba@kylin-template bin]$ ./dmrman CTLSTMT="RESTORE DATABASE '/dm8/data5238/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/dm_bak'" 
[dmdba@kylin-template bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data5238/DAMENG/dm.ini' FROM BACKUPSET '/dm8/data/DAMENG/dm_bak'" 
[dmdba@kylin-template bin]$ ./dmrman CTLSTMT="RECOVER DATABASE '/dm8/data5238/DAMENG/dm.ini' UPDATE DB_MAGIC"

6. 图形化工具

图形化工具介绍
DM管理工具(manager) DM的图形化管理联机工具,主要功能:用户管理、角色权限管理、表空间、模式、模式下对象(表、索引、约束、函数、过程、视图等)、数据库物理联机备份、作业管理等功能。
DM控制台工具(console) DM控制台工具是一个脱机工具,提供脱机备份还原、修改数据库参数(修改后重启数据库才能生效)等功能。
DM数据迁移工具(dts) DM数据迁移工具支持其它多款数据库迁移到达梦,或者达梦迁移到文件等功能。
DM性能监视工具(monitor) DM性能监视工具可以用来监视数据库的线程、事务会话、表空间占用等信息。
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服