oracle数据库怎么增加内存?
Copyright © 1
1。修改挂载参数,linux运行就了重启会强制检测磁盘,将最后2个数据全设置为0 #cat /etc/fstab 2。修改SGA使用大小 # cat /etc/sysctl。
conf kernel。shmall=x 可用共享内存的总量,单位页;x*页大小/1024/1024= G kernel。shmmax=y 单个共享内存段的最大数;y/1024/1024/1024= G kernel。shmmni=z 单个共享内存段的最小值;z单位是bytes,一般都是4K #tune2fs -l /dev/sda1| grep "Block size"查看块大小,到内存中即页大小 cat >> /etc/sysctl。
conf 《 EOF kernel。shmall = 7340032 kernel。shmmax = 34359738368 EOF 3。修改PGA参数 alter system set sga_max_size=22526m scope=spfile; alter system set sga_target=22528m scope=spfile; alter system set pga_aggregate_target = 6144m scope=spfile; 4。
如若数据文件以后有大量增加需要修改db_files,修改完成需要重启。 SYS>show parameter db_files SYS>alter system set db_files=9300 scope=spfile ; 5。
修改完成后查看修改结果 $ ipcs -l 扩展: 并不是所有的SGA内存区都能被SGA_TARGET控制,在10g中,只有5个部分的的内存会再实例运行中,由oracle自动调整其使用的内存空间: DB_CACHE_SIZE SHARE_POOL_SIZE JAVA_POOL_SIZE LARGE_POOL_SIZE STREAMS_POOL_SIZE 另外 SGA_TARGET:设置为0,则为手动设置;大于0,则SGA内存将会自动分配。
STATISTICS_LEVEL:设置为TYPICAL或ALL,以便收集到足够的统计信息,否则oracle没有先关统计信息作为参照,就无法确定如何分配SGA各部分的内存。