Oracle:表空间
2016-06-15 11:44
453 查看
本节总结oracle数据库表空间的相关内容如下:
表空间:
表空间用于从逻辑上组织数据库的数据,数据库逻辑上由一个或是多个表空间组成的,通过表空间可以达到以下的作用:
1.控制数据库占用的磁盘空间
2.dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o的性能,同时有益于备份和恢复
3.尤其在海量数据时索引表空间会加快io的速度;
表空间 段 区 块
表空间有多个段组成,每一个段又由区组成,区又由块组成,表空间其实是有数据文件组成而,数据文件其实就是一个磁盘上的空间。
《1》查看ORACLE中自带的EMP表所属的表空间:
第一种查看方式:
注释:user_tables:属于静态数据字典中的其中记录中该用户可用的表的信息,例如表名、所属的表空间、表的大小等一些列信息。我们可以通过命令:desc user_tables;进行查看;
可见其归属于users这个表空间:
第二种查看方式:直接在emp表上查看编辑就可以:
《2》建立自己的表空间:
首先:该用户需要具有dba或者create tablespace的权限;
可以看到如下:
《3》删除表空间;
注意including后面的信息;
《4》创建用户并指向表空间:
《5》使用表空间:
5.1把创建的表放到指定的表空间下:
result:
result:
5.2:使表空间脱机(连机):
5.3:改变表空间只读属性,不能执行update delete insert语句
《6》扩展表空间:
当我我们的表空间满了时候。就需要扩容:比如出现如下信息、就需要扩容
6.1:增加数据文件
注释:可以看到在e盘下多了个space002.dbf数据文件,并且在插入数据时就可以了;
6.2:增加文件的大小
6.3:设置文件的自动增加
《7》移动数据文件:
比如当磁盘出现损坏或者我们需要备份时,可以移动数据文件
“`
表空间:
表空间用于从逻辑上组织数据库的数据,数据库逻辑上由一个或是多个表空间组成的,通过表空间可以达到以下的作用:
1.控制数据库占用的磁盘空间
2.dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o的性能,同时有益于备份和恢复
3.尤其在海量数据时索引表空间会加快io的速度;
表空间 段 区 块
表空间有多个段组成,每一个段又由区组成,区又由块组成,表空间其实是有数据文件组成而,数据文件其实就是一个磁盘上的空间。
《1》查看ORACLE中自带的EMP表所属的表空间:
第一种查看方式:
SQL> select tablespace_name,table_name from user_tables where table_name='EMP'; TABLESPACE_NAME TABLE_NAME ------------------------------ ------------------------------ USERS EMP
注释:user_tables:属于静态数据字典中的其中记录中该用户可用的表的信息,例如表名、所属的表空间、表的大小等一些列信息。我们可以通过命令:desc user_tables;进行查看;
可见其归属于users这个表空间:
第二种查看方式:直接在emp表上查看编辑就可以:
《2》建立自己的表空间:
首先:该用户需要具有dba或者create tablespace的权限;
sql>>create tablespace tab_space datafile 'e:\space001.dbf' size 10m autoextend on next 5m maxsize 25m uniform size 128k; result>>Tablespace created cc37
可以看到如下:
注意including后面的信息;
sql>>drop tablespace tab_space including contents and datafiles;
《4》创建用户并指向表空间:
sql>>create user QIAN identified by qian default tablespace tab_space; resutl>>User created
《5》使用表空间:
5.1把创建的表放到指定的表空间下:
sql(scott)>>create table stuinfo(id number(5),name varchar2(20),age number(3)) tablespace tab_space;
result:
sql(system)>>create table stuinfo(id varchar2(10),name varchar2(20)) tablespace tab_space;```
result:
5.2:使表空间脱机(连机):
alter tablespace tab_space offline[online];
5.3:改变表空间只读属性,不能执行update delete insert语句
alter tablespace tab_space read only; alter tablespace tab_space read write;
《6》扩展表空间:
当我我们的表空间满了时候。就需要扩容:比如出现如下信息、就需要扩容
sql>>insert into stuinfo select * from stuinfo; error>>insert into stuinfo select * from stuinfo ORA-01653: unable to extend table SCOTT.STUINFO by 16 in tablespace TAB_SPACE
6.1:增加数据文件
sql(system)>>alter tablespace tab_space add datafile 'e:\space002.dbf' size 20m; result>>Tablespace altered
注释:可以看到在e盘下多了个space002.dbf数据文件,并且在插入数据时就可以了;
6.2:增加文件的大小
alter tablespace tab_space 'e:\space001.dbf' resize 50M;
6.3:设置文件的自动增加
alter tablespace tab_space 'e:\space001.dbf' autoextend on next 10M maxsize 100M
《7》移动数据文件:
比如当磁盘出现损坏或者我们需要备份时,可以移动数据文件
1:确定你想要移动数据文件所在的表空间: sql>>select tablespace_name from dba_data_files where file_name='e:\space001.dbf'; 2:使表空间脱机: sql>>alter tablespace tab_space offline; 3.使用命令移动数据文件到指定的目标位置 sql>>host move e:\space001.dbf f:\space001.dbf; 4.移动数据文件: 在物理上移动了数据后,还必须对数据库文件进行逻辑修改 sql>>alter tablespace tab_space rename datafile 'e:\space001.dbf' to 'f:\space001.dbf' 5.使得表空间联机 sql>>alter tablespace spaceName online;
“`
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle ODI 12c之Setting Up Simple CDC