转自yangtingkun
在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。
Popularity: 25% [?]
我们先看看在表没有分析无统计数据情况下的表现
SQL> alter session set cursor_sharing = similar;
Session altered.
SQL> select name,value from v$sysstat where name like ‘%parse%’;
NAME VALUE
—————————————————————- ———-
parse time cpu 4948
parse time elapsed 4468
parse count (total) 170148
parse count (hard) 1619 (硬分析次数)
parse count (failures) 80
阅读全文 »
Popularity: 22% [?]
IMP-00017: 由于 ORACLE 的 6550 错误,以下的语句失败
”DECLARE SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := ’3238453435363030363″
”642423131443841314237303030433736343937414631′; SREC.MAXVAL := ’32384534353″
”63031363642423131443841314237303030433736343937414631′; SREC.EAVS := 4; SRE”
”C.CHVALS := DBMS_STATS.CHARARRAY(DECLARE SREC DBMS_STATS.STATREC; BEGIN SR”
”EC.MINVAL := ’3238453435363030363642423131443841314237303030433736343937414″
”631′; SREC.MAXVAL := ’32384534353630313636424231314438413142373030304337363″
”43937414631′; SREC.EAVS := 4; SREC.CHVALS := DBMS_STATS.CHARARRAY(,垚); ”
”SREC.NOVALS := DBMS_STATS.NUMARRAY(260756140765309000000000000000000000,260″
”756140765309000000000000000000000); SREC.BKVALS := DBMS_STATS.NUMARRAY(0,1)”
”; SREC.EPC := 2; DBMS_STATS.SET_COLUMN_STATS(NULL,’”ASSET_TAPE”‘,’”SORT_ID”"
”‘, NULL ,NULL,NULL,2,.1,0,srec,33,2); END;”
Popularity: 25% [?]