庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>认证考试>ORACLE认证>培训资源>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

Oracle并行服务器(OPS)十二问

 作者:本站收集   日期:2005-3-23
字号选择〖 〗/ 双击滚屏 单击停止   


  本文以问答的方式阐述了Oracle并行服务器的相关概念。

1、什么是OPS

   OPS(Oracle Parallel Server)可以让位于不同系统的多个实例同时访问同一个数据库。并行服务器可以有效地提高系统的可用性和对多系统的访问性能,但是,如果你的数据没有做很好的分割,性能可能还会下降。

   安装OPS时,多个实例mount同一数据库文件,实例间的通讯由分布式锁管理器(DLM)来管理。需要注意的是分布式锁管理器与你所使用的硬件和操作系统有着密切的关系。为了确定多个企图同时修改同一数据的实例,Oracle使用了十个后台进程:LCK0-LCK9,来锁定某一实例所使用的资源。

   OPS主要用于UNIX/LINUX集群环境中。

2、OPS的优点

   1)高可用性

   2)加快事务响应时间 - 可用于决策支持系统

   3)增大交易连接数 - 可用于联机事务处理系统

3、所有的应用都是适合OPS吗?

   可以根据功能或数据进行分割的应用最适合OPS。那些有"热数据"(经常被多实例同时访问的数据)的应用并不适合使用OPS。

4、OPS需要特殊的硬件吗?

   OPS要求服务器之间互连并共享磁盘子系统。所有可以做成集群的系统都可以,常用的有UNIX/LINUX和NT等。

5、如何设置OPS?

   1)关闭数据

   2)启用OPS选项,在UNIX中通过重新连接Oracle软件的方式来完成。

   3)使Oracle软件在所有节点上都有效,可以通过复制软件到其他节点或共享磁盘的方式来完成。

   4)每个实例要有自己的Redo log file,所以要增加必要的log文件:

   ALTER DATABASE ADD LOGFILE THREAD 2

   GROUP G4 ('RAW_FILE1') SIZE 500k,

   GROUP G5 ('RAW_FILE2') SIZE 500k,

   GROUP G6 ('RAW_FILE3') SIZE 500k;

   ALTER DATABASE ENABLE PUBLIC THREAD 2;

   5)每个实例要有自己的回滚段,所以要增加必要的回滚段:

   CREATE ROLLBACK SEGMENT RB2 TABLESPACE RBS;

   6)编辑初始化参数文件initSID.ora文件,添加如下几项:

   PARALLEL_SERVER = TRUE

   INSTANCE_NUMBER = 1

   THREAD = 1

   ROLLBACK_SEGMENTS = (r01, r02, r03, r04)

   7)创建OPS所需的数据字典,即运行CATPARR.SQL。

   8)在所有的节点上启动实例。
6、如何确定一个数据库是运行在并行状态?

   show parameter parallel_server

7、如何跟踪活动的实例?

   SELECT * FROM SYS.V_$ACTIVE_INSTANCES;

   SELECT * FROM SYS.V_$THREAD;

8、如何确定每个实例使用了多少个PCM锁?

   select count(*) "Number of hashed PCM locks"

   from v$lock_element where bitand(flags, 4) != 0

   /

   select count(*) "Number of fine grain PCM locks"

   from v$lock_element where bitand(flags, 4) = 0

   /

9、如何查看每个数据文件分配了多少个PCM锁以及ping率?

   col file_name format a29

   col tablespace format a12

   col blocking format 9999999

   col nlocks format 99999

   col start_lk format 9999999

   select l.file_id || ' ' || l.file_name file_name,

   l.ts_name "TABLESPACE",

   start_lk, nlocks, blocking, frequency "PING COUNT"

   from sys.file_ping p, sys.file_lock l

   where l.file_id = p.file_id

   order by l.file_id

   /
10、什么是pinging?

   Pinging是进程,用于协调多实例对同一数据块的读写操作。OPS性能优化的一个挑战就是要
最小化pinging。

11、如何监控PCM锁的活动情况?

   查看当前实例活动PCM锁的总数:select * from sys.v$lock_activity;

   查看每个数据库对象的PCM锁活动状况:

   col table format a40

   select file#, kind||' '||username||'.'||name "TABLE", sum(xnc) pings

   from sys.v$false_ping p, sys.dba_users u

   where u.user_id = p.owner#

   group by file#, kind||' '||username||'.'||name, xnc

   order by xnc desc

   /

12、如何设置一个对所有OPS实例通用的SQL*Net连接串?

   1)首先要求所有节点上的SID相同,如果不相同可以按如下操作进行更改:

   关闭数据库的所有实例

   将ORACLE_SID环境变量设成一致

   复制原来的初始化文件initOLDSID.ora为initCOMMON.ora

   重起所有实例

   2)编辑本地TNSNAMES.ora,如下例:

   PHOENIX =

   (DESCRIPTION =

   (ADDRESS_LIST =

   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.50)(PORT = 1521))

   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.51)(PORT = 1521))

   )

   (CONNECT_DATA =

   (SERVICE_NAME = ora8)

   )

   )
(中国程序员)    

上一篇:ORACLE应用常见傻瓜问题1000问(之一)    下一篇:我学Oracle和考OCP的经验  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-3-23
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