Oracle 11g R2新增参数:DDL_LOCK_TIMEOUT

WBOY
リリース: 2016-06-07 17:05:50
オリジナル
1189 人が閲覧しました

更新一个表时,在提交之前Oracle会在这个表上加上1个TM锁,确保表的结构不会改变。这个时候,如果另一个会话在该表格上执行alter

更新一个表时,在提交之前Oracle会在这个表上加上1个TM锁,确保表的结构不会改变。
这个时候,,如果另一个会话在该表格上执行alter或者drop命令,就会立即得到以下错误信息:

tony@ORA11GR2> drop table t;
drop table t
           *
第 1 行出现错误:
ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效

在Oracle11gR2中,可以设定DDL_LOCK_TIMEOUT参数让DDL等待。
例如在执行DROP TABLE之前,执行
alter session set ddl_lock_timeout=30;
让drop table等待30秒,如果30秒内,另外那个锁定待删除表格的会话提交或者回滚了事务,
这个drop table命令就会得到执行,否则就会在30秒后产生1个ORA-00054:错误。

linux

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!