如何调整最佳PGS SIZEhtml
1. 首先估计一个 PGA_AGGREGATE_TARGET 参数值。
2. 使实例运行在预期的负载下,经过 Oracle 收集的 PGA 统计信息来监控系统性能,从而决定当前参数值是否适当。
3. 根据 PGA 顾问工具的统计数据来调整 PGA_AGGREGATE_TARGET 参数的值。java
SQL> show parameter workarea_size_policy NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ workarea_size_policy string AUTO
oracle 11g内存自动管理 sql
当用户启用了自动共享内存管理后,须要用户常常调整的内存组件将被Oracle自动地调整.这样的内存组件包括:数据库
用户无需显示地为这些内存组件设定容量,默认状况下这些组件的容量参数均显示为0.当某个内存组件须要扩展容量时,她将想系统发出请求,Oracle则经过内部的自动调节机制将其余组件的内存转移给她。上述过程对用户是透明的.服务器
oracle组件负责监控各个内存组件的性能.实例根据内部视图的信息及其余统计信息来决定如何在各个自动管理的组件间分配内存达到最优.这样,当工做负载改变时内存就可以被从新分配,从而确保系统在新负载下也能得到最优性能.内存分配调整算法会同时考虑系统运行的短时间与长期趋势.oracle
对于自动管理的内存组件,用户能够为其指定最小容量.当用户了解了其应用所需的各个内存组件的容量时,就可使用此功能.(我的观点:伴随业务的发展变化,设定其最小容量后,其内存需求也会随之变化,还不如保持其自动管理功能;真正须要关心的是能够适当调整总的pga_aggregate_target参数大小便可)ide
若是数据库使用了服务器参数文件(server parameter file->spfile),那么自动调整内存组件的参数在实例关闭后依然能被保留.系统下次启动时可使用上次关闭时保留的参数.工具
使用自动SGA内存管理的最大好处是:各个SGA组件的容量是灵活可变的.可以适应不一样的工做负载而无需用户干预.除了是可用内存最大化以外,自动共享内存管理还有助于提供系统性能.采用手工内存管理时,已编译的SQL语句可能会由于共享池容量不足而 被清除出共享池.这将致使频繁的硬解析(hard parse)进而影响系统性能.而启用了自动内存管理后,内部调节算法将监控系统性能,如认为增大共享池有助于减小硬解析的话就会对内存组件作出相应调整.此功能提升了系统性能,且无需想系统添加资源,也无需任何手工调整操做.性能
数据段收缩属于联机操做,当表的数据段被收缩时,此表依然能够进行查询或DML操做.此外,数据段收缩无需额外的存储空间.本地收缩与经过联机重定义的方式收缩相比更有优点.用户能够在夜间按期调度做业在执行数据库对象的收缩操做,而无需为数据库提供额外的存储空间.
采用了自动段空间管理(automatic segment space management)的表空间中,数据段收缩能够做用于
若是对带有索引的表进行数据段收缩操做,当数据行发生移动时oracle可以自动地维护索引.但用户自定义的触发器不会被触发,由于数据段收送属于物理操做,对应用程序没有影响.
一个服务能够跨越一个数据库的多个实例,还能够跨一个集群的多个数据库,而一个实例也可以支持多个服务.
每一个自动存储管理文件只能存在一个磁盘组内.但一个磁盘组能够存储属于不一样数据库的数据文件,一个数据库也可以使用多个磁盘组提供的存储资源.管理员能够为数据库指定一个或多个默认的磁盘组来存储其数据文件.
大部分数据库都会使用多个磁盘组.使用多个磁盘组的缘由以下:
Oracle instance -> ASMB(负责实例通讯) <--- asm instance
如何判断oracle是自动内存管理的?
参考意见:
经过查看命令:show parameter sga,显示若是sga_target值为0,表示手动管理;非0是自动管理.
SQL> show parameter sga NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ lock_sga boolean FALSE pre_page_sga boolean FALSE sga_max_size big integer 1584M sga_target big integer 0