|
|
八:如何确定每个实例使用了多少个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
/ |
九:如何查看每个数据文件分配了多少个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
/ |
十:什么是pinging?
Pinging是进程,用于协调多实例对同一数据块的读写操作。OPS优化的一个挑战就是要最小化pinging。
十一:如何监控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
/ |
十二:如何设置一个对所有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)
)
) | | |
阅读(280) | 评论(0) | 转发(0) |