现在改一下
alter system set db_cache_size=200M scope=both;
SQL> alter system set db_cache_size=200M scope=both;
alter system set db_cache_size=200M scope=both
*
ERROR at line 1:
ORA-32017: failure in updating SPFILE
ORA-00384: Insufficient memory to grow cache
结果显示没有足够的内存去增加
就是sga_target已经就这么大了,都分完了
都分给各个池子了
这时要把DEFAULT buffer cache的值增加
要增加这个buffercache池子的大小的话
首先增加sga的大小
这地方首先说一下思路
首先增加sga_max_size大小
然后再增加sga_target
最后再增加db_cache_size
语句分别为
alter system set sga_max_size=500M scope=spfile;
alter system set sga_target=400M;
alter system set db_cache_size=200M;
其中的scope选项有三个可取值
scope=spfile
表示将参数值存入spfile文件,即改变oracle的初始化参数文件内容,在重启数据库后才能生效
scope=memory
表示改变正在内存中运行的实例的参数值,只在内存上修改,立即生效,
关闭实例此值就会丢失而被还原为原已保存的值,因为这个修改并没有写入到初始化参数文件
scope=both
表示将参数值同时存入spfile和memory,立即生效,因为存入了spfile重启数据库后仍然有效。
both是默认值,修改静态参数必须使用spfile,动态参数三种方式都可以用。
spfile文件的位置
SQL> show parameter spfile
NAME TYPE VALUE
———————————— ———– ——————————
spfile string /u01/app/oracle/product/10.2.0
/db_1/dbs/spfilejiagulun.ora
为了保护数据库的安全有的参数进行了保护把它指定为静态状态
修改值时要加额外参数并且要数据库重启才能生效
但大部分参数是动态的可以随时修改随时生效
sga_max_size是静态参数,sga_target和db_cache_size是动态参数免费云主机域名
这三个参数目前值
sga_max_size big integer 272M
sga_target big integer 272M
db_cache_size big integer 0
因为sga_max_size和sga_target当前值相同
所以这里必须先修改sga_max_size并重启数据库后
才能继续修改sga_target的值使其增加
在sga有足够空间时才能增加db_cache_size的值
我的修改过程
在sga_target把值增加后就会立即自动把剩余的空间全部分配给db_cache_size
以为是因为db_cache_size使用默认值0,
但手工对db_cache_size分配值后效果仍然一样。
在修改db_cache_size的值时
增加时是有限制的
sga要根据当前所有的状态值分析有没有足够的空间满足这个增大的值
减少时一般没限制
因为这个值即使设置小了但sga仍使用自动分配空间分配给db_cache_size
一般真实值不会减少,仍保持在合理状态
EST_READ_FACTOR 为预估的物理读因子
ESTD_PHY_RED 预估的物理读的次数
EST_PHY_RED_T 预估的物理读时间
我们可以以物理读时间作为标准
因为buffercache最最突出的作用是缓存block
目的是减少物理io
这样就减少了物理io读的时间
这篇文章主要介绍如何实现alwayson的备份还原脚本,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1、 备份数据库 在主副本上,将需要做AlwaysOn的数据库做一次全备和日志备份(NOTE:禁用事务日志备份作业,如果有的话) 替换…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。