达梦8数据库体系结构
- DMSERVER:C/S架构,由客户端+服务器构成
- 达梦数据库是由数据库和实例构成
- 数据库
- 数据库指的是磁盘上存放在数据库中的数据的集合
- 数据库文件:配置文件和控制文件(丢失损坏数据无法启动到mount状态)、数据文件和重做日志文件(丢失损坏无法启动到open状态)、归档日志文件、备份文件、跟踪日志文件、事件日志文件。+ 实例
- 实例
- 实例一般是由一组正在运行的后台进程/线程以及一个大型的共享存储组成
- 单实例:一个实例管理一个数据库
- DMDSC:多个实例管理一个数据库(类似于oracle rac)
1.DM8存储结构
1.1物理结构
1.1.1配置文件
- 在实例安装路径下以.ini结尾的文件为配置文件:/dmdata/DM/dm.ini
- 该文件类似于oracle的spfile和pfile文件,可以通过alert去更改、vim命令去直接修改、函数方式去修改、console工具去更改
- 配置文件视图为dm_ini:desc v$dm_ini;
- PARA_TYPE列解答:
- sys:影响全局
- session:动态,针对于当前会话有效
- infile:静态参数,实例重启生效
- readonly:只读参数,只能手动通过vim去修改dm.ini
- 修改参数
- 判断是参数类型,是否需要重启生效
- 更改方式
- 案例1静态参数修改:
alter system set 'COMPATIBLE_MODE'=2 spfile;
both会同时改变内存中和参数中的值,无需重启便可生效。spfile只会改变参数文件中的值,实例重启才能生效。
sp_set_para_value(2,'COMPATIBLE_MODE',0);
前面的数值:1等同于both,会同时改变内存中和参数中的值,无需重启便可生效。2等于infile,只会改变参数文件中的值,实例重启才能生效。
- 案例2动态参数修改:
select para_name,para_value,para_type from v$dm_ini where para_name='ENABLE_BLOB_CMP_FLAG';
alter system set 'ENABLE_BLOB_CMP_FLAG'=1 both;
sp_set_para_value(1,'ENABLE_BLOB_CMP_FLAG',0);
1.1.2数据文件
- 数据存储路径下以.DBF结尾的文件是数据文件
查看当前数据库有哪些数据文件,以及详细信息
select * from dba_data_files;
select * from v$datafile;
1.3控制文件
-
数据存储路径下以.ctl结尾的文件是控制文件,只有一个控制文件
-
会在ctl_bak下备份是个控制文件
查看控制文件存储位置
select para_name,para_value from v$dm_ini where para_name like '%PATH%';
- 查看控制文件内容
./dmctlcvt help
./dmctlcvt type=1 src=/dmdata/DM/dm.ctl dest=/tmp/dmctl.txt
- 控制文件中记录了数据库的模式、数据库名、上一次的启动时间、数据库启动次数、表空间和数据文件相关信息。