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