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) ) )
|