首页 > 编程学习 > 达梦数据库学习整理

达梦数据库学习整理

发布时间:2022/11/24 23:13:45
  1. 达梦数据库的体系架构跟oracle差不多,属于国内首家自主创研的数据库产品,更加符合国人的使用习惯。由于国外的开源产品较少,商业定制化的产品对国家的安全和保密性并不友好,达梦数据库解决了这些难题。 达梦数据库安装方便,一些参数配置在管理助手里也有中文解释比较清晰,有部分比较容易遗漏的,达梦也自动做,比如控制文件的备份等。 manager工具,这个工具主要是对模式,表空间,用户管理,DMSQL,备份还原,job等。
  2. 达梦数据库安装

2.1 查看软硬件信息

查看 cpu 信息:内核需要在2.4以上

    [root@localhost~]#ls cpu

    [root@localhost~]#cat /proc/cpuinfo

    注意:特别是国产 cpu,龙芯、飞腾

查看内存信息:

    [root@localhost~]#free -m

    注意:数据库内存要至少 1G,linuxswap 分区一般是物理内存的 1.5倍

查看硬盘、分区信息

    [root@localhost~]#fdisk -l [root@localhost~]#df -h 如果数据库开启 SQL

    日志分析,那么/tmp 分区至少要 600M

网络要求:

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

    [root@localhost~]#systemctl status firewalld

    [root@localhost~]#systemctl stop firewalld

    [root@localhost~]#systemctl disable firewalld

    支持平台:linuxhpunix windows 等

系统要求:

    内核要在 2.6 以上, [root@localhost~]#uname -ra

    安装gcc [root@localhostyum.repos.d]#yum install gcc

2.2 规划路径

    [root@localhost/]#mkdir-p/dm8

2.3 安装用户(建议不要使用 root)

    [root@localhost/]#groupadd dinstall

    [root@localhost/]#useradd -g dinstall dmdba

    [root@localhost/]#passwd dmdba

    [root@localhost/]#chown dmdba:dinstall /dm8 -R

    [root@localhost/]#ls -ld /dm8

2.4 设置最大文件打开数

    修改之后重启生效 [root@localhost/]#vi /etc/security/limits.conf

    dmdba soft nofile 4906

    dmdba hard nofile 65536

    临时生效:ulimit-n 65536

2.5 安装

把DM8 iso就像挂载在/mnt目录下

    [root@localhosthome]#mount-oloop/home/dm8_setup_rh7.iso/mnt

    (mount:/dev/loop0 写保护,将以只读方式挂载)

到/mnt 下执行./DMInstall.bin

    [dmdba@localhostmnt]$./DMInstall.bin

3. 达梦数据库卸载

dmdba$ ./uninstall.sh -i

3.1 创建数据库实例:

dmdba $cd/dm8/tooldmdba./dbca.sh

root #mv /dm8/bin/DmServiceDMSERVER.service /usr/lib/systemd/system/DmServiceDMSERVER.service

root #systemctl enable DmServiceDMSERVER.service

root #systemctl start DmServiceDMSERVER.service

3.2查看数据库运行状态:

dmdba$ ./dmservice.sh

$ps -ef|grep dmserver

$netstat -ntl|grep 5236

$ ./DmServiceDMSERVER status

3.3开启关闭数据库:

$ ./DmServiceDMSERVER stop

$ ./DmServiceDMSERVER start

3.4数据库工具:
$cd /dm8/bin
$ ./disql SYSDBA/SYSDBA:5236
sql>conn

表空间:

查询表空间和数据文件:

SQL> select tablespace_name,file_name from dba_data_files;

创建表空间

SQL> create tablespace test datafile ‘/dm8/data/DAMENG/TEST01.DBF’ SIZE 32;

create tablespace “TBS” datafile ‘/dm8/data/DAMENG/TBS01.DBF’ size 50 autoextend on next 2 maxsize 1024 CACHE = NORMAL;

表空间状态

脱机状态

Alter tablespace tbs offline;

联机状态

Alter tablespace tbs online;

维护表空间

增加数据文件

alter tablespace “TBS” add datafile ‘/dm8/data/DAMENG/TBS02.DBF’ size 32;

