动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Oracle数据库连接池下如何跟踪终.
.Oracle9iAS Containers for J2EE.
.性检查的简单快捷方法(利用Post方.
.Oracle数据库全文索引设置步骤简.
.Oracle9i資料庫管理實務講座(一).
.Internal/Oracle的密码更改用什么.
.Oracle RMAN快速入门指南.
.Oracle9i的简化SQL语法.
.美国医疗机构的下一个目标:无纸.
.oracle下导出某用户所有表的方法.
.Oracle常見問題集(一).
.Oracle9i(9.2.0.4) Installation.
.oracle的net configure assistan.
.MYSQL到ORACLE程序迁移的注意事项.
.Oracle数据库手工扩大表空间三步.
.找出哪些table没有primary key.
.Oracle版本号的格式.
.Oracle 9i查询使用数据库的用户.
.Oracle用Start with...Connect B.
.Oracle ORA-00903错误具体原因分.

ORACLE 服务器的配置及优化

发表日期:2008-2-9 |



  1.在Oracle中实现分布式快速存取和充实内存是很重要的。
  
  要不惜任何代价避免页面调度和交换﹐每次都必须把系统全局区(SGA)放到内存。
  
  将SGA放到内存中﹐在INIT.ORA中设置参数 PRE_PAGE_SGA
  
  PRE_PAGE_SGA=YES
  
  2.回卷段的竟争会降低系统的性能。
  
  SELECT GETS,WAITS FROM V$ROLLSTAT;
  
  GETS代表回卷段被访问的次数
  
  WAITS代表进程等待回卷段中哪个进程的次数
  
  假如GETS与WAITS的比大于2%表示存在竟争问题
  
  解决办法是创建更多的回卷段。
  
  有两种类型的锁存竟争会产生严重的后果﹕立即锁存(IMMEDIATE)和等待(WAIT)锁存。
  
  等待锁存的计算公式﹕
  
  WAIT CONTENTION=(MISSES/(GETS+MISSES))*100
  
  立即锁存的计算公式﹕
  
  IMMEDIATE CONNECTION=(IMMEDIATE_MISSES/(IMMEDIATE_GETS+IMMEDIATE_MISSES))*100
  
  假如任何一个值>0则就存在对锁存的竟争
  
  假如发生恢复分配锁存的竟争﹐可以减小INIT.ORA中的LOG_SMALL_ENTRY_MAX_SIZE的参数值。假如发生恢复复制竟争﹐可以增大INIT.ORA中的LOG_SIMULATANOUS_COPIES的参数值。
  
  任何回卷段的OPTIMAL参数的设置不能太小﹐假如OPTIMAL  
  SELECT CLASS,COUNT FROM V$WAITSTAT WHERE UPPER(CLASS) IN ('SYSTEM UNDO HEADER)','SYSTEM UNDO BLOCK',
  
  'UNDO HEADER','UNDO BLOCK');
  
  SELECT SUM(VALUE) FROM V$SYSSTAT WHERE UPPER(NAME)
  
  IN ('DB BLOCK GETS','CONSISTENT GETS');
  
  第一条查询中的每一类与第二条查询中的比率最好<0.01
  
  3.提高缓冲区的效率。
  
  SELECT RELOADS,PINS FROM V$LIBRARYCACHE;
  
  RELOADS存入SQL命令被加载和分解的次数
  
  PINS存入数据库对SQL高速缓冲区查找一条语句的次数
  
  假如RELOADS与PINS的比率大于1%则应增加INIT.ORA中的SHARED_POOL_SIZE的参数值。
  
  SELECT GETMISSES,GETS FROM V$ROWCACHE;
  
  假如RELOADS与PINS的比率大于10%则应增加INIT.ORA中的
  
  SHARED_POOL_SIZE的参数值。
  
  4.用户任何时点拥有的打开光标的最大数
  
  修改INIT.ORA中的OPEN_CURSORS的参数值。
  
  与高速缓存有关的是游标在会话中的缓存方式。
  
  在INIT.ORA中增加 SESSION_CACHED_CURSORS=100
  
  5.SELECT SUM(GETS),SUM(GETMISSES) FROM V$ROWCACHE;
  
  必须使GETMISSES比率接近0, 为了优化性能﹐可以增加INIT.ORA中的参数SHARED_POLL_SIZE和DB_BLOCK_BUFFERS的值。
  
  6.SELECT NAME,VALUE FROM V$SYSSTAT WHERE UPPER(NAME) IN
  
  ('SORTS(MEMORY)','SORTS(DISK)');
  
  假如用于磁盘上的排序量较高﹐可以增加INIT.ORA中的SORT_AREA_SIZE的值。
  
  7.LGWR的日志文件假如切换太快会影响数据库的活动﹐导致性能的下将。
  
  在INIT.ORA 中 CHECKPOINT_PROCESS=TRUE
  
  LOG_CHECKPOINT_INTERVAL=10000
  
  LOG_CHECKPOINT_TIMEOUT=1800
  
  8.多线程服务器(MTS)的配置
  
  1> MTS_SERVICE
  
  这是调度程序用来向SQL*NET监听器注册服务的服务名。
  
  最好取和SID相同的名称。
  
  2>MTS_DISPATCHERS
  
  配置调度进程的数目。
  
  3>MTS_MAX_DISPATCHERS
  
  配置调度进程的最大数目。
  
  4>MTS_SERCERS
  
  启动共享服务器的最初数目。
  
  5>MTS_MAX_SERVERS
  
  设置共享服务器的最大数目。

  
  6>MTS_LISTENTER_ADDRESS
  
  这是调度程序用来向SQL*NET监听器注册服务的服务名的地址。
  
  一个MTS的配置例子:
  
  在INIT.ORA中
  
  mts_listener_address='(ADDRESS=(PROTOCOL=TCP)(KEY=MYDB))'
  
  mts_dispatchers='tcp,10'
  
  mts_dispatchers='ipx,2'
  
  mts_max_dispatchers=10
  
  mts_max_servers=10
  
  mts_servers=2
  
  在LISTENER.ORA中应包括下类似的内容:
  
  LISTENER=
  
  (ADDRESS_LIST=
  
  (ADDRESS=
  
  (PROTOCOL=IPX)
  
  (KEY=MYDB)
  
  )
  
  (ADDRESS=
  
  (PROTOCOL=TCP)
  
  (HOST=OURHOST)
  
  (PORT=1521
  
  )
  
  STARTUP_WAIT_TIME_LISTENER=0
  
  CONNECT_TIMEOUT_LISTENER=10
  
  TRACE_LEVEL_LISTENER=ADMIN
  
  SID_LIST_LISTENER=
  
  (SID_LIST=
  
  (SID_DESC=
  
  (SID_NAME=MYDB)
  
  )
  
  )
  
  添加MTS参数之后要重新启动数据库。
  
  在SQL*PLUS下用PS命令检查共享服务器和调度程序是否存在。
  
  ? PS -EFGREP FOXMOLD;
  
  具有ORA_SNNN_SID和ORA_DNNN_SID名称的进程分别是共享服务器和调度进程。
  
  SELECT USERNAME,PROGRAM,SERVER FROM V$SESSION WHERE AUDSID=USERENV('SESSIONID');
  
  在SERVER列中返回的值应该是SHARED,假如是DEDICATED,就说明没有正确配置MTS.
  
  用LSNRCTL SERVICES命令来检查调度程序是否向监听器登记了服务。
  
  8.移动数据库文件
  
  第一种方法﹕(ALTER DATABASE)
  
  关闭数据库-移动数据文件-装载并改名-启动
  
  1>SVRMGRL
  
  2>CONNECT INTERNAL
  
  3>SHUTDOWN
  
  4>EXIT
  
  5>MV /U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF   /DB3/ORADATA
  
  6>SVRMGRL
  
  7>CONNECT INTERNAL
  
  8>STARTUP MOUNT FOXMOLD
  
  9>ALTER DATABASE RENAME FILE
  
  '/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF' TO
  
  '/DB3/ORADATA/USER01.DBF'
  
  10> ALTER DATABASE OPEN
  
  第二种方法﹕(ALTER TABLESPACE)
  
  关闭数据库-移动数据文件-装载并改名-启动
  
  1>SVRMGRL
  
  2>CONNECT INTERNAL
  
  3>SHUTDOWN
  
  4>EXIT
  
  5>MV /U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF   /DB3/ORADATA
  
  6>SVRMGRL
  
  7>CONNECT INTERNAL
  
  8>ALTER TABLESPACE DATA RENAME DATAFILE
  
  '/U/PRODUCT/ORADATA/FOXMOLD/USER01.DBF' TO
  
  '/DB3/ORADATA/USER01.DBF'
  
  9> ALTER DATABASE OPEN
  
  9. 统计分析
  
  SPOOL C:\ANALYZE.SQL
  
  SELECT  'ANALYZE TABLE 'TRIM(OBJECT_NAME)'  COMPUTE  STATISTICS; '
  
  FROM USER_OBJECTS
  
  WHERE OBJECT_TYPE='TABLE'
  
  然后运行analyze.sql文件即可
  
  最后,对TABLESPACE碎片进行清理.
  
  SELECT TABLESPACE_NAME, PERCENT_BLOCKS_COALESCED
  
  FROM DBA_FREE_SPACE_COALESCED
  
  去看那一个TABLESPACE对应的值不是100的就运行如下命令:
  
  ALTER TABLESPACE TABLESPACE_NAME COALESCE
  
  注重:假如TABLESPACE的值为100就没有必要作此命令.
  
  10.移动TABLE INDEX 到另一个TABLESPACE
  
  1>SPOOL C:\MV_INDEX.SQL
  
  2>SELECT 'ALTER INDEX 'TRIM(OBJECT_NAME)' REBUILD TABLESPACE FOXMOLD1;
' FROM USER_OBJECTS WHERE OBJECT_TYPE='INDEX'
  
  3>将此命令生成MV_INDEX.SQL文件
  
  4>@C:\MV_INDEX.SQL
  
  11.MAINTAINING THE CONTROLFILE
  
  1>SVRMGRL
  
  2>CONNECT INTERNAL
  
  3>SHUTDOWN
  
  4>EXIT
  
  5>CP /U/PRODUCT/ORADATA/FOXMOLD/CONTROL01.CTL
  
  /DB4/ORADATA/CONTROL01.CTL
  
  6>CHMOD 660 /DB4/ORADATA/CONTROL01.CTL
  
  7>修改INIT.ORA CONTROL_FILES=……
  
  8>STARTUP MOUNT FOXMOLD
  
  12.MAINTAINING REDO LOG FILE
  
  1>SHUTDOWN
  
  2>EXIT
  
  3>CP /DISK1/*.RDO /DISK4/*.RDO
  
  4>CHMOD 660 /DISK4/*.RDO
  
  5>STARTUP MOUNT FOXMOLD
  
  13.RECOVER SYNTAX
  
  A.RECOVER A CLOSED DATABASE
  
  1>RECOVER DATABASE
  
  2>RECOVER DATAFILE '/DISK1/DF2.DBF'
  
  3>ALTER DATABASE RECOVER DATABASE
  
  B.RECOVER AN OPEN DATABASE
  
  1>RECOVER TABLESPACE USER_DATA
  
  2>RECOVER DATAFILE 2
  
  3>ALTE
上一篇:浅谈Oracle中优化SQL的原则 人气:620
下一篇:Oracle内存结构:Shared Pool的详细信息 人气:662
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号