今天是2016年4月5号,之前制定的学习计划一直没有执行,发现自己还是一个意志力很薄弱的人!今后不管工作多忙,都希望自己能把学习计划坚持下去,用放空的心态去重新学习oracle!加油! 今天打算重新过一遍oracle表空间管理,虽然我是做oracle开发的,但是我还是有一颗走向DBA的心! oracle磁盘空间管理中的最高逻辑层就是表空间,下一层是段,一个段只能驻留在一个表空间里面,段的下一层是盘区,多个盘区组组成一个段,下一层就是数据块,也就是最底层啦~ 1:查看表空间的相关信息 select tablespace_name,file_name,bytes from dba_data_files order by tablespace_name; 2:oracle默认表空间 SYSAUX:system表空间的辅助表空间,存储除了数据字典以外的其他数据对象,减少system空间负荷 SYYTEM:存放数据字典,表、视图、存储过程的定义等 TEMP:存放SQL语句处理的表和索引的信息 UNDOTBS1:存放撤销数据的表空间 USERS;通常存放应用系统所使用的数据对象 查看表空间里面存放的数据对象类型和拥有着 select segment_type,segment_name,owner from dba_segments from tablespace_name=‘USERS‘; 3:创建表空间 在创建表空间的时候需要考虑以下几点 1 创建小文件表空间,还是大文件表空间 2 是局部盘区管理方式,还是传统的目录盘区管理方式 3 手动管理表空间 还是自动拓展表空间 4 是否用于零时段或者撤销段的特殊表空间 create tableaspace table_name datafile ‘\data\table_name.dbf‘ size 10M(大小) extent management local(默认的就是本地化管理) uniform size 256k 创建大文件表空间 create bigfile tablespace name datafile ‘\data\name.dbf‘ size 2G; 表空间维护 1:查看默认表空间 SELECT PROPERTY_VALUE, PROPERTY_NAME FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE ‘%TABLESPACE‘; 2:更改默认表空间 alter database default temprory tablespace temp_name; alter database default tablespace temp_name; 3: 更改表空间状态 alter tablespace tablespace_name read only/write(只读\可读写) 重命名 alter tablespace name1 rename to name2; 删除表空间 drop tablespace name1 including contents(同时删除数据) cascade constraints (删除相关约束) 4:维护表空间数据文件 添加数据文件 alter tablespace tablespace_name add datafile ‘/data/name2.dbf‘ aize 10M autoextend on next 5M maxsize unlimited; (自动拓展,最大不受限制) 删除文件 alter tablespace tablespace_name drop datafile ‘/data/name2.dbf‘; 5:管理撤销表空间 介绍:撤销表空间用于存放撤销信息,当执行DML操作的时候 oracle会将就数据写到UNDO段里面 而UNDO段驻留在UNDO表空间中 作用:读写一致、回滚事务、事务恢复、闪回操作。 撤销表空间的初始化参数 1:UNDO_TABLESPACE: 指定例程所要使用的UNDO表空间 2:UNDO_MANAGEMENT: 制定UNDO数据的管理模式 为AUTO就是自动撤销管理模式 MANUAL为回滚段管理方式 UNDO_RETENTION 数据最大保留时间 900S 创建UNDO表空间 create undo tablespace undo_name datafile ‘/data/name.dbf‘ size 1G; 添加文件 alter tablespace undo_name add datafile ‘/data/name2.dbf‘; 切换UNDO表空间 alter system set undo_tablespcae=undo_name; 删除 drop tablespace undo_name; undo查询操作 (1)当前例程正在使用的UNDO空间 show parameter undo_tablespace; (2) 实例的所有UNDO表空间 select tablespace_name from dba_tablespace where contents=‘UNDO‘; (3) 查看UNDO表空间的统计信息 select to_char(begin_time,‘hh24:mi:ss‘) as 开始时间, to_char(end_time,‘hh24:mi:ss‘) as 结束时间, undoblks as 回退块数 from v$undostat order by begin_time; 6:管理临时表空间 查询临时表空间信息 select file_name,bytes,tablespace_name from dba_temp_files; 创建临时表空间组 create temporary tablespace tp1 tempfile ‘/data/temp1.dbf‘ size 10m tablespace group group1; create temporary tablespace tp2 tempfile ‘/data/temp2.dbf‘ size 10m tablespace group group1; 转移到另外一个组 alter tablespace tp1 tablespace group group3; 把临时表空间分配给指定用户 alter user name temporary tablespace group3; 设置默认临时表空间组 alter database orcl default temporary tablespace group3; 删除 drop tablespace tp1 including contents and datafile;
原文地址:http://8434270.blog.51cto.com/8424270/1760710