segment

1.创建表,分区表,大对象字段,分别查询出它们是否为段对象,给出SQL演示的整个过程。
SQL > create table tt1 as select * from dba_objects where object_id < 1000;
 
Table created.
 
SQL > create table tt2(id number( 10), object_type varchar2( 40)) partition by list(object_type) (partition p_table values( 'TABLE'), partition p_others values ( default));
 
Table created.
 
SQL > insert into tt2 value select object_id,object_type from dba_objects where object_id < 1000;
 
942 rows created.
 
SQL >   create table tt3(id number( 10), object_type varchar2( 40), description clob);
 
Table created.
 
SQL > insert into tt3 value select object_id,object_type,object_name from dba_objects where object_id < 1000;
 
942 rows created.
 
SQL > commit;
 
Commit complete.
 
SQL > set linesize 200
SQL > select segment_name,partition_name,tablespace_name,extents,blocks from user_segments where SEGMENT_NAME IN ( 'TT1', 'TT2');
 
SEGMENT_NAME                                      PARTITION_NAME         TABLESPACE_NAME           EXTENTS     BLOCKS
--------------------------------------------------------------------------------- ------------------------------ ------------------------------ ---------- ----------
TT1                                                         SYSTEM                  2       16
TT2                                          P_OTHERS             SYSTEM                  1        8
TT2                                          P_TABLE             SYSTEM                  1        8
 
SQL > select s.segment_name,s.partition_name,s.tablespace_name,s.extents,s.blocks from user_segments s, user_lobs l where s.segment_name =l.SEGMENT_NAME and l. TABLE_NAME = 'TT3';
 
SEGMENT_NAME                                      PARTITION_NAME         TABLESPACE_NAME           EXTENTS     BLOCKS
--------------------------------------------------------------------------------- ------------------------------ ------------------------------ ---------- ----------
SYS_LOB0000075214C00003$$                                             SYSTEM                  1        8
2.分别创建一个ASSM,MSSM管理的表空间。
SQL >   show parameter db_create_file_dest
 
NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest             string

SQL > alter system set db_create_file_dest = '/u01/oradata/orcl';
 
System altered.
 
SQL > show parameter db_create_file_dest
 
NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest             string     /u01/oradata/orcl
 
SQL > create tablespace mssm segment space management manual;
 
Tablespace created.
 
SQL > create tablespace assm segment space management auto;
 
Tablespace created.
 
3.验证段存储属性和所在表空间存储属性的关系,给出SQL演示,并得出结论。
SQL > SELECT TABLESPACE_NAME ,SEGMENT_SPACE_MANAGEMENT ,EXTENT_MANAGEMENT ALLOCATION_TYPE FROM DBA_TABLESPACES WHERE TABLESPACE_NAME IN ( 'USERS02', 'USER03');
 
TABLESPACE_NAME            SEGMEN ALLOCATION
------------------------------ ------ ----------
USER03                   MANUAL LOCAL
USERS02                AUTO   LOCAL
 
SQL > CREATE TABLE t1 TABLESPACE USERS02 AS SELECT * FROM DBA_OBJECTS;
 
Table created.
 
SQL > CREATE TABLE t2 TABLESPACE USER03 AS SELECT * FROM DBA_OBJECTS;
 
Table created.
 
SQL > SELECT TABLE_NAME ,TABLESPACE_NAME,PCT_FREE, PCT_USED,FREELISTS ,STATUS FROM USER_TABLES WHERE TABLE_NAME IN ( 'USERS02', 'USER03');
T!                                USERS02        10                  VALIDMU_TABLE
T2                                USER03         10     40         1 VALID
 
4.SQL演示临时表的机制,并说明它的适用场合。
SQL > create global temporary table tt1 on commit preserve rows as select * from dba_objects;
 
Table created.
 
SQL > select count( *) from tt1;
 
  COUNT(*)
----------
     72595
 
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle @oracle ~]$ sqlplus /nolog
 
SQL*Plus: Release 11.2.0.1.0 Production on Sun Apr 14 07:41:27 2013
 
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
 
SQL> conn / as sysdba;
Connected.
SQL > select count( *) from tt1;
 
  COUNT(*)
----------
     0
 
SQL > create global temporary table tt2 on commit delete rows as select * from dba_objects;
 
Table created.
 
SQL > select count( *) from tt2;
 
  COUNT(*)
----------
     0
5.示例演示数据压缩的效果。
 
SQL > create table tt1 as select * from t1;
 
Table created.
 
Elapsed: 00:00:12.61
 
SQL > create table tt2 compress as select * from t1;
 
Table created.
 
Elapsed: 00:00:07.32
 
SQL > create table tt3 as select * from t1 where 1 = 2;
 
Table created.
 
Elapsed: 00:00:00.05
SQL > create table tt4 as select * from t1 where 1 = 2;
 
Table created.
 
Elapsed: 00:00:00.04
SQL > insert into / * + append * / tt3 select * from tt1;
 
1000000 rows created.
 
Elapsed: 00:00:18.48
SQL > insert into / * + append * / tt4 select * from tt2;
 
1000000 rows created.
 
Elapsed: 00:00:37.04
SQL > exec show_space( 'TT3');
Free Blocks............................. 5
Total Blocks............................ 13, 312
Total Bytes............................. 109, 051, 904
Total MBytes............................ 104
Unused Blocks........................... 259
Unused Bytes............................ 2, 121, 728
Last Used Ext FileId.................... 1
Last Used Ext BlockId................... 138, 496
Last Used Block......................... 765
PL/SQL procedure successfully completed.
 
Elapsed: 00:00:00.04
SQL > exec show_space( 'TT4');
Free Blocks............................. 5
Total Blocks............................ 13, 312
Total Bytes............................. 109, 051, 904
Total MBytes............................ 104
Unused Blocks........................... 259
Unused Bytes............................ 2, 121, 728
Last Used Ext FileId.................... 1
Last Used Ext BlockId................... 151, 808
Last Used Block......................... 765
 
PL/SQL procedure successfully completed.
 
Elapsed: 00:00:00.03
SQL > create table tt5 compress as select * from t1 where 1 = 2;
 
Table created.
 
Elapsed: 00:00:00.06
SQL > create table tt6 compress as select * from t1 where 1 = 2;
 
Table created.
 
Elapsed: 00:00:00.04
SQL > insert into / * + append * / tt5 select * from tt1;
 
1000000 rows created.
 
Elapsed: 00:00:23.30
SQL > insert into / * + append * / tt6 select * from tt2;
 
1000000 rows created.
 
Elapsed: 00:00:27.71
SQL > exec show_space( 'TT5');
Free Blocks............................. 5
Total Blocks............................ 12, 288
Total Bytes............................. 100, 663, 296
Total MBytes............................ 96
Unused Blocks........................... 544
Unused Bytes............................ 4, 456, 448
Last Used Ext FileId.................... 1
Last Used Ext BlockId................... 164, 096
Last Used Block......................... 480
 
PL/SQL procedure successfully completed.
 
Elapsed: 00:00:00.02
SQL > exec show_space( 'TT6');
Free Blocks............................. 5
Total Blocks............................ 12, 288
Total Bytes............................. 100, 663, 296
Total MBytes............................ 96
Unused Blocks........................... 544
Unused Bytes............................ 4, 456, 448
Last Used Ext FileId.................... 1
Last Used Ext BlockId................... 176, 384
Last Used Block......................... 480

转载于:https://my.oschina.net/u/1582282/blog/309087

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值