日期:2014-05-16  浏览次数:20328 次

点评Oracle11g新特性:在线操作功能增强

【IT168 Oracle】11g中在线处理功能得到了很大增强,其中包括在线修改表结构,在线创建或重建索引,建立不可见索引,表增加非空字段,在线DDL以及对象依赖性细化等。

??? 在11g以前,DDL操作都要获取对象的排他锁,如果当时无法获取,则会马上报错:

SQL> conn yangtk/yangtk@ytk102已连接。
SQL> create table t (id number);
表已创建。
SQL> insert into t values (1);
已创建 1 行。

??? 在当前会话不提交,保持对t表的锁。然后在另外的session登陆,尝试对t表进行ddl操作:?

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->SQL> conn yangtk/yangtk@ytk102已连接。 SQL> set sqlp 'SQL2> ' SQL2> truncate table t; truncate table t *1 行出现错误: ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源 SQL2> drop table t; drop table t *1 行出现错误: ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源 SQL2> alter table t add name varchar2(10); alter table t add name varchar2(10) *1 行出现错误: ORA-00054: 资源正忙, 但指定以 NOWA