如何调整oracle的SGA

如何调整oracle的SGA,第1张

sga_max_size需要重启数据库来进行调整,而其中的db_cache_size等可以动态调节,在调节共享池时需要计算好SGA的总容量,假如超过了sga_max_size,就会出现报错的现象。

在正常情况下,查询非常慢。

1、检查SGA大小,以DBA身份连接到oracle数据库,输入show sga。

2、如果SGA过小,请修改其大小

修改SGA必须保持的原则:

1).sga_target不能大于sga_max_size,可以设置为相等。

2).SGA加上PGA等其他进程占用的内存总数必须小于 *** 作系统的物理内存。

做如下 *** 作前,必须备份dbs目录下的所有文件。

方法一:直接SQL命令行修改:

(如果spfile文件不存在,需先创建create spfile from pfile)

SQL>alter system set sga_max_size=1024m scope=spfile

然后需要重启数据库

SQL>shutdown immediate

SQL>startup

SQL>show sga即可看到SGA的大小已经被修改

重启之后,再修改sga_target

SQL>alter system set sga_target=1024m scope=both

您好,很高兴为您解答。

在Oracle11g数据库中,使用自动内存管理特性不再需要设定参数PGA_AGGREGATE_TARGET和SGA_TARGET,因为这两个参数都已经被修改成自动调优的,除非想指定PGA和SGA的最小值才需要设定这两个参数。在Oracle11g数据库中,则需要设置一个叫做MEMORY_TARGET的初始化参数,这个参数是指整个Oracle实例所能使用的内存大小,包括PGA和SGA的整体大小,在MEMORY_TARGET的内存大小之内,PGA和SGA所用的内存可以根据当前负载情况自动相互转换。如果当初始设定的MEMORY_TARGET的内存不够当前数据库使用的时候,Oracle11g还提供了另外一个初始化参数MEMORY_MAX_TARGET,当原始设定的内存不够使用的时候,可以手工来动态 调节MEMORY_TARGET的大小,但是不允许超过MEMORY_MAX_TARGET的值。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/10882741.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存