Oracle技巧:用v$session_longops跟踪DDL语句
Oracle数字字典包含一个鲜为人知的v$session_longops视图。v$session_longops视图可以使Oracle专家减少运行时间很长的DDL和DML语句的运行时间。
例如在数据仓库环境中,即使使用并行索引创建技术,构建一个很多G字节大的索引需要耗费很多个小时。这里你就可以查询v$session_longops视图快速找出一个特定的DDL语句已经完成了多少。其实v$session_longops视图也可以用于任何运行时间很长的操作,包括运行时间很长的更新操作。
下面的脚本将显示一个状态信息,说明了运行时间很长的DDL操作已经使用的时间。注意你必须从v$session中取得SID并将其插入到下面的SQL语句中:
select
sid,
message
from
v$session_longops
where
sid = 13
order by
start_time;
这里是一个输出的例子,显示了运行时间很长的CREATE INDEX语句的运行过程。
SID MESSAGE
--- -------------------------------------------------------------------
11 Table Scan: CUST.PK_IDX: 732 out of 243260 Blocks done
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
练习:
drop table Employee;
create table Employee(
id number primary key,
  ......
oracle.client 9.0.1.0.0
├1-Oracle Programmer 9.0.1.0.0
│ ├Oracle Call Interface (OCI) 9.0.1.0.0
│ ├Object Type Translator 9.0.1.0.0
│ └Pro*C/C++ 9.0.1.0.0
├2-Oracle Enterprise Manager Products 9.0.1.0.0
│ └Oracle Enterprise Manager Cli ......
ORACLE下删除当前用户下所有对象的SQL
Sql代码
--删除某个用户下的对象
set heading off;
set feedback off;
spool c:\dropobj.sql;
prompt --Drop constraint
select 'alter t ......