oracle 怎么设置sga

哎呀...这个Oracle SGA设置真是麻烦...我当时一头雾水...后来才意识到...一共三步...
第一步...首先你需要计算SGA的总大小...这个东西...由几个块组成...需要用一个公式来计算...这个公式...是:
SGA大小 = db_block_size × db_cache_size + shared_pool_size + java_pool_size + log_buffer
看看什么每个块意味着:
db_block_size:这是数据库块的大小...通常...它是 8 KB 或 1 6 KB...它应该与您实际的数据库配置相同... db_cache_size:这是BufferCache的大小...应该根据你访问数据的方式来调整...例如...构建一个OLTP系统...我听说...可以设置为总内存的4 0%到6 0%... shared_pool_size:这是SharedPool的大小...建议...设置为总内存的2 0%到3 0%...主要用于存储SQL分析信息... java_pool_size:这是JavaPool的大小...如果您不使用Java程序...只需将其减小...例如,6 4 MB就足够了... log_buffer:这是日志缓存大小...通常设置在6 4 KB和1 2 8 KB之间...
让我给你一个具体的例子...就在2 02 2 年...我在上海...创建一个数据库...假设db_block_size是8 KB...db_cache_size是2 GB...shared_pool_size是5 -1 2 MB...java_pool_size是2 5 6 MB...log_buffer是1 2 8 KB...计算后...SGA的总大小为2 .7 5 GB...
第二步...需要更改SGA设置...需要使用SYSDBA权限连接数据库...
首先查看当前设置...只需运行命令: select from v$sga;...看看现在SGA是如何配置的...
然后...调整组件的大小...例如:
BufferCache: altersystem set db_cache_size=2 G范围=文件sp; SharedPool:altersystem设置shared_pool_size=5 1 2 M范围=spfile; JavaPool: altersystem set java_pool_size=2 5 6 M 范围=spfile; LogBuffer: altersystem set log_buffer=1 2 8 Kscope=spfile;
注意...scope=spfile...表示设置更改只写入设置文件...需要重启才能生效...如果希望立即生效...可以设置为scope=both...但是...有些设置不支持这个...
第三步...重启数据库...让配置生效...
首先关闭实例...运行命令:immediate shutdown;...Make确定是干净关机...
然后...启动实例...执行startup;...以便可以重新加载设置文件...
启动后...需要再次检查v$sga视图...确认SGA的总大小以及各个组件的值...是否与预期相同...
几点...这很重要...
备份设置文件:修改前...确保保存SPFILE或PFILE...以防配置错误...数据库无法访问开始...然后就会有问题... 内存限制:确保SGA的总大小...不超过操作系统可用物理内存的8 0%...否则...将很容易交换内存... 动态调整:Oracle1 1 g及以上...支持动态调整一些参数...如altersystem setdb_cache_size=...scope=内存;...这样...不需要重新启动... AMM/ASMM:如果启用自动内存管理(即设置MEMORY_TARGET参数)...那么Oracle会自动分配SGA/PGA...到时候...你手动设置的一些参数...可能会被覆盖...
就...以上...可以科学配置SGA...优化数据库性能...尤其是高并发场景...效果相当显着...

win7下oracle配置

Win7 装有Oracle数据库,直接说:
1 .安装Oracle客户端、基础环境。
2 . 运行NetConfigurationAssistant工具。
3 . 选择本地网络服务名称配置。
4 .填写服务名称,默认为orcl。
5 、采用TCP协议,可靠传输。
6 . 填写主机名,与服务器计算机的名称相对应。
7 . 测试链路并验证配置。
8 . 输入网络服务名称,方便后续连接。
9 . 完成后,管理、查看或修改配置。