美文网首页
在线缩小达梦数据库临时表空间

在线缩小达梦数据库临时表空间

作者: 喵咪很生气 | 来源:发表于2020-08-28 09:43 被阅读0次

    1、首先创建一个事务级临时表

    CREATE GLOBAL TEMPORARY TABLE "SYSDBA"."TEMP_TRANSACTION"
    (
    "ID" INT,
    "NAME" VARCHAR(20))
    ON COMMIT DELETE ROWS STORAGE(ON TEMP);
    

    2、向表中插入1千万行数据,把临时表空间撑大

    begin
     for i in 1..10000000
     loop
     insert into temp_transaction values(i,'abcdefg');
     end loop;
    end;
    

    3、最后我们提交事务来清除数据,发现实际临时表空间占用的磁盘空间不变

    commit;
    
    image.png
    image.png

    4、这个时候我们可以通过函数,在线缩小临时表空间文件大小


    image.png
    获取ts_id,file_id
    select * from v$datafile;
    
    image.png
    SP_TRUNC_TS_FILE(3,0,64)
    
    image.png

    5、设置临时表空间使用上限大小
    dm.ini中参数TEMP_SPACE_LIMIT设置临时表空间使用上限,防止出现临时表空间暴涨导致服务器空间不足数据库宕机。

    O_O

    相关文章

      网友评论

          本文标题:在线缩小达梦数据库临时表空间

          本文链接:https://www.haomeiwen.com/subject/wmiksktx.html