ITPub博客

首页 > 数据库 > Oracle > ORACLE 表空间笔记-20140320

ORACLE 表空间笔记-20140320

原创 Oracle 作者:mahe0207 时间:2014-03-20 21:55:40 0 删除 编辑
按数据文件的类型,分为:
    大文件表空间(bigfile tablespace)此为10g新增功能
    小文件表空间(smallfile tablespace)此为创建时默认值

大文件表空间的优点有:
    在一个表空间里只有一个大的数据文件,以后不需要再去管理数据文件;
    一个大的数据文件相当于1024个小的数据文件,这样一来,在一个块大小为32K时,整个数据库可以达到(4g*32K)128TB,不过在实际环境中还是要受到操作系统的影响;
    使用一个大的数据文件可以代替多个小数据文件,这样对数据文件的管理就少多了;
    当打开数据库,发生检查点,执行DBWR进程时使用大文件表空间会增强性能。

大文件表空间的的需要注意有:
    要使用在ORACLE的ASM(自动存储管理)的存储空间或者分散(striping)存储的LVM中,或者RAID阵列上;
    不要把大文件表空间建立在不能分散(striping)存储的系统上;
    不要把大文件表空间建立在没有空间(剩余空间少)的磁盘组上;
    建立大文件表空间时不推荐建立在不能扩展的存储空间里;
    大文件表空间只支持本地管理表空间(LMT)和本地段空间管理(ASSM);
    在临时表空间与回滚段表空间,只能用手动段空间管理;
    自动扩展数据文件必须是起用的,而且最大文件大小必须是不限制;
    系统表空间和系统辅助(SYSAUX)表空间不能使用大文件表空间;
    每个表空间只能包含一个数据文件。如果试图添加新的文件,则会报告 ora-32771 错误;
    在 bft 上存储的表的 rowid 和 smallfile 表空间上的 rowid 结构有些不同的。要正确得到 rowid 信息,dbms_rowid 包增加了一个新的参数 ts_type_in 来解决这个问题。参考这个范例:       
        sql> select dbms_rowid.rowid_block_number (rowid, bigfile) 2 from foo;
        dbms_rowid.rowid_block_number(rowid,bigfile)
            
Bigfile Tablespaces
        注意:Bigfile tablespaces are intended to be used with Automatic Storage Management (ASM) or other logical volume managers that supports striping or RAID, and dynamically extensible logical volumes.
        Avoid creating bigfile tablespaces on a system that does not support striping because of negative implications for parallel query execution and RMAN backup parallelization.
        Using bigfile tablespaces on platforms that do not support large file sizes is not recommended and can limit tablespace capacity. Refer to your operating system specific documentation for information about maximum supported file sizes.
        Creating:CREATE BIGFILE TABLESPACE bigtbs DATAFILE '/u02/oracle/data/bigtbs01.dbf' SIZE 50G...
        RESIZE:ALTER TABLESPACE bigtbs RESIZE 80G;
        AUTOEXTEND:ALTER TABLESPACE bigtbs AUTOEXTEND ON NEXT 20G;

        提高分区表性能的一个方法:分区表每个分区放在单独的表空间里,这些表空间使用同一个bigfile数据文件,这样在查询跨分区数据或较
多数据时,不至于跨越多个数据文件,在检索速度上,多表空间单个数据文件(bigfile)的分区表>多表空间多个数据文件(smallfile)分区
表>单表空间分区表。

表空间命令

    本地管理表空间(LMT):
            一种比较先进的管理扩展(extent)的方式;
            是用bitmap来管理表空间里的所有的extent;
            当使用本地管理表空间时是使用6个块(从第三个到第八个)来标识整个表空间里的每一个扩展(extent);
            其中的每一位(bit)来表示每个扩展的状态。1为已被分配,0为可被分配。

          在本地管理表空间的方式里可以选择每个extent的大小是固定(Uniform)的或是自动的:在自动管理,系统一般是刚开始一个extent8个block,然后逐渐增加;
    固定大小为每个extent都是固定大小的,推荐使用。


   字典管理表空间(DMT):10G里不能创建字典管理表空间的,只能导入老版本的。
   字典管理表空间:这种方式是为了与之前版本兼容而提供的。不推荐使用。
   10G里是不能创建字典管理表空间的,被强制推荐,只能倒入老版本中的字典管理表空间。

    临时表空间:
        一般用来排序和创建索引时使用;
        临时表空间里不存放实际的数据,所以,即使出了问题,也不需要恢复,而且,也不需要备份,因此也不需要记录日志;
        临时表空间只能使是读写模式,而且只能为手动管理段空间模式;
        可以设置为系统默认临时表空间。这样,创建用户时,没有指定默认临时表空间,就自动设置为系统默认临时表空间,命令如下:
            ALTER DATABASE DEFAULT TEMPORARY TABLESPACE ;

        CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
        CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M 
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
        CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL  SEGMENT SPACE MANAGEMENT AUTO;
        ALTER TABLESPACE lmtbsb ADD DATAFILE '/u02/oracle/data/lmtbsb02.dbf' SIZE 1M;

