日期:2014-05-16  浏览次数:20520 次

从“如何修改oracle系统连接数”的总结(一)

上星期aaron提出一个"如何修改Oracle数据库的系统连接数"的问题,我反正不需要回答,之后就没去想。

?

今天看到了rex的答案,总觉得哪里有点怪怪的,和我google出来的东西稍微有点出入,借此机会就稍微多点学习了下oracle这方面的系统配置,也与rex有了些交流,特此记录一笔。

?

Terminology:

1.sga(system global area) & pga(process global area)

? ? ? SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。

  PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的SGA 正相反PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收.?

?

查看sga:show parameter sga;或 select * from v$sga;

查看pga:show parameter pga;或 select?* from v$pgastat;

?

修改pga:alter system set pga_aggregate_target=512m scope=both;

?

ORACLE to the proposal: OLTP systems PGA = (Total Memory) * 80% * 20%. DSS systems PGA = (Total Memory) * 80% * 50%.

这里的OLTP(Online Transaction Processing)指的是在线事务处理,特点有:应用程序具有高的吞吐量,并且是Update、Insert 的密集型。如订票系统、订货系统等

DSS(Decision Support System)指的是决策支持系统,特点有:1)响应时间;2)精确性;3)可用性

具体可以查看http://ezinearticles.com/?OLTP-vs-DSS-systems&id=342276

?

The illustration show the different composing between SGA and PGA.

2.pfile & spfile

更多pfile与spfile的描述可以查看:http://log-cd.iteye.com/blog/319280,一下是一些摘自这个博客的内容,觉得比较受用的就再次引用一下了。

?

? ? pfile(Initialization Parameter File)用于Oracle8i,在oracle9i中也可以用,以文本形式存在,可以用文本编辑器对其中参数进行修改。?
? ? spfile(Server-Side Initialization Parameter File)用于oracle9i,以二进制文本形式存在,不能用文本编辑器对其中参数进行修改。Spfile改正了pfile管理混乱的问题,在多结点的环境里,pfile会有多个image,启动时候需要跟踪最新的image。这是个烦琐的过程。用spfile以后,所有参数改变都写到spfile里面(只要定义scope=spfile或both)

?

1.查看spfile的位置:

?

show parameter spfile/pfile;
?

?

我本机不论使用spfile还是pfile返回的都是spfile的位置: E:\ORACLE\PRODUCT\10.1.0\DB_1\DATABASE\SPFILEORCL.ORA

?

2.从spfile获取pfile?

  1. sqlplus?/nolog??
  2. connect?/?as?sysdba??
  3. <