| 導購 | 订阅 | 在线投稿
分享
 
 
 

Oracle並行服務器(OPS)經典FAQ12問

來源:互聯網  2008-05-31 22:07:46  評論

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)

)

)

  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)   )   )
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有