RAC那些事,概念

rac 全名Real Application Clusters,是ORACLE DATABASE 上的一个组件, 用共享存储的结构可以把1个数据库运行在多个分别计算的节点instance中 ,来提高了数据库的可用性,可以安装在企业版或标准版中,rac 出生于2001年的9I release 1, 以它的前身是oracle parallel server,rac 引入cache fusion机制提高实例间的资源同步。

BITMAP CONVERSION FROM/TO ROWIDS

sql就是根据条件一走btree索引把rowid转换为BITMAP,条件二也是走另一个btree索引把rowid转换为另一个BITMAP,然后两个BITMAP 再做and 合并,合并后的结果再转换为ROWID,表再根据rowid取会行记录过滤没有在索引上的其它条件

ORA-02049 ‘timeout: distributed transaction waiting for lock’ 解决

ORA-02049是一个分布式事务等待超时的异常,当一个session 持有一个行级锁,另一个分布式事务比如通过dblink也想修改相同行的数据,就会产生 tx队列等待,当等待时间超过了系统参数distributed_lock_timeout的值时,就产生了这个错误,任何通过通过DBLINK的操作都是分布式事物。