---------------------------------------------------------------------------
---- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
---- 转载务必注明原始出处 : http://blog.csdn.net/andkylee
--- 2010-07-28 16:06:16
---- 关键字: oracle 基本命令 tablespace user table purge analyze
----------------------------------------------------------------------------
创建表空间
create tablespace dultest datafile 'e:/oracle/oradata/orcl/dultest.dbf'
size 100m autoextend on next 100m maxsize unlimited
default storage(
initial 20M
next 20M
minextents 1
maxextents unlimited
pctincrease 0
);
表空间仅有一个数据文件,数据文件初始大小为100m,以后增长幅度为100m,不限制上限。表空间dultest内的对象的默认的空间分配信息为:对象初始大小为20m,后续空间增长幅度为20m。
通过系统视图查看表空间的信息:
删除表空间及其表空间内所有的对象
drop tablespace dultest including contents and datafiles;
创建用户dultest并授权
create user dultest identified by "db"
default tablespace "DULTEST"
temporary tablespace temp
profile default
account unlock;
将角色connect和resoure授权给dultest用户
grant connect,resource to dultest;
授予dultest创建表的权限
grant create table to dultest;
删除用户dultest
drop user dultest cascade;
等待dultest退出时,再执行删除操作。
合并表空间的碎片
alter tablespace dultest coalesce;
查询系统回收站的被删除的对象
select * from sys.recyclebin$;
清楚回收站的对象
purge table dultest.aaa;
把用exp导出的用户dultest的对象导入到用户test中
imp system/db@192.168.2.178 file=c:/dultest_tblspace.dmp fromuser=dultest touser=test ignore=y
查看表的一些信息
SELECT o.owner, t.tablespace_name,o.object_id,o.object_name table_name,o.created,o.last_ddl_time,o.status,
t.num_rows,t.blocks,t.empty_blocks,t.avg_space,t.avg_row_len, /*空间使用信息*/
t.pct_free,t.pct_used,t.ini_trans,t.max_trans,t.initial_extent,t.next_extent,
t.min_extents,t.max_extents,t.pct_increase
from dba_objects o,dba_tables t
WHERE o.object_name = t.table_name and t.OWNER='TEST';
由上面的数据可以看出,四张表的initial_extent和next_extent都是20971520(20M)。这是因为在创建表的时候没有指定表的存储属性,而是继承了所属表空间dultest的空间属性。
由上面可以看出各个表的行数、使用的blocks、空块、以及每行的平均长度。但是,目前看到的这些信息可能是不准确的。
由于表PM_HOU_J_RESMSSQLINSTANCE的默认initial_extent和next_extent都是20M(2560 blocks)。而blocks和empty_blocks的总和不是2560的整数倍。
更行表的统计信息:
这时的表信息为:
可以看到表的这些列NUM_ROWS BLOCKS EMPTY_BLOCKS AVG_SPACE AVG_ROW_LEN的数据都被更新了。
blocks+empty_blocks为2560的整数倍。
行数也是目前最准确的了。