一、查询相关信息
1.查询表空间相关信息
虽然达梦与Oracle 在管理上很类似,但在TEMP 表空间管理上,达梦与Oracle 的差距很大,是另外一种管理方式。关于达梦数据库的临时表空间的管理方式,我们先查询达梦数据库表空间相关的信息,如下:
select tablespace_name,FILE_NAME,bytes/1024/1024 from dba_data_files;
2.查看实例配置参数dm.ini
查看实例的配置参数dm.ini:
cd /opt/dmdbms/data/DAMENG
cat dm.ini |grep TEMP
通过查询我们可以得知,达梦的临时表空间大小是由这3个参数控制的,每次在实例启动时,根据这3个参数的配置,来创建和分配临时表空间,而不是Oracle 数据库中可以单独创建临时表空间。 并且在创建表空间时也无法单独指定创建临时表空间。
TEMP_SIZE:参数是静态参数,指定默认创建的临时表空间大小,以 M 为单位。有效值范围(10~1048576)。
TEMP_SPACE_LIMIT:动态,系统级临时表空间大小上限,以 M 为单位。0 表示不限制临时表空间大小。 有效范围(0~ 4294967294)。
注:TEMP_SPACE_LIMIT 一定要大于等于TEMP_SIZE
二、修改参数
SP_SET_PARA_VALUE(2,'TEMP_SIZE', 666);
SP_SET_PARA_VALUE(2,'TEMP_SPACE_LIMIT', 8888);
这里要注意TEMP_PATH参数,只能手工修改dm.ini 文件,无法通过SQL语句来修改
SP_SET_PARA_STRING_VALUE(2,'TEMP_PATH', '/dm/dmdbms/data/');
修改后如下图:
三、重启实例
cd /opt/dmdbms/bin
./DmServiceDMSERVER restart
四、查看结果
然后再次查询表空间信息:
cd /opt/dmdbms/bin
./disql SYSDBA/SYSDBA
select tablespace_name,FILE_NAME,bytes/1024/1024 from dba_data_files;
此时表空间已经根据我们之前的参数配置进行创建。