oracle 10g sga_target,Oracle 10g 中sga_max_size 和sga_target用法

每次要修改sga的时候,都发现把这两个参数记错了,今天整理了一下用法,但愿不会再忘记了[@more@]

一、oracle 10g中的SGA_MAX_SIZE与SGA_TARGET参数

sga_target是自动管理内存时使用的,这样你就不用设置DB_CACHE_SIZE,SHARED_POOL_SIZE等参数,他们会根据需要自动的进行调整的。

SGA_MAX_SIZE是从oracle9i以来一直存在﹐是不可动态修改的。

SGA_TARGET是oracle10g中用于实现自动SGA内存管理而新增加的。

SGA_MAX_SIZE指的是可动态分配的最大值﹐而SGA_TARGET是当前已分配的最大sga。

SGA_MAX_SIZE是不可以动态修改的﹔而SGA_TARGET是可动态修改﹐直到SGA_MAX_SIZE的值(当然这是在实例启动前已设定SGA_MAX_SIZE>SGA_TARGET的情况) 如果在实例启动时﹐SGA_MAX_SIZE < SGA_TARGET 或SGA_MAX_SIZE没设定﹐则启动后SGA_MAX_SIZE的值会等于SGA_TARGET的值。

二、在Oracle10g中使用SGA_TARGET参数自动管理SGA

在Oracle10g中,不必再如从前一样用下列各个参数分别指定SGA的每个部分的大小.也就是说不需要首先评估SGA各组件的大小,并且在

init.ora初始参数文件中分组件指定.(当然某些组件如果不不使用是可以不指定的.比如java_pool_size).

shared_pool_size

java_pool_size

large_pool_size

db_cache_size

在10g中可用一个新参数SGA_TARGET来设定实列所需的SGA最大值,并替代以上参数.

假设,将SGA_TARGET设置为152M,则表明SGA最大为152M. 所有SGA组件如shared pool, buffer cache,large pool, java pool都需从其中分配. Oracle会自动为各组件指定初始值,并在运行过程中动态地调整各组件的大小.毋须人工干预.

这样,只要设置了SGA_TARGET, 就毋须显式地定义shared pool,buffer pool,large pool和java pool的大小.

例如:定义SGA_TARGET=152M(block size为8k).

SQL> show parameter db_block_size

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

db_block_size integer 8192

SQL> show parameter sga_target

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

sga_target big integer 152M

Oracle会自动将内存分配给各组件:

SQL> show sga

Total System Global Area 159383552 bytes

Fixed Size 1218268 bytes

Variable Size 67111204 bytes

Database Buffers 88080384 bytes

Redo Buffers 2973696 bytes

使用sga_target参数有几点需要注意:

1. 当使用sga_target时, 若未设置sga_max_size,或设置了小于sga_target,则sga_max_size将等于sga_target.

SQL> show parameter sga

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

lock_sga boolean FALSE

pre_page_sga boolean FALSE

sga_max_size big integer 152M

sga_target big integer 152M

2. 当sga_target是可动态调整的,但其值不能大于sga_max_size.

SQL> alter system set sga_target=160M; alter system set sga_target=160M * ERROR at line 1: ORA-02097: parameter cannot be

modified because specified value is invalid ORA-00823: Specified value of sga_target greater than sga_max_size

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[1\],SGA_TARGETOracle数据库的一个参数,用于指定系统全局区(SGA)的目标大小。如果在查询SGA_TARGET时遇到ORA-00821错误,表示指定的值太小,需要至少为5504M。要查询SGA_TARGET的值,可以通过查看Oracle安装目录下的参数文件来获取。参数文件的路径为$ORACLE_HOME/dbs,文件名格式为init+数据库实例名+.ora。可以使用命令"echo $ORACLE_HOME"来查看Oracle安装目录。如果参数文件丢失,可以参考Linux下Oracle数据库参数文件丢失解决方法。通过使用vim编辑器打开参数文件,可以查看其的值。根据引用\[2\]和\[3\],可以使用ALTER SYSTEM SET语句来修改SGA_MAX_SIZE参数的值。例如,可以使用以下命令将SGA_MAX_SIZE设置为6442450944: ALTER SYSTEM SET sga_max_size = 6442450944 COMMENT='internally adjusted' SCOPE=SPFILE SID='INTOPAY'; 请注意,修改参数后需要重启数据库才能生效。 #### 引用[.reference_title] - *1* [Oracle 数据库修改配置文件sga_target参数的值,sga_target值太小导致数据库服务起不来问题解决,调大sga_...](https://blog.csdn.net/qq_38161040/article/details/118801809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Oracle 11g sga_target 参数设置](https://blog.csdn.net/weixin_39643679/article/details/116418724)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值