一、达梦数据库是由数据库和实例构成:
数据库:数据库指的是磁盘上存放在数据库中的数据的集合,包括配置文件和控制文件(丢失损坏数据无法启动到mount状态)、数据文件和重做日志文件、归档日志文件、备份文件、跟踪日志文件、事件日志文件。
实例:实例一般是由一组正在运行的后台进程/线程以及一个大型的共享存储组成;实例就是操作DM数据库的一种手段,是用来访问数据库的内存结构以及后台进程的集合。DM实例存储域服务器的内存中;
单实例:一个实例管理一个数据库
DMDSC:多个实例管理一个数据库
二、DM8存储结构
2.1物理结构:
1)配置文件
配置参数文件 dm.ini,在数据库安装路径下以.ini结尾的文件为配置文件,dm.ini该文件类似于oracle的spfile和pfile文件。
DM 数据库参数的类型:
READ ONLY:手动参数,不能通过 SQL 命令或函数修改;只能通过修改 dm.ini 文本文件修改,此参数(需要重启数据库才能生效)。
SYS:动态(系统级)参数。可以即可以修改内存中的值,也可以修改参数文件中的值,可以通过 SQL 命令或函数修改。
SESSION:动态(会话级)参数,可以即可以修改内存中的值,也可以修改参数文件中的值。可以通过 SQL 命令或函数修改,且可以只针对当前会话生效。
IN FILE:静态参数,可以通过 SQL 命令或函数修改,不能修改内存中的值,只能修改参数文件中的值,所以需要重启数据库才能生效。
SQL> select distinct para_type from v$dm_ini;
行号 PARA_TYPE
---------- ---------
1 READ ONLY
2 SYS
3 IN FILE
4 SESSION
数据库参数的修改方法:
(1) console 控制台工具 图形化界面方式修改,需要重启数据库才能生效。
(2) 直接修改 dm.ini 配置文件,需要重启数据库才能生效。
(3) 系统函数修改(可以用来修改静态和动态参数,但静态参数修改后需要重启数据库
才能生效)。
SP_SET_PARA_VALUE:修改整型参数。
SP_SET_PARA_DOUBLE_VALUE:修改浮点型参数:
SP_SET_PARA_STRING_VALUE:修改字符型参数:
参数说明:
SCOPE:修改范围(修改静态参数:0:memory;1:both;2:spfile)
(4)使用alter systemset语句修改(可以用来修改静态和动态参数,但静态参数修改后需要重启数据库才能生效)。
2)数据文件
数据存储路径下以.DBF结尾的文件是数据文件
可以通过以下语句查看当前数据库有哪些数据文件,以及详细信息
select * from dba_data_files;
select * from v$datafile;
3)控制文件
数据存储路径下以.ctl结尾的文件是控制文件,只有一个控制文件
查看控制文件存储位置
[dmdba@Kylin01 ~]$ dmctlcvt help
DMCTLCVT V8
version: 03134283968-20230322-185138-20033 Pack9
格式: ./dmctlcvt KEYWORD=value
注意: 控制文件名称必须指定为dm.ctl、dmmpp.ctl、dss.ctl
关键字 说明
--------------------------------------------------------------------------------
TYPE 1 转换控制文件为文本文件(源文件路径中控制文件名称必须是dm.ctl或dmmpp.ctl或dss.ctl)
2 转换文本文件为控制文件(目标文件路径中控制文件名称必须是dm.ctl或dmmpp.ctl或dss.ctl)
SRC 源文件路径
DEST 目标文件路径
DCR_INI dmdcr.ini文件路径
DFS_INI dmdfs.ini文件路径
HELP 打印帮助信息
示例:
./dmctlcvt TYPE=1 SRC=/opt/dmdbms/data/dameng/dm.ctl DEST=/opt/dmdbms/data/dameng/dmctl.txt
./dmctlcvt TYPE=2 SRC=/opt/dmdbms/data/dameng/dmctl.txt DEST=/opt/dmdbms/data/dameng/dm.ctl
[dmdba@