达梦,死循环将导致 DBMS_OUTPUT.PUT_LINE 函数耗尽内存直到内存溢出(OOM),实例崩溃,望修复
【在生产上很危险:不稳定、不健壮,一不小心数据库就崩溃】
同样的代码在oracle中表现不同,并不会过多分配内存甚至“直到内存耗尽”;
类似的代码在pg系的数据库中,并不会出现OOM;
select * from v$version();
BANNER
---------------------------------
DM Database Server 64 V8
8.1
安全版
DB Version: 0x7000c
05134283938-20221019-172201-20018
BANNER
---------------------------------
DM Database Server 64 V8
DB Version: 0x7000c
03134284044-20230417-187846-20040
begin
while (true) loop
dbms_output.put_line('AAAAAAAAAAAAAAAA');
end loop;
end;
/
vmstat 2
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1160768 268352 6493120 0 0 0 190 1657 3168 13 0 86 0 0
1 0 0 1227712 219200 6007552 0 0 0 48 1651 3147 15 1 84 0 0
2 0 0 1005824 197760 5801792 0 0 342 106 1866 3512 14 0 85 1 0
1 0 0 1272704 153984 5123840 0 0 4 102 1770 3336 14 1 85 0 0
1 0 0 1207040 118592 4764416 0 0 0 50 1615 3166 13 0 86 0 0
1 0 0 1073600 94592 4467712 0 0 238 50 1696 3232 13 0 86 0 0
1 0 0 1183040 58304 3935104 0 0 356 90 1663 3147 13 0 86 1 0
1 0 0 1238528 36288 3433024 0 0 1574 208 1727 3249 13 1 86 0 0
1 0 0 1210816 24256 3013248 0 0 10540 22 1813 3298 13 1 83 3 0
1 2 0 1058624 19904 2709696 0 0 20008 112 1918 3463 14 0 84 2 0
1 0 0 1160576 13632 2166848 0 0 6646 230 1877 3442 14 1 83 3 0
2 14 0 1050560 4224 1942720 0 0 565980 54 2993 4400 9 5 60 27 0
0 15 0 976064 4288 1921152 0 0 992830 1698 3834 5510 5 9 38 48 0
1 26 0 866880 3456 1934016 0 0 1774368 130 5165 6783 3 9 15 73 0
3 35 0 814272 3456 1957888 0 0 2092046 20 6095 7932 2 12 3 84 0
0 25 0 852160 2944 1918976 0 0 1830898 142 6185 8128 1 11 1 88 0
1 34 0 816128 2944 1950400 0 0 1583398 24 4727 6420 1 9 2 88 0
0 24 0 819520 3264 1927104 0 0 1647592 68 4850 6184 1 12 1 86 0
0 30 0 813568 3200 1948736 0 0 2583854 52 6327 8187 1 8 1 90 0
0 29 0 813760 3200 1946880 0 0 1848944 170 8499 11215 1 11 0 88 0
9 27 0 804352 2240 1971712 0 0 2089698 110 5607 7511 1 12 0 87 0
2 31 0 817728 2752 1943744 0 0 2003562 104 7706 9863 1 11 5 83 0
6 40 0 812544 2432 1933504 0 0 3063536 10 6714 11927 1 20 2 78 0
1 35 0 809664 2560 1955008 0 0 2072542 76 9865 15012 1 15 0 84 0
5 18 0 813056 4544 1962880 0 0 1270870 20 5281 7981 1 10 1 89 0
3 55 0 830912 2368 1911360 0 0 2058426 162 6455 16279 7 27 3 64 0
2 35 0 8541248 3776 1939968 0 0 1744468 84 8192 20511 3 28 12 57 0
1 0 0 9205888 13504 2107328 0 0 57354 166 2534 4401 2 1 83 15 0
0 0 0 9205312 13504 2109312 0 0 626 46 1485 2909 1 0 99 0 0
-- v$mem_pool
NAME POOL_NUM TOTAL_MB USED_MB DATA_MB TARGET_MB used(%) data(%)
---------------------- -------- -------- ------- ------- --------- ------- -------
SHARE POOL 000 1 1268 1252.5 601 15000 98.8 47.4
VIRTUAL MACHINE 8 276.1 260.8 77.5 128 94.5 28.1
NAME POOL_NUM TOTAL_MB USED_MB DATA_MB TARGET_MB used(%) data(%)
---------------------- -------- -------- ------- ------- --------- ------- -------
SHARE POOL 000 1 8052.9 8052.9 3718.1 15000 100 46.2
VIRTUAL MACHINE 8 2118 2102.7 644.3 128 99.3 30.4
文章
阅读量
获赞