DM逻辑存储结构,如何开启sql日志,查看和操作sql日志

本文介绍了DM数据库的逻辑结构,包括数据库、实例和数据库逻辑组成,并详细阐述了开启SQL日志的两种方法,以及如何动态查看日志。强调开启异步SQL日志对性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.数据库逻辑结构

1.1.数据库

数据库的概念这里是指数据库的管理系统,是一些数据文件、日志文件、控制文件及数据库工具这些,也就是我们常说的DBMS(Database management system);

1.2.实例

1、达梦数据库实例是由一组正在运行的 DM 后台进程/线程以及共享内存组成。

2、实例是一种操作数据库的手段;

3、DM 数据库存储在服务器的磁盘上,而 DM 实例则存储于服务器的内存中。

4、一个实例只能与一数据库相关联

5、大多数情况下一个数据库也只有一个实例对其进行操作,但在DMDSC共享存储集群上可以多个实例可以同时装载并打开一个数据库(位于一组由多台服务器共享的物理磁盘上)。

1.3.数据库逻辑结构

1. 数据库由一个或多个表空间组成;

2. 每个表空间由一个或多个数据文件组成;

3. 每个数据文件由一个或多个簇组成;

4. 段是簇的上级逻辑单元,一个段可以跨多个数据文件;

5. 簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;

6. 页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元。

可以理解为数据库是有多个表空间组成的,每个表空间又是由下面的段、簇、页组成,页是数据库的最小存储单元

2.开启数据库sql日志

2.1.第一种方式:修改数据库的配置文件方式

  1. 在dm.ini中将SVR_LOG设置为1
  2. 然后在实例下将sqllog.ini中的ASYNC_FLUSH设置为1
  3. 调用SP_REFRESH_SVR_LOG_CONFIG()生效
  4. select para_name,para_value from v$dm_ini where para_name='SVR_LOG';

2.2.第二种方式

SF_SET_SYSTEM_PARA_VALUE('SQL_TRACE_MASK','7:25:27:28',0,1); 

SF_SET_SYSTEM_PARA_VALUE('SVR_LOG_ASYNC_FLUSH',1,0,1);

SF_SET_SYSTEM_PARA_VALUE('SVR_LOG_MIN_EXEC_TIME',1,0,1);   

SF_SET_SYSTEM_PARA_VALUE('SVR_LOG_FILE_NUM',20,0,1);

SP_SET_PARA_VALUE(1,'SVR_LOG',1); 

SP_REFRESH_SVR_LOG_CONFIG(); 

select para_name,para_value from v$dm_ini where para_name like '%SVR_LOG%';

动态打开/dm8/log下的dmsql_GRP1_RT_01.log日志,在数据库中写个操作,然后看sql日志是否有打印信息;

2.3.查看日志方式:(动态查看tail。很多查看方法有more、vim、cat)

22sql日志会打印所有对数据库有操作的sql语句;

建议: 单机和集群都要开启异步的sql日志,同步日志有性能影响较大

3.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值