1. 静态内存管理: 就是在数据库中,无论是否有用户连接,也无论并发用户量大小,只要数据库在运行中,内存都将被分配,而且内在是固定大小.
动态内存管理: 使用动态内存管理方法时,允许对内存的大小在线修改,内在的分配与用户操作数据库时的数据量有关系,读取大数据块时使用大内存,读取小数据块时使用小内存,读取标准数据块时,使用标准内存设置.
2.
SQL> show sga
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 88081764 bytes
Database Buffers 75497472 bytes
Redo Buffers 2945024 bytes
或select * from v$SGA;
查询一个参数的大小,可以查询v$sgastat或v_$sgastat,计算SGA的使用空间与空闲空间的比率:
SQL> col OBJECT_NAME format a20
SQL> col 自由空间百分比(%) format 90.99
SQL> select name,
2 sgasize/1024/1024 "Allocated(M)",
3 bytes/1024 "自由空间(K)",
4 round(bytes/sgasize*100,2) "自由空间百分比(%)"
5 from (select sum(bytes)sgasize from sys.v_$sgastat)s,sys.v_$sgastat f
6 where f.name ='free memory';
NAME Allocated(M) 自由空间(K) 自由空间百分比(%)
---------- ------------ ----------- -----------------
free memor 153.909721 1896.58203 1.20
y
free memor 153.909721 3894.625 2.47
y
free memor 153.909721 4096 2.60
y