设为首页 收藏本站
查看: 1161|回复: 0

[经验分享] 从“如何修改oracle系统连接数”的总结(一)

[复制链接]

尚未签到

发表于 2016-8-6 07:02:08 | 显示全部楼层 |阅读模式
  上星期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.
DSC0000.jpg
  2.pfile & spfile
  更多pfile与spfile的描述可以查看:http://log-cd.iyunv.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 



  • sqlplus /nolog  
  • connect / as sysdba  
  • Create pfile='d:pfileSID.ora' from spfile;  
  • Create pfile='d:pfileSID.ora' from spfile='spfile_location';  

  


3.从pfile获取spfile 



  • shutdown immediate  
  • Create spfile from pfile='Your_pfile_location'  
  • Create spfile='spfile_location' from pfile='Your_pfile_location'  

  


4.动态修改参数 



  • alter system set parameter=Value scope=spfile|both|memory  

  

(1)scope=spfile 
对参数的修改仅记录在服务器初始化参数文件中。该选项同时适用于动态与静态的初始化参数。修改后的参数只有下一次启动数据库时更改才会生效。 
(2)scope=memory 
对参数的修改记录在内存中,对于动态初始化参数,更改立即生效。修改并不会被记录在服务器端的初始化参数中。下一次启动数据库时更改失效,不能用于静态初始化参数。 
(3)scope=both 
对参数的修改同时记录在内存中和服务器端的初始化参数文件中。为默认使用值。
  
  9.使用pfile/spfile启动数据库 
如果你想使用pfile启动数据库,你可以在启动时指定pfile或者删除spfile. 



  • startup pfile='E:\Oracle\admin\eyglen\pfile\init.ora';  

  

你不能以同样的方式指定spfile,但是可以创建一个包含spfile参数的pfile文件,指向spfile. 
SPFILE是一个自Oracle9i引入的初始化参数,类似于IFILE参数。SPFILE参数用于定义非缺省路径的spfile文件。可以在PFILE链接到SPFILE文件,同时在PFILE中定义其他参数,如果参数重复设置,后读取的参数将取代先前的设置。 

10.   查看系统是以pfile还是spfile启动 
(1)查询v$parameter动态视图,如果以下查询返回空值,那么你在使用pfile. 



  • SELECT name,value FROM v$parameter WHERE name='spfile';  

  

(2)可以使用SHOW命令来显示参数设置,如果以下结果value列返回空值,那么说明你在使用pfile: 



  • SHOW PARAMETER spfile  

  

(3)查询v$spparameter视图 
如果以下查询返回0值,表示你在使用pfile,否则表明你使用的是spfile: 



  • SELECT COUNT(*) FROM v$spparameter WHERE value IS NOT NULL;  

  

或者使用以下查询,如果true值返回非0值,那么说明我们使用的是spfile. 



  • select isspecified, count(*) from v$spparameter group  
  •  by isspecified;  

  
  
  14.init.ora.XXXXXXXX在$ORACLE_BASE/admin/{SID}/pfile/目录下。当database 通过DBCA (Database creation assistant)创建的时候, DBCA将创建一个init.ora文件用来创建database,这个时候,他将利用刚才创建的init.ora文件来创建spfile,然后再修改init.ora文件名到一个类似init.ora.XXXXXXXX。 
    XXXXXXXX is a timestamp of a sort。This init.ora.XXXXXXXX will not be used by Oracle afterwards, so modifiying it will not change the init parameters。 

  
  我本机上的oracle中就看到了E:\oracle\product\10.1.0\admin\orcl\pfile\init.ora.52820101397这样的文件,然后修改了process数量,然后在create pfile from spfile; 发现这个init.ora.52820101397文件是不会被修改的,并且没找到在哪里有创建pfile。。。还是在spfile里面找到了新配置的process的数量。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-253507-1-1.html 上篇帖子: 九大Oracle性能优化基本方法详解(转) 下篇帖子: 用Oracle归档日志进行数据库恢复的方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表