Oracle数据库降低HWM的几种方法
HWM是oracle中block有没有使用的分界线,它会随着数据的insert而上升,但它并不会随数据的delete而下降,因此全表扫描的时间并不因数据的delete而减少,相反可能由于块清除反而全表扫描时间增加,可以用下面方法的任一一种来降低HWM:
第一种:shrink
适用于10g以后的版本,前提是这个表,索引,物化视图或物化视图log所在表空间segment的管理是auto的,并且表已enable row movement,如:
SQL> select owner,segment_name,bytes,blocks,extents from dba_segments
where segment_name = 'EMP';
SQL> alter table emp enable row movement;
SQL> alter table emp shrink space;
SQL> select owner,segment_name,bytes,blocks,extents from dba_segments
where segment_name = 'EMP';
第二种:online redefinition
online redefinition在oracle 9i引用,10g对DBMS_REDEFINITION包做了一些调整,使用的操作起来理简单,如新增加的COPY_TABLE_DEPENDENTS,UNREGISTER_DEPENDENT_OBJECT,方法如下:
1.调用dbms_redefinition.can_redef_table procedure确认是否可以online redefinition
SQL> EXECUTE dbms_redefinition.can_redef_table ('FINANCE', 'ACCTS_PAYABLE');
2.在redefinition schema下创建interim table
3.如果redefinition一个大表,可以用下面的Statement来改善性能:
SQL> alter session force parallel dml parallel degree-of-parallelism;
SQL> alter session force parallel query parallel degree-of-parallelism;
4.调用dbms_redefinition.start_redef_table procedure开如redefinition
SQL> dbms_redefinition.start_redef_table('FINANCE', 'ACCTS_PAYABLE','ACCTS_PAYABLE_STAGE');
5.创建dependent objects on interim table
有两种方法:
调用dbms_redefinition.copy_table_dependents自动创建dependent objects;
使用create statement手动创建dependent objects,手动创建的dependents需要调用register_dependent_object注册
6.更新在redefinition过程中的更新到interim表
7.调用dbms_redefinition.finish_redef_table完成redefinition
8.删除收回空间如interim table使用的表
注:使用online redefinition需要额外的空间
第三种:alter table … move
在move时可以使用当前表空间也可以指定其他表空间,如:
SQL> alter table emp move;  
相关文档:
ORACLE里锁有以下几种模式:
0:none
1:null 空
2:Row-S 行共享(RS):共享表锁,sub share
3:Row-X 行独占(RX):用于行的修改,sub exclusive
4:Share 共享锁(S):阻止其他DML操作,share
5:S/Row-X 共享行独占(SRX):阻止其他事务操作,share/sub exclusive
6:exclusive 独占(X):独立访问使用,exclusive
......
在Oracle中建库,通常有两种方法。一是使用Oracle的建库工
且DBCA,这是一个图形界面工且,使用起来方便且很容易理解,因为它的界面友好、美观,而且提示也比较齐全。在Windows系统中,这个工具可以在Oracle程序组中打开(”开始”—“程序”—“ Oracle OraDb10g_home1”&mdash ......
一,Oracle数据库用户简介
在Oracle数据库中任何对象都属于一个特定用户,或者说一个用户与同名的模式相关联。
要连接到Oracle数据库需要一个用户帐户,根据需要授予的操作权限。
1,默认数据库用户模式:
Sys:数据库字典(存储被管理对象所有信息)和视图存储在该模式中。系统级用户。 ......
Oracle Database 10g 提供了一个显著改进的工具:自动工作负载信息库 (AWR:Automatic Workload Repository)。Oracle 建议用户用这个取代 Statspack。AWR 实质上是一个 Oracle 的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。与 Statspack 不同,快照由一个称为 MMON 的新的后 ......
1)建立操作系统目录e:\test,准备数据文件dept.txt并置于e:\test之下
"10","ACCOUNTING","NEW
YORK"
"20","RESEARCH","DALLAS"
"30","SALES","CHICAGO"
"40","OPERATIONS","BOSTON"
2)创 ......