Temporary Tablespaces
        相关视图:V$TEMPFILE  DBA_TEMP_FILES   V$DATAFILE  DBA_DATA_FILES views
        Creating:CREATE TEMPORARY TABLESPACE lmtemp TEMPFILE '/u02/oracle/data/lmtemp01.dbf' SIZE 20M REUSE 
                        EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;
        Resizing:ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' RESIZE 18M;
        Deleting:ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP INCLUDING DATAFILES;

        注意:临时表空间不能设置为AUTOALLOCATE.
                  不能把本地管理的表空间变成本地管理的临时表空间,只能使用 CREATE TEMPORARY TABLESPACE 创建一个本地管理的临时表空间
        ALTER TABLESPACE lmtemp ADD TEMPFILE '/u02/oracle/data/lmtemp02.dbf' SIZE 18M REUSE;
        ALTER TABLESPACE lmtemp TEMPFILE OFFLINE;
        ALTER TABLESPACE lmtemp TEMPFILE ONLINE;

        不能使临时表空间离线,可以使它的文件离线(V$TEMPFILE)

临时表空间组
        Creating:CREATE TEMPORARY TABLESPACE lmtemp2 TEMPFILE '/u02/oracle/data/lmtemp201.dbf' SIZE 50M TABLESPACE GROUP group1;
                        ALTER TABLESPACE lmtemp TABLESPACE GROUP group2;

        ALTER DATABASE sample DEFAULT TEMPORARY TABLESPACE group2;

脱机表空间选项
        NORMAL  表空间中的数据文件都不能脱机。脱机时为所有数据文件建立检查点,online时不需要recover。
        TEMPORARY  为online的数据文件建立检查点,online时只需为以前脱机的数据文件做recover。
        IMMEDIATE  必须运行在归档模式,所有数据文件都不做检查点,online时需要为所有数据文件做recover。

只读表空间
        可以删除表,索引等items,不能增加修改object,可以add或modify表或字段的描述信息
        不能用于活跃的undo表空间和系统表空间
        ALTER TABLESPACE flights READ ONLY;
        ALTER TABLESPACE flights READ WRITE;

        Renaming Tablespaces:ALTER TABLESPACE users RENAME TO usersts;
        Dropping Tablespaces:DROP TABLESPACE users INCLUDING CONTENTS;
        DROP TABLESPACE users INCLUDING CONTENTS AND DATAFILES;

字典管理表空间迁移到本地管理表空间
        EXEC DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL ('tbs_1');
SYSTEM表空间改成本地管理
        EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');

表空间传输
        SELECT * FROM V$TRANSPORTABLE_PLATFORM;   --查看可转换的平台
        使用限制:1.字符集一致
                          2.Beginning with Oracle Database 10g Release 2, you can transport tablespaces that contain XMLTypes, but you must use the IMP and EXP utilities,                
             not Data Pump. When using EXP, ensure that the CONSTRAINTS and TRIGGERS parameters are set to Y (the default).


       查询表空间是否包含XMLTypes
            select distinct p.tablespace_name
            from dba_tablespaces p, 
dba_xml_tables x, dba_users u, all_all_tables t
            where
 t.table_name=x.table_name and t.tablespace_name=p.tablespace_name and x.owner=u.username

        3.源目标平台最低支持:
        1)same platform  source(8.0) target(8.0)

        2)different database block size  source(9.0) target(9.0)
        3)different platforms   source(10.0) target(10.0)

表空间管理:本地管理  字典管理
段管理:自动 位图
区:UNIFORM   AUTOALLOCATE
块:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29437301/viewspace-1126279/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ORACLE 递归查询
请登录后发表评论 登录
全部评论

注册时间:2014-01-11

  • 博文量
    26
  • 访问量
    94484