alter tablespace “TBS” datafile ‘TBS02.DBF’ autoextend on next 1 maxsize 1024;

resize 数据文件

alter tablespace “TBS” resize datafile ‘TBS02.DBF’ to 100;

更换数据文件路径

表空间脱机

Alter tablespace tbs offline;

修改数据文件路径

SQL> alter tablespace tbs rename datafile ‘/dm8/data/DAMENG/TBS01.DBF’ to ‘/dm8/TBS01.DBF’;

表空间联机

SQL> alter tablespace tbs online;

删除表空间:

Drop tablespace tbs;

  1. 用户管理

查看用户:

select username,account_status from dba_users;

Oracle兼容:

通过 console 工具来更改参数

通过函数 sp_set_para_value()

sp_set_para_value(1,‘PWD_POLICY’,3)

COMPATIBLE_MODE 是否兼容其他数据库模式。0:不兼容,1:兼容 SQL92标准,2:兼容 ORACLE,3:兼容 MS SQL SERVER,4:兼容 MYSQL兼容 ORACLE 模式 sp_set_para_value(2,‘COMPATIBLE_MODE’,2)

更改用户的默认表空间

alter user “TEST” default tablespace “MAIN”;

更改密码:

Alter user test identified by dameng456;

锁定 test 用户

alter user test account lock;

解锁 test 用户

alter user test account unlock;

撤回权限

revoke create table from test;

删除用户:

Drop user test;

  1. 表管理

创建表:

create table test1(id char(10) not null);

非空约束:

insert into test1 values (null);

唯一约束:

create table test2(id int unique,name varchar(25));

主键约束:

create table test3(id int primary key);

外键约束:

create table test4 (id int foreign key references test3(id));

检查约束:

create table test5(id int check(id>=5));

管理表:

重命名表:

Alter table test1 rename to test6;

增加列:

alter table “TEST1”.“TEST6” add column(“NAME” VARCHAR(30));

删除列:

Alter table test6 drop column name;

查看约束:

select constraint_name,table_name,status from user_constraints;

启用约束

alter table test2 enable constraint CONS134218843 ;

禁用约束

alter table test2 disable constraint CONS134218843 ;

删除表:

Drop table test5;

更新: update (表名) set 列名=() where ();

删除: delete from () where ();

6.视图管理

创建视图语法: create or replace view () as +接查询语句

Create view () as

create view test1.emp_v as select employee_id,employee_name,salary,department_id from

dmhr.employee where department_id=1005;

创建简单的视图:

Drop view emp_v;

  1. 物理备份

冷备(不需要开启归档,但是需要停掉数据库实例):

[dmdba@localhost bin]$ ./DmAPService status

DmAPService (pid 14437) is running

1、 console 工具备份

2、 用 dmrman 工具备份

RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’ backupset ‘/dm8/bakcup’;

检查备份集

RMAN> check backupset ‘/dm8/backup’;

热备:需要开启归档, 数据库需要联机

查看数据库归档模式:

SQL> select arch_mode from v

7.性能监控工具(Monitor) 

7.1 实例监控

实例监控显示所连接实例的内存和CPU的使用情况,以及该实例的线程和会话信息,包括内存和CPU的当前使用值,以及自开始监视以来的最大值和最小值;活动的线程和会话的个数,以及自开始监视以来的最大值和最小值。

7.2 MPP 监控

MPP监控主要监控DM MPP集群环境。包括站点分布图和消息分发图。其中站点分布图显示各站点的物理主机分布情况,消息分布图显示各站点间的通信情况。

数据分布视图显示指定数据库表的数据在DM MPP的各个站点上的分布情况。

7.3 统计分析

统计分析视图监视系统资源,数据库可用性,健康状态,性能等。显示系统自启动以来各项资源的使用历史情况以及平均使用率。包括内存和hash缓存的使用情况,逻辑、物理读写情况,事务总次数以及提交、回滚、死锁次数、会话分配和空闲的次数以及检查点的次数,sql的执行情况、系统CPU使用率以及线程切换情况。

7.4 性能监视

性能监视涵盖达梦数据库的所有监控事项,主要如下:

1)线程监视

2)会话监视

3)事务监视

4)SQL监视

5)SQL日志文件分析

