学习表空间的一些总结
2014-04-08 09:20
211 查看
表空间分类:系统表空间、辅助表空间、临时表空间、undo表空间、用户表空间
多表空间存储好处:
使用多个表空间有以下好处:
•不同类型的数据存入到不同的表空间中,可以更灵活地管理数据库。
•将还原段、临时段、应用程序数据段和应用程序索引段分开存储到不同表空间中。
•根据备份要求将数据分开存储。
•将动态数据和静态数据分别存储在不同的表空间中,以利于备份和恢复。
•通过分配给用户表空间上的配额,避免分某个用户占用表空间太多的存储空间。
查看表空间使用:
SELECT t1 表空间,
z/1024/1024 总表空间,
(z - s)/1024/1024 已用表空间,
s/1024/1024 剩余表空间,
ROUND((z - s) / z * 100, 2)||'%' "使用率%"
From (Select tablespace_name t1, Sum(bytes) s From DBA_FREE_SPACE Group by tablespace_name),
(Select tablespace_name t2, Sum(bytes) z From DBA_DATA_FILES Group by tablespace_name)
Where t1 = t2
order by 1;
表空间与数据关系:一对多
SELECT TABLESPACE_NAME,online_status,autoextensible, FILE_ID, FILE_NAME, BYTES/1024/1024 "BYTES(M)" FROM DBA_DATA_FILES order by 1
创建表空间:
创建一个表空间:TBS_T02 指定数据文件 默认50M 开启自动扩展 自动扩展1M最大100M
create tablespace TBS_T02 datafile '/opt/oracle/oradata/ora36/TBS_T02.dbf' size 50M autoextend on next 1M maxsize 100M ;
修改自动扩展:
打开:
alter database datafile '/opt/oracle/oradata/ora36/TBS_T01.dbf' autoextend on next 1M maxsize UNLIMITED;
---- UNLIMITED将分配给数据文件的磁盘空间设为不受限
关闭:
alter database datafile '/opt/oracle/oradata/ora36/TBS_T01.dbf' autoextend off;
增加数据文件:
优点,装载大批量数据时,在数据写满数据文件之后需要先扩展数据文件,然后才能装载数据,因而会导致系统
性能的降低。因此,在执行批量数据装载操作之前,你应该首先确定数据文件是否能够容纳
足够数据。如果不足以容纳数据的话,应该首先扩展该数据文件,然后装载数据
alter database datafile '/opt/oracle/oradata/ora36/TBS_T03.dbf' resize 75M;
修改表空间大小:
其实也是修改数据文件大小:
alter database datafile '/opt/oracle/oradata/ora36/test/TBS_T02.dbf' resize 100M;
更改表空间状态:
只读:
alter tablespace TBS_T02 read only;
读写:
alter tablespace TBS_T02 read write;
表空间联机:
以下几种情况下数据库管理员可以让表空间脱机:
•使数据库的一部分表空间不可用,但允许正常访问数据库的其余表空间
•执行脱机表空间备份(尽管表空间可以在联机使用时备份)
•在数据库打开时恢复表空间或数据文件
•在数据库打开时移动数据文件
联机:
alter tablespace TBS_T02 online;
脱机:
alter tablespace TBS_T02 offline normal;
--normal脱机前把SGA中的数据写入数据文件
数据文件脱机:
数据文件联机:
移动数据文件:
ALTER TABLESPACE 命令重命名数据文件的步骤:
•使表空间脱机。
•使用操作系统命令移动或复制文件。
•执行ALTER TABLESPACE RENAME DATAFILE 命令。
•使表空间联机。
•必要时使用操作系统命令删除原来的数据文件。
alter tablespace tBS_T02 offline normal ;
linux执行:cp TBS_T02.dbf ./test/
alter tablespace TBS_T02 rename datafile '/opt/oracle/oradata/ora36/TBS_T02.dbf' to '/opt/oracle/oradata/ora36/test/TBS_T02.dbf';
alter tablespace TBS_T02 online;
删除表空间:
语法:
DROP TABLESPACE tablespace [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]
其中:
tablespace:指定要删除的表空间的名称
INCLUDING CONTENTS:删除表空间内的所有段
AND DATAFILES:删除关联的操作系统文件
CASCADE CONSTRAINTS:如果要删除的表空间之外的表引用了该表空间内表的主
键和唯一键,则删除这种引用完整性约束。
drop tablespace TBS_T02 including contents and datafiles cascade constraints;
多表空间存储好处:
使用多个表空间有以下好处:
•不同类型的数据存入到不同的表空间中,可以更灵活地管理数据库。
•将还原段、临时段、应用程序数据段和应用程序索引段分开存储到不同表空间中。
•根据备份要求将数据分开存储。
•将动态数据和静态数据分别存储在不同的表空间中,以利于备份和恢复。
•通过分配给用户表空间上的配额,避免分某个用户占用表空间太多的存储空间。
查看表空间使用:
SELECT t1 表空间,
z/1024/1024 总表空间,
(z - s)/1024/1024 已用表空间,
s/1024/1024 剩余表空间,
ROUND((z - s) / z * 100, 2)||'%' "使用率%"
From (Select tablespace_name t1, Sum(bytes) s From DBA_FREE_SPACE Group by tablespace_name),
(Select tablespace_name t2, Sum(bytes) z From DBA_DATA_FILES Group by tablespace_name)
Where t1 = t2
order by 1;
表空间与数据关系:一对多
SELECT TABLESPACE_NAME,online_status,autoextensible, FILE_ID, FILE_NAME, BYTES/1024/1024 "BYTES(M)" FROM DBA_DATA_FILES order by 1
创建表空间:
创建一个表空间:TBS_T02 指定数据文件 默认50M 开启自动扩展 自动扩展1M最大100M
create tablespace TBS_T02 datafile '/opt/oracle/oradata/ora36/TBS_T02.dbf' size 50M autoextend on next 1M maxsize 100M ;
修改自动扩展:
打开:
alter database datafile '/opt/oracle/oradata/ora36/TBS_T01.dbf' autoextend on next 1M maxsize UNLIMITED;
---- UNLIMITED将分配给数据文件的磁盘空间设为不受限
关闭:
alter database datafile '/opt/oracle/oradata/ora36/TBS_T01.dbf' autoextend off;
增加数据文件:
优点,装载大批量数据时,在数据写满数据文件之后需要先扩展数据文件,然后才能装载数据,因而会导致系统
性能的降低。因此,在执行批量数据装载操作之前,你应该首先确定数据文件是否能够容纳
足够数据。如果不足以容纳数据的话,应该首先扩展该数据文件,然后装载数据
alter database datafile '/opt/oracle/oradata/ora36/TBS_T03.dbf' resize 75M;
修改表空间大小:
其实也是修改数据文件大小:
alter database datafile '/opt/oracle/oradata/ora36/test/TBS_T02.dbf' resize 100M;
更改表空间状态:
只读:
alter tablespace TBS_T02 read only;
读写:
alter tablespace TBS_T02 read write;
表空间联机:
以下几种情况下数据库管理员可以让表空间脱机:
•使数据库的一部分表空间不可用,但允许正常访问数据库的其余表空间
•执行脱机表空间备份(尽管表空间可以在联机使用时备份)
•在数据库打开时恢复表空间或数据文件
•在数据库打开时移动数据文件
联机:
alter tablespace TBS_T02 online;
脱机:
alter tablespace TBS_T02 offline normal;
--normal脱机前把SGA中的数据写入数据文件
数据文件脱机:
数据文件联机:
移动数据文件:
ALTER TABLESPACE 命令重命名数据文件的步骤:
•使表空间脱机。
•使用操作系统命令移动或复制文件。
•执行ALTER TABLESPACE RENAME DATAFILE 命令。
•使表空间联机。
•必要时使用操作系统命令删除原来的数据文件。
alter tablespace tBS_T02 offline normal ;
linux执行:cp TBS_T02.dbf ./test/
alter tablespace TBS_T02 rename datafile '/opt/oracle/oradata/ora36/TBS_T02.dbf' to '/opt/oracle/oradata/ora36/test/TBS_T02.dbf';
alter tablespace TBS_T02 online;
删除表空间:
语法:
DROP TABLESPACE tablespace [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]
其中:
tablespace:指定要删除的表空间的名称
INCLUDING CONTENTS:删除表空间内的所有段
AND DATAFILES:删除关联的操作系统文件
CASCADE CONSTRAINTS:如果要删除的表空间之外的表引用了该表空间内表的主
键和唯一键,则删除这种引用完整性约束。
drop tablespace TBS_T02 including contents and datafiles cascade constraints;
相关文章推荐
- 一些经验总结与常识--沉于思考,默默学习!
- 关于迁移学习和模型微调的一些总结
- SQL2008一些学习小结,不断总结
- Javascript this 的一些学习总结
- 【Java学习】eclipse,javaWeb项目的一些技巧,经验总结,持续更新
- 学习php过程中的一些注意点的总结
- JAVA基础学习一些总结
- 关于学习红黑树的一些小收获与总结
- OC学习过程中的一些总结
- 统计关系学习的一些要点总结
- Spring MVC学习总结(5)——SpringMVC项目关于安全的一些配置与实现方式
- C语言学习一些总结
- 前人对ACM学习的一些总结
- PHP5.3+命名空间学习总结
- python学习总结---列表、元组、字符串、字典中一些常用函数
- 之前学习的一些总结
- 学习《JSP项目开发全程实录》中的企业人力资源管理系统(spring1.2+sturts1.2+hibernate3.0)的一些过程总结之管理员登录ACTION的实现
- 近期学习javascript和jquery遇到一些问题的技巧知识总结
- iOS 自己总结的一些学习资料
- 从java到前端学习的一些总结