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.第一种方式:修改数据库的配置文件方式
- 在dm.ini中将SVR_LOG设置为1
- 然后在实例下将sqllog.ini中的ASYNC_FLUSH设置为1
- 调用SP_REFRESH_SVR_LOG_CONFIG()生效
- 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.