Click here to load reader

第九讲 数据库逻辑结构

  • Upload
    axl

  • View
    170

  • Download
    0

Embed Size (px)

DESCRIPTION

第九讲 数据库逻辑结构. 本章学习目标 Oracle 对逻辑存储结构和物理存储结构的管理是分别进行的, Oracle 的逻辑存储结构能够适用于不同的操作系统平台和硬件平台。本章介绍 Oracle 数据库的逻辑结构,即表空间、扩展区、段和数据块的概念及管理方法。. 学习内容. 9.1 数据库逻辑结构概述 9.2 数据块 9.3 扩展区 9.4 段 9.5 表空间及其管理. 9.1 数据库逻辑结构概述. 9.1.1 逻辑结构 9.1.2 逻辑结构与物理结构的对应关系. 表空间. 段. 数据块. 扩展区. 数据文件. 数据库. - PowerPoint PPT Presentation

Citation preview

  • OracleOracleOracle

  • 9.1 9.2 9.3 9.4 9.5

  • 9.1 9.1.1 9.1.2

  • (Table, Index, )

  • data fileos blockOracleI/O

  • 9.2 9.2.1 9.2.2 9.2.3

  • 9.2.1

  • OracleORACLEOracledb_block_size

  • 9.2.2

  • PCTFREE = 20%PCTUSED = 40%

  • PCTFREE PCTFREEUPDATEPCTFREEINSERT

  • PCTFREE PCTFREE 1

    2123

  • PCTUSED PCTUSED

  • (Block) Pctfree 10 Pctfree, Pctused, 100 Pctused 40 Inittrans 1 2 Maxtrans 255 UpdatePcrfree 20Pctused 40Insert, Select, UpdatePctfree 5Pctused 60, SelectPctfree 5Pctused 90 Pctfree 0

  • 9.2.3

  • Before updateAfter update

  • 9. 3 9.3.1 9.3.2 9.3.3

  • 9.3.1 OracleOracleOracle

  • 9.3.2

    + Drop+ Truncated+ (

  • 9.3.3

    extentinitial

    next

    maxextents extent

    Minextents extent

    pctincrease optimal ()

  • Initial 5 2 Next 5 1 Minextents 1 1 Maxextents 1 Pctincrease 50 0

    , initial = next pctincrease 1 pctincrease 0

  • Oracleextents

  • 9. 4 9.4.1 9.4.2 9.4.3

  • 9.4.1 DBA_SEGMENTS

  • 9.4.2

  • 9.4.3 DBA_SEGMENTSOWNER SEGMENT_NAME SEGMENT_TYPE TABLESPACE_NAME EXTENTS BLOCKS INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE

  • DBA_EXTENTSOWNERSEGMENT_NAMEEXTENT_ID TABLESPACE_NAMEFILE_IDBLOCK_IDBLOCKS

  • DBA_FREE_SPACETABLESPACE_NAME FILE_ID BLOCK_IDBLOCKS ()

  • 9. 5 9.5.1 9.5.2 9.5.3 9.5.4

  • 9.5.1

  • 9.5.2 OracleSYSTEM

  • (1) (2) (3)

  • I/OI/O

  • 9.5.3 system

  • 9.5.4 9.5.4.1 9.5.4.2 9.5.4.3 9.5.4.4 9.5.4.5

  • 9.5.4.1

  • CREATE TABLESPACE testspace DATAFILE f:\orcl\testspace1.dbf' SIZE 100M , f:\orcl\testspace2.dbf' SIZE 100M DEFAULT STORAGE (INITIAL 128K NEXT 128KMINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCREASE 0)EXTENT MANAGEMENT DICTIONARY;

  • create tablespacedefault storageminimum extentUNIFORMOracleAUTOALLOCATECREATE TABLESPACE user_data DATAFILE f:\orcl\user_data_01.dbf' SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;

  • systemsystemsystemsystemDBA

  • create tablespace temp datafile f:\orcl\temp01.dbf size 300M default storage (initial 2M next 2M pctincrease 0 maxextents unlimited) extent management dictionary temporary;

  • create temporary tablespace temp tempfile f:\orcl\temp_01.dbf size 500M extent management local uniform size 10M;

  • 9.5.4.2

  • alter tablespace Alter TABLESPACE tablespace { minimum extent integer [k|m] | default storage_clause}

    12M alter tablespace app_data minimum extent 2m;

  • 22M2M999 alter tablespace app_data default storage{ initial 2m next 2m maxextents 999);

  • system alter tablespace user_data online; alter tablespace app_data offline;

  • system alter tablespace user read_only; alter tablespace app_data read write ;

  • courseora-0165unable to extend table course in tablespace app_data

  • alter tablespace student_data add datafile f:\orcl\student2.dbf size 1000M;

  • student_datastudent3.dbf50MB create tablespace student_data datafile f:\orcl\student3.dbf size 200M autoextend on next 50M maxsize unlimited default storage(initial 100m next 100m minextents 1 maxextents unlimited pctincrease 0);

  • alter database alter database [databasename] datafile "filename".. resize integer [K|M] alter database datafile f:\orcl\student2.dbf resize 200M;

  • ALTER TABLESPACE1 ALTER TABLESPACE app_data OFFLINE;23 ALTER TABLESPACE app_data RENAME DATAFILEf:\orcl\app_data_01.dbf' TOd:\orcl\app_data_01.dbf';4 ALTER TABLESPACE app_data ONLINE;

  • ALTER DATABASE123STARTUP MOUNT4 ALTER DATABASE RENAME FILE f:\orcl\system_01.dbf' TO d:\orcl\system_01.dbf';5ALTER DATABASE OPEN

  • 9.5.4.3 drop tablespace DROP TABLESPACE tablespace_name DROP TABLESPACE tablespace_name INCLUDING CONTENTS;

  • 9.5.4.4 DBA_TABLESPACESV$TABLESPACEDBA_DATA_FILESV$DATAFILEDBA_TEMP_FILESV$TEMPFILE

  • DBA_TABLESPACESDBA_SEGMENTSDBA_DATA_FILESDBA_FREE_SPACEDBA_EXTENTS

  • dba_tablespacesdba_data_filesdba_free_spacedba_segmentsdba_extentsdba_free_spacedba_free_spacedba_extents

  • SQL> select status, bytes, name from v$datafile

    SQL> select tablespace_name, bytes, autoextensible, file_name from dba_data_files;

  • SQL> select * from v$tablespace

    SQL>select tablespace_name,block_size,initial_extent,next_extent from dba_tablespaces;

  • SCOTT SQL> select segment_name, extents, blocks from dba_segments where owner= 'SCOTT';

    HRSQL> select segment_type, tablespace_name, file_id, bytes from dba_extents where owner='HR';

  • SCOTTEMPSQL> select extent_id,file_id,block_id,blocks from dba_extents where owner='SCOTT' and segment_name='EMP';

  • empSQL> select count(*) extents, sum(bytes) bytes_used, sum(blocks) block_used from dba_extents where owner='SCOTT' and segment_name='EMP' and segment_type='TABLE';

  • SQL> select owner, segment_name, segment_type, count(*) extents, sum(bytes) bytes_used, sum(blocks) blocks_used from dba_extents where tablespace_name='SYSTEM group by owner,segment_name,segment_type order by owner,segment_name,segment_type;

  • sql>select tablespace_name, count(*), max(blocks), sum(blocks) from dba_free_space group by tablespace_name;

  • 9.5.4.5 SYSTEM

  • OracleOracle

  • Oracle9i Oracle Oracle9i Database Concepts //www.oracle.com/technology/documentation/oracle9i.htmlOracle9i Database Administrators Guide //www.oracle.com/technology/documentation/oracle9i.html