灵狐
作者灵狐·2022-04-21 17:38
系统工程师·西安银行

达梦数据库修改临时表空间大小,重启后不生效的解决方法

字数 1784阅读 2292评论 0赞 0

达梦数据库修改临时表空间大小,重启后不生效的解决方法


我的环境是linux,达梦数据库V8,修改临时表空间大小,重启数据库后临时表空间大小又还原到修改前的初始值,以下是问题现象和解决思路:

1.登录修改临时表空间大小

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;

2.重启数据库

./DmServiceDMTEST stop
Stopping DmServiceDMTEST: [ OK ]
./DmServiceDMTEST start
Starting DmServiceDMTEST: [ OK ]

3.再次查看临时表空间大小

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参数文件使修改永久生效

4.修改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

5.重启数据库,再次查询temp表空间大小

./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 条评论

Ctrl+Enter 发表

相关文章

相关问题

相关资料

X社区推广