我的环境是linux,达梦数据库V8,修改临时表空间大小,重启数据库后临时表空间大小又还原到修改前的初始值,以下是问题现象和解决思路:
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_data_files where tablespace_name='TEMP';
行号 FILE_NAME TABLESPACE_NAME BYTES/1024/1024
1 /dm8/data/DMTEST/TEMP.DBF TEMP 26
SQL> alter tablespace temp resize datafile '/dm8/data/DMTEST/TEMP.DBF' to 128;
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_data_files where tablespace_name='TEMP';
行号 FILE_NAME TABLESPACE_NAME BYTES/1024/1024
1 /dm8/data/DMTEST/TEMP.DBF TEMP 128
可以看到本次临时表空间大小已修改为128M;
./DmServiceDMTEST stop
Stopping DmServiceDMTEST: [ OK ]
./DmServiceDMTEST start
Starting DmServiceDMTEST: [ OK ]
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_data_files where tablespace_name='TEMP';
行号 FILE_NAME TABLESPACE_NAME BYTES/1024/1024
1 /dm8/data/DMTEST/TEMP.DBF TEMP 26
可以看到临时表空间又恢复到了26M的初始大小
查询系统参数TEMP_SIZE
SQL> select * from v$parameter where name like 'TEMP_SIZE';
行号 ID NAME TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION
1 305 TEMP_SIZE IN FILE 10 10 10 temp file size
可以看到TEMP_SIZE是决定临时表空间初始大小的一个参数,默认为“10M”,参数类型为:"INFILE",因此可以修改dm.ini参数文件使修改永久生效
进入达梦数据库建库目录,修改dm.ini文件,修改前先备份!!!
grep TEMP_SIZE dm.ini
TEMP_SIZE = 10 #temporary file size in Megabytes
cp dm.ini dm.ini.20220421
vi dm.ini (将TEMP_SIZE修改为128)
grep TEMP_SIZE dm.ini TEMP_SIZE = 128 #temporary file size in Megabytes
./DmServiceDMTEST stop
Stopping DmServiceDMTEST: [ OK ]
./DmServiceDMTEST start
Starting DmServiceDMTEST: [ OK ]
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_data_files where tablespace_name='TEMP';
行号 FILE_NAME TABLESPACE_NAME BYTES/1024/1024
1 /dm8/data/DMTEST/TEMP.DBF TEMP 128
可以看到临时表空间已经永久修改为128M大小
这就是达梦数据库永久修改临时表空间大小的方法,感谢观看!!!
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论