6)DM.INI参数监视

7)资源监控(内存)

8)存储监视

9)系统监视

7.5 调优向导

调优向导是自动化的调优工具,包含如下内容:

1)内存配置向导

2)线程配置向导

3)数据库物理存储维护向导

4)数据库逻辑存储维护向导

5)性能瓶颈分析与调优向导

6)索引优化向导

7)索引重组向导

预警配置页面可以配置监控的关键指标和警告发送方式,以监测所配置的关键指标是否达到预警值,如果达到则通过所配置的警告发送方式把警告信息发送给管理员。

8. 达梦数据库与Oracle数据库比较

达梦数据库  vs Oracle数据

 

达梦数据库

Oracle数据

体系结构

单进程多线程,达梦分为实例与数据库两部分。
实例,一组正在运行的DM后台进程/线程以及一个大型的共享内存组成,包含监听线程、工作线程、IO线程、调度线程、日志相关线程等。
数据库,由一组物理文件组成,包含数据文件、日志文件、控制文件以及临时文件等。
控制文件一主一备,备用的只有主不可用的情况才会被使用。

多进程,实例,也是一组进程以及共享内存组成,涵盖进程更多。
数据库,也是一组物理文件,如数据文件、日志文件、控制文件等。
oracle的控制文件可以有多组,同时在线使用

用户模式

达梦一个用户下可以有多个模式(schema)

Oracle的用户和模式(shema)是一一对应关系

表空间管理

达梦表空间由数据文件组成,一个表空间可以有多个数据文件,一个数据文件只能地属于一个表空间;
仅能对表空间进行offline,不能针对某个数据文件offline;
数据文件迁移,通过一个命令可以直接在操作系统层移动文件完成整体迁移;

由数据文件组成,一个表空间可以有多个数据文件,一个数据文件只能地属于一个表空间;
能对表空间或者数据文件进行offline;
在12c以前,需要手动在操作系统层进行数据文件迁移,然后在数据库层更改相关路径参数;12c以后可以实现一键完成数据文件迁移

登陆

若忘记sysdba的密码则无法登陆

若忘记sys的密码则可以用操作系统验证方式登陆修改密码

数据库的状态

shutdown ,mount ,open和suspend状态,在open状态可以直接切换为mount状态

shutdown , nomount ,mount 和open

创建数据文件大小单位

创建表空间指定数据文件的时候不能写单位不然会报错,默认的单位是mb

在创建表空间指定数据文件的时候可以指定size的单位,kb,mb,gb

RMAN备份

达梦的RMAN只能进行冷备份

oracle的RMAN可以进行热备

表空间大小写

达梦操作时如果创建的表空间名称是小写需要用双引号引起来

oracle不区分大小写

归档

达梦需要指定归档路径,大小和上限大小

oracle如果不指定归档路径则会默认存放在恢复目录中

执行存储过程

达梦执行存储过程的命令是call 存储过程名(参数)

oracle执行存储过程的命令是 exec 存储过程名(参数)

执行脚本

达梦执行脚本使用的是start

oracle在sqlplus下执行命令脚本使用@

参数

达梦修改参数命令是 sp_set_para_value( x,'',x)

oracle中修改参数的命令是alter system set xxxx=xxx

默认表空间名称

默认用户数据存放的表空间的名称是main表空间

默认用户数据存放的表空间是user表空间

9、总结

9.1  达梦数据库在事务处理性能的一个评测标准是TPC-C测试,目前常用的测试工具是benchmarkSQL, 基于该工具的压力测试单机性能达梦数据库的成绩可达10万-60万(tpmC);对于复杂查询, 比如TPC-H和TPC-DS, 达梦的性能也很不错。

9.2 达梦的标准化支持比较好,也支持很多其它数据库的功能特性,特别是对Oracle SQL及过程化语言PL/SQL的兼容性非常好,因此应用开发或移植很方便。

9.3 基于达梦数据库上线的很多实际应用系统都基于自动生成的复杂SQL, 这些复杂的SQL对优化器的考验非常大,其他几款国产数据集在最近几年和达梦的PK中屡屡失利,体现出达梦数据库的性能优势。


本文链接:https://www.ngui.cc/zz/1443260.html
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000