当前位置:文档之家› 数据库存储管理

数据库存储管理

第五章数据库存储管理 内容简介: (1)逻辑单元的管理:表空间、段、区间和数据块等; (2)物理文件管理:控制文件、数据文件、临时文件、重做日志文件和归档文件等;

(3)自动存储管理 5.1表空间的管理 提问:1) 表空间的概念 2)表空间的组成 5.1.1查看表空间信息 有两种方法 (1) 通过oracle视图查看信息 段 类 型 说 明 V$TABLESPACE 控制文件中保存的所有表空间的名称和数量 DBA_TABLESPACES 所有表空间的描述信息 USER_TABLESPACES 所有用户可访问表空间的描述信息 DBA_TABLESPACE_GROUPS 所有表空间组及其所属的表空间信息

DBA_SEGMENTS 所有表空间中的区间信息 USER_SEGMENTS 所有用户表空间中的区间信息 DBA_FREE_SPACE 所有表空间中的空闲区间信息 USER_FREE_SPACE 所有用户表空间中的空闲区间信息 V$DATAFILE 所有数据文件信息 V$TEMPFILE 所有临时文件信息 DBA_DATA_FILES 显示所有属于表空间的数据文件信息 DBA_TEMP_FILES 显示所有属于临时表空间的临时文件信息

例题1:查看表空间的内容和数量。 select * from v$tablespace; 例题2:查看表空间的内容和状态 select tablespace_name,contents,status from dba_tablespaces; 通过EM查看 以sysdba登录到EM,打开“管理”页面,在数据库管理/存储中单击“表空间”,打开“表空间管理”页面

5.1.2创建表空间 (1)通过create tablespace创建 表空间内容不同,创建方法也不同 a.本地管理表空间 将表空间的所有区间信息以位图的方式记录,所有的表空间都可以被本地管理。 例题3:创建本地管理表空间 Create tablespace orcltbs01 datafile ‘c:\oracle\product\10.2.0\oradata\orcl\orcltbs01.dbf’ size 10M extent management local autoallocate; 参数 含义 值 datafile 指定表空间的数据文件; 具体物理文件 Size 指定数据文件的大小; 整数值+单位 Autoallocate 指定表空间由系统管理 最小区间为64KB uniform 指定最小区间的大小;

(2)通过EM创建

例题4:创建表空间orcltbs02,指定最小区间为128KB Creatae tablespace orcltbs02 datafile ‘c:\oracle\product\10.2.0\oradata\orcl\orcltbs02.dbf’ size 30M extent management local uniform size 128K; b.大文件表空间 大文件表空间由唯一的、非常巨大的数据文件组成;只能包含一个数据文件。 例题5:创建大文件表空间 Create bigfile tablespace bigtbs datafile ‘c:\oracle\product\10.2.0\oradata\orcl\bigtbs.dbf’ size 10G; size:指定文件大小。 c.临时表空间 例题6:创建临时表空间tmptbs create temporary tablespace tmptbs tempfile ‘c:\oracle\product\10.2.0\oradata\orcl\temtbs.dbf’ size 20M reuse extent management local uniform size 16M; tempfile 指定临时文件 具体物理文件 reuse 指定临时文件可以重用 注意:创建临时表空间时,不允许使用autoallocate,表空间中区间的大小必须通过uniform手工指定 (2)通过EM管理表空间

5.1.3修改表空间属性 (1)重命名表空间 例题7:将表空间orcltbs02更名为orcltbs03 Alter tablespace orcldbs02 rename to orcltbs03; (2)本地管理表空间 例题8:给表空间增加数据文件 Alter tablespace orcltbs01 Add datafile ‘c:\oracle\product\10.2.0\oradata\orcl\orcltbs011.dbf’ size 10M; (3)大文件表空间 例题9:修改大文件表空间的数据文件大小。 Alter tablespace bigtbs resize 4G; (4)临时表空间 例题10:向临时表空间中添加临时文件tmptbs01.dbf 20M Alter tablespace tmptbs Add tempfile ‘c:\oracle\product\10.2.0\oradata\orcl\temtbs01.dbf’ size 20M ; (5)设置联机和脱机 思考:什么情况下可将表空间设置为脱机状态? 注意:系统表空间、撤销表空间和临时表空间不能设置为脱机状态。 例题11:将表空间orcltbs01设置为脱机状态 Alter tablespace orcltbs01 offline; Select tablespace_name,contents,status from dba_tablespaces; 例题12:将表空间orcltbs01设置为联机状态 Alter tablespace orcltbs01 online; (6)设置只读表空间 目的:保护表空间中的数据文件不被修改 例题13:设置表空间orcltbs01为只读表空间 Alter tablespace orcltbs01 read only; 例题14:设置表空间orcltbs01为读写表空间 Alter tablespace orcltbs01 read write; 5.1.4删除表空间 为节省空间,对不用的表空间应及时删除。 删除表空间时,可以选择同时删除其内容和数据文件。 例题15:删除表空间orcltbs01. Drop tablespace orcltbs01; 删除表空间的同时删除期中的段 Drop tablespace orcltbs01 including contents; 删除表空间的同时删除包含的段和数据文件 Drop tablespace orcltbs01 including contents and datafiles;

5.1.5段和数据块管理 表空间由段组成,在创建表空间时,可以指定段空间的管理方式。 段空间有2种管理方式:自动和手动。 例题16:创建表空间mytbs01,自动段管理方式 Create tablespace mytbs01 Datafile ‘c:\oracle\product\10.2.0\oradata\orcl\mytbs01.dbf’ size 30m Extent management local autoallocate Segment space management auto; 例题17:创建手动段管理方式的表空间mytbs02 Create tablespace mytbs02 Datafile ‘c:\oracle\product\10.2.0\oradata\orcl\mytbs02.dbf’ size 30m Extent management local autoallocate Segment space management manual; 例题18:创建表空间,指定块的大小 Create tablespace mytbs03 Datafile ‘c:\oracle\product\10.2.0\oradata\orcl\mytbs03.dbf’ size 30m Extent management local autoallocate Blocksize 8K;

5.1.6撤销表空间 回滚或撤销对数据库的变化 Oracle使用完全自动的撤销表空间机制:用户可以创建一个撤销表空间,服务器自动管理撤销表空间。 通过初始化参数undo_mnagement 为anto激活自动撤销管理机制; 初始化参数duno_tablespace设置默认的撤销表空间. 例题19:创建撤销表空间 Create undo tablespace undotbs01 Datafile ‘c:\oracle\product\10.2.0\oradata\orcl\undotbs02.dbf’ size 2m reuse;

5.2控制文件管理 每个oracle数据库都有控制文件,用来记录数据库的物理结构。 控制文件包含如下信息:  数据库名称  相关数据文件和重做日志文件的名称和位置  数据库创建的时间戳  当前的日志序列号  检查点信息

5.2.1创建控制文件 (1)创建初始控制文件 系统在创建数据库的同时会自动创建控制文件。控制文件的名称在初始化

相关主题