DM数据库如何展示对象的存储空间信息

2019年12月7日 来源:达梦大数据  浏览 1256 次 评论(0)
达梦数据库为了展示所有物理对象(文件、页)和逻辑对象(表空间、簇、段)的存储空间信息。通过 DBMS_SPACE 包来获取表空间(不包含HUGE表空间)、文件、页、簇、段的内容。
  我们的测试环境为:
  *作系统:中标麒麟6
  达梦数据库:DM V8.1

使用包内的过程和函数之前,如果还未创建过系统包。请先调用系统过程SP_CREATE_SYSTEM_PACKAGES (1)创建系统包。

0
1
获取表空间信息

包括表空间ID、表空间名、表空间类型(1 DB 类型,2 临时文件组)、表空间状态、表空间的空间、表空间的总大小(页)、包含文件的个数。

使用方法:
TS_LOAD/ TS_GET
根据输入的表空间 ID,获得表空间信息。过程和函数功能相同。
语法如下:
PROCEDURE TS_LOAD(
TSID IN SMALLINT,
TS_ARR OUT TS_ARR_T
);
语法如下:
FUNCTION TS_GET (
TSID IN SMALLINT
)RETURN TS_ARR_T;
参数详解
TSID 表空间 ID。
TS_ARR_T 表空间记录类型数组。

案例分析:查看MAIN表空间的相关信息。
SQL> set serveroutput on;
DECLARE
TS_INFO DBMS_SPACE.TS_ARR_T;
BEGIN
TS_INFO = DBMS_SPACE.TS_GET(4);
IF TS_INFO IS NOT NULL
THEN
SELECT * FROM ARRAY TS_INFO;
ELSE PRINT 'TABLESPACE IS NULL';
END IF;
END;
/
结果:

0
2
 获得数据库中表空间的个数

使用方法:
  TS_N_LOAD / TS_N_GET
获得数据库中表空间的个数。过程和函数功能相同。
语法如下:
PROCEDURE TS_N_LOAD(
NUMBER OUT INT
);
语法如下:
FUNCTION TS_N_GET
RETURN INT;
参数详解
         NUMBER 表空间的个数。

案例分析:查数据库的表空间个数
SQL> set serveroutput on;
DECLARE
TS_NUM INT;
BEGIN
TS_NUM = DBMS_SPACE.TS_N_GET;
PRINT 'TS_NUM:';
PRINT TS_NUM;
END;
/
结果:
个数根据实际表空间个数不同而不同,不包括 HUGE 表空间。

0
3
得文件信息

文件路径、文件创建时间、文件读写状态: (1 读,2 写)、文件修改的时间、修改的事务 ID 、文件的总大小(M)、文件的空闲大小(M)、数据文件中连续空白页的起始页号、读页个数、写页个数、页大小(K)、读请求个数、写请求个数、文件可扩展标记、文件大小(M)、文件每次扩展大小(M)、文件包含的总描述页的数目。

使用方法:
FILE_LOAD/ FILE_GET
根据输入的表空间 ID、文件 ID,获得文件信息。过程和函数功能相同。
语法如下:
PROCEDURE FILE_LOAD(
TS_ID IN SMALLINT,
FILE_ID IN SMALLINT,
FILE_ARR OUT FILE_ARR_T
);
语法如下:
FUNCTION FILE_GET(
TS_ID IN SMALLINT,
FILE_ID IN SMALLINT
) RETURN FILE_ARR_T;
参数详解
TSID 表空间 ID。
FILE_ID 文件号。
FILL_ARR_T 文件记录类型数组。


案例分析:查看MAIN表空间的文件信息。
SQL> set serveroutput on;
DECLARE
FILE_INFO DBMS_SPACE.FILE_ARR_T;
BEGIN
FILE_INFO = DBMS_SPACE.FILE_GET(4,0);
IF FILE_INFO IS NOT NULL
THEN
SELECT * FROM ARRAY FILE_INFO;
ELSE PRINT 'FILE IS NULL';
END IF;
END;
/
结果:
DBMS_SPACE 包中涉及到的变量和记录类型。如下统一说明:
包内变量和记录类型
解 释
TS_T


表空间记录类型,用于记录表空间的信息,包括:表空间ID、表空间名、表空间类型:1 DB 类型,2 临时文件组、表空间状态、表空间的空间、表空间的总大小(页)、包含文件的个数
TS_ARR_T
表空间记录类型数组
TS_ALL_ARR_T
表空间
ID 数组
FILE_T
文件记录类型,用于记录文件的信息,包括:文件路径、文件创建时间、文件读写状态 1 读,2 写文件修改的时间、修改的事务 ID 、文件的总大小(M)、文件的空闲大小(M)、数据文件中连续空白页的起始页号、读页个数、写页个数、页大小(K)、读请求个数、写请求个数、文件可扩展标记、文件大小(M)、文件每次扩展大小(M)、文件包含的总描述页的数目
FILE_ARR_T
文件记录类型数组
FILE_ALL_ARR_T
文件的 ID 数组
SEG_T
段记录类型,用于记录段的信息,包括:表空间 ID、段 INODE 项的文件 ID、段 INODE 项的页号、段 INODE 项的页偏移、全满簇的个数、半满簇的个数、空闲簇的个数
SEG_ARR_T
段记录类型数组
SEG_ID_ARR_T
段 ID 数组
EXTENT_T
簇记录类型,用于记录簇的信息,包括:表空间号、段ID、簇状态、簇的页标记位图、簇描述项的文件 ID、簇描述项所在页号、簇描述项的页偏移、簇的起始页号、簇的终止页号、下一个簇描述项的文件号 ID、下一个簇描述项的页号、下一个簇描述项的页偏移
EXTENT_ARR_T
簇记录类型数组
EXTENT_SIZE
簇的大小(页为单位)
PAGE_ADDR_T
页地址记录类型,用于记录页地址的信息,包括:表空间ID,文件 ID,页号
PAGE_ADDR_ARR_T
页地址记录类型数组
PAGE_N
描述页能描述的页数
更多方法,请查看官方文档。
我来说两句
人参与 丨 评论0条)
图标
注册 登录    
评论列表
每页 10 条,共 0 条
×

微信扫一扫关注我们

欢迎投稿

×

邮箱:15236061639@163.com

QQ:60298351

微信:a18137798589

(版权所有 科工网&北京天云聚合科技有限公司 © Copyright 2015 - 2022 . All Rights Reserved.) 京ICP备14030211号-5   |   营业执照