Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

0

积分

0

好友

11

主题
1#
发表于 2012-12-6 20:38:54 | 查看: 5389| 回复: 6
我在10g (Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod)下做同样的实验,数据库能当时就检测出死锁,但我在11g (Enterprise Edition Release 11.2.0.3.0),下却一直阴在那儿,
是不是11g对死锁的定义不一样,还是因为数据库什么参数的配置导致(我没的找到),
求高手解答?

以下是我的实验过程:

创建表,并插入两条记录:
create table twtt0(id int ,name varchar2(10));
insert into twtt0 values(1,'aaa');
insert into twtt0 values(2,'bbb');
commit;

打开一个会话,叫会话1,执行:
update twtt0 set name='bbb222' where id=2;

再打开 一个会话,叫会话2,执行:
update twtt0 set name='aaa111' where id=1;

update twtt0 set name='bbb222afdf' where id=2;

都不提交,再回到第一个会话,执行:
update twtt0 set name='aaa111aaaa' where id=1;

这是就一直阻塞在那儿,没有任何提示,而在10g上就会提示死锁。


2#
发表于 2012-12-6 22:11:16
不知道你有没有设置什么参数, 是否是RAC环境

在我的环境中
  1. session 1:


  2. SQL> select * from v$version;

  3. BANNER
  4. --------------------------------------------------------------------------------
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  6. PL/SQL Release 11.2.0.3.0 - Production
  7. CORE    11.2.0.3.0      Production
  8. TNS for Linux: Version 11.2.0.3.0 - Production
  9. NLSRTL Version 11.2.0.3.0 - Production


  10. SQL> update twtt0 set name='bbb222' where id=2;

  11. 1 row updated.

  12. session 2:

  13. SQL> update twtt0 set name='aaa111' where id=1;

  14. 1 row updated.



  15. SQL> update twtt0 set name='bbb222afdf' where id=2;
  16. update twtt0 set name='bbb222afdf' where id=2


  17. session 1:

  18. SQL> update twtt0 set name='aaa111aaaa' where id=1;


  19. session 2:

  20.        *
  21. ERROR at line 1:
  22. ORA-00060: deadlock detected while waiting for resource


  23. 3s内 死锁自动检测到
复制代码
死锁检测 更多可以参考 Know more about Enqueue Deadlock Detection http://www.oracledatabase12g.com ... lock-detection.html

回复 只看该作者 道具 举报

3#
发表于 2012-12-6 22:15:11
我的是RAC 环境,参数配置如下:
*._PX_use_large_pool=true
*._enable_NUMA_optimization=false
*._gby_hash_aggregation_enabled=false
*._gc_policy_time=0
*._optim_peek_user_binds=FALSE
*._use_adaptive_log_file_sync='FALSE'
*.audit_file_dest='/oracle/app/oracle/admin/shzw/adump'
*.audit_trail='NONE'
*.cluster_database=true
*.compatible='11.2.0.0.0'
*.control_files='/oradata04/ctl/control02.ctl','/oradata03/ctl/control01.ctl'
*.cursor_sharing='EXACT'
*.db_block_size=8192
*.db_cache_size=32G
*.db_file_multiblock_read_count=128
*.db_files=8192
*.db_name='shzw'
*.db_securefile='PERMITTED'
*.diagnostic_dest='/oracle/app/oracle'
*.fast_start_mttr_target=300
shzw1.instance_number=1
shzw2.instance_number=2
*.job_queue_processes=64
*.large_pool_size=512M
*.lock_sga=FALSE
shzw1.log_archive_dest_1='LOCATION=/shzwarch1/archivelog'
shzw2.log_archive_dest_1='LOCATION=/shzwarch2/archivelog'
*.log_archive_format='arch_%t_%s_%r.arc'
*.max_dump_file_size='UNLIMITED'
*.open_cursors=1000
*.open_links=8
*.parallel_adaptive_multi_user=TRUE
*.parallel_execution_message_size=16384
*.parallel_force_local=true
*.parallel_max_servers=512
*.pga_aggregate_target=16G
*.processes=15000
*.recyclebin='off'
*.remote_login_passwordfile='none'
*.resource_limit=true
*.session_cached_cursors=20
*.sessions=16505
*.sga_max_size=96G
*.sga_target=0
*.shared_pool_reserved_size=208M
*.shared_pool_size=8G
shzw1.thread=1
shzw2.thread=2
*.undo_retention=10800
shzw1.undo_tablespace='undotbs1'
shzw2.undo_tablespace='undotbs2'

回复 只看该作者 道具 举报

4#
发表于 2012-12-6 22:16:50
这是就一直阻塞在那儿,没有任何提示,而在10g上就会提示死锁。

你是根据有没有提示死锁来判断的?

你可以通过SQL 查询:

col event    for a30
col username for a15
select sid,serial#,username, event, sql_hash_value,sql_id, last_call_et as "times(s)",p1, p2, p3
  from  v$session
where WAIT_CLASS <> 'Idle'
order by event,last_call_et desc
/

另外RAC,要查询全局视图GV$

回复 只看该作者 道具 举报

5#
发表于 2012-12-6 22:30:04
我判断了。

回复 只看该作者 道具 举报

6#
发表于 2012-12-6 22:31:21
刘老大的博客中:
http://www.oracledatabase12g.com/archives/know-more-about-enqueue-deadlock-detection.html

提到的enqueue request time
如果使用update table set col1=value1 where col2=value2;
这种形式的enqueue request time是多少?
是不是0?

回复 只看该作者 道具 举报

7#
发表于 2012-12-7 11:15:41
"enqueue request time是多少?"

你说的是 "request timeout"?

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-25 14:08 , Processed in 0.047640 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569