ORACLE 内存管理
Oracle 9i动态SGA管理
在Oracle 9i中,可以设置SGA_MAX_SIZE,该参数用以控制各缓冲池使用的内存总和,本质上是在进程中预先分配一段虚拟地址备用而不分配物理内存,目的是防止和进城私有地址段的冲突。
只要总的SGA内存设置不超过SGA_MAX_SIZE的设置,更改都可以立即生效。需要注意的是,在Oracle 9iR1中,动态减小内存设置会触发一些Bug。
当在动态修改内存参数时,需要注意:
修改的内存大小必须是粒度大小(GRANULE)的整数倍,否则会自动向上取整;
SGA的总大小不能超过SGA_MAX_SIZE;
SGA最低配置为3个粒度,一个粒度用于固定的SGA(包括重做缓冲区),一个粒度用于缓冲区高速缓存,一个粒度用于共享池。
伴随动态SGA管理的新特性,Oracle推出了一系列内存设置建议功能,同时引入了一系列动态性能视图:
SQL> select tname from tab
2 where tname like '%ADVICE%';
TNAME
------------------------------
GV_$DB_CACHE_ADVICE
GV_$MTTR_TARGET_ADVICE
GV_$PGATARGET_ADVICE_HISTOGRAM
GV_$PGA_TARGET_ADVICE
GV_$SHARED_POOL_ADVICE
V_$DB_CACHE_ADVICE
V_$MTTR_TARGET_ADVICE
V_$PGA_TARGET_ADVICE
V_$PGA_TARGET_ADVICE_HISTOGRAM
V_$SHARED_POOL_ADVICE
缓冲区高速缓存建议受初始化参数DB_CACHE_ADVICE控制,该参数为动态参数,可用的值有:
OFF:关闭建议并且不为建议分配内存;
ON:开启建议并且CPU和内存开销都会发生;
READY:关闭建议但是仍然保存为建议分配的内存。
SQL> show parameter db_cache_advice
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_cache_advice string ON
SQL> select id,name,block_size,size_for_estimate sfe,size_factor sf,
2 estd_physical_read_factor eprf,estd_physical_reads epr
3 from v$db_cache_advice;
ID NAME 
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
Step1. Insert empty_clob() into the Clob column of Oracle
Step2. Set autocommit to false
Step3. Select Clob as oracle.sql.CLOB from database
Step4. Insert String into Clob
Step5. Commit
Example:
import java.sql.*;
import java.io.*;
import oracle.jdbc.driver.OracleResultSet;
......
转载
from: http://cid-4e5d038451e31a25.spaces.live.com/blog/cns!4E5D038451E31A25!140.entry
create or replace procedure P_QuerySplit(
sqlscript varchar2, --表名/SQL语句
pageSize integer, ......
是想生成GUID吗?
SQL> select sys_guid() from dual ;
SYS_GUID()
--------------------------------
F18031C69D8345DEB305D4B2E796A282
你可以把表的主键字段的缺省值设为sys_guid()
insert into luxian_info (id) values(sys_guid()); ......