Oracle表空间
来源:互联网 发布:日本邪教知乎 编辑:程序博客网 时间:2024/05/08 20:12
表空间就是多个文件集合起来起的名字。应该表空间是由一个或者多个文件组成。表空间的大小就是三个物理文件的总和。
在建立表的时候,是将表建立在表空间上面。那么oracle就会将表里面的数据存放在表空间里面的一个文件或者多个文件里面。
这样的好处就是,表建立在表空间里面,因为数据文件不可以无穷大,假设最大2G,那么随着表的容量的增大,那么由于数据文件只能存储最大的容量为2G,那么为了解决这个问题可以向表空间里面添加文件来扩大表空间的容量。
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
系统表空间system存放的是系统的信息,存放oracle自身的信息。Oracle自身的信息存放在数据字典里面,数据字典是一些表,这些表放在system里面。也就是system里面存放的是数据字典的信息。也就是oracle的系统信息。
Sysaux是system的辅助表空间,也是存放着一些系统信息,但不是那种特别重要的信息。但是system和sysaux必须同时在线,否则数据库启动不了。
Undo表空间是系统表空间,oracle要改变一个数据块,oracle就将这个数据块改变前的数据放在undo表空间里面。
Tmp表空间里面放的是临时的数据,特别是oracle在排序的时候,如果pga空间不够就会用到tmp表空间。Tmp表空间丢了可以重建。
系统表级别空间包括sytem和sysaux,undo,tmp这四个表空间。
Users表空间是oracle默认创建的表空间,是来存放用户数据的。注意前面四个系统表空间不存放用户数据。实际生产的过程当中一般会建立很多表空间而不会去使用users表空间。
SQL> select file_name,tablespace_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
/u01/oracle/oradata/users01.dbf
USERS
/u01/oracle/oradata/undotbs01.dbf
UNDOTBS1
/u01/oracle/oradata/sysaux01.dbf
SYSAUX
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
/u01/oracle/oradata/system01.dbf
SYSTEM
Oracle是通过不同的表空间,不同的表空间存放不同的数据,进而方便我们管理数据。
可以看到一个数据库是由一个或者多个表空间组成,一个表空间是由一个或者多个数据文件组成。
一个方案就是一个用户,一个数据库由多个用户组成。每个用户下面都有表,oracle是通过用户将段组织起来。
有时候数据管理员需要将表空间设置为脱机状态,以进行数据库的维护。
这些情况包括:
1.在数据库处于open状态下移动数据文件。
2.在数据库处于open状态下恢复一个表空间或数据文件。
3.执行对表空间的脱机备份。
4.是一部分数据不可以访问,另一部分可以访问。
以下的表空间是不可以设为脱机状态:
1.系统表空间
2.上面有回滚/还原段的表空间
3.默认临时表空间
设置表空间脱机联机的示例如下:
为谨慎起见还是要先查询一下目前的状态。
要使用rman备份,可以先将users表空间脱机,可以使用
Alter tablespace users offline;
如果备份完毕之后可以使用alter tablespace users online;
了保证表空间数据完整性,比如:进行数据库备份与还原操作、历史数据的完整性保护等情况下,可以将表空间设置到只读模式。只读表空间中的表不能进行INSERT、UPDATE、DELETE等操作,但是可以删除数据库对象。
需要dba权限的用户登录才可以进行一下操作:
SQL> select tablespace_name,status from dba_tablespaces;
SQL> alter tablespace demo read only;
SQL> select tablespace_name,status from dba_tablespaces;
SQL> alter tablespace demo read write;
SQL> select tablespace_name,status from dba_tablespaces;
- ORACLE 表空间管理
- oracle 表空间操作
- Oracle重建表空间
- Oracle的表空间
- Oracle创建表空间
- oracle表空间
- oracle创建表空间
- oracle表空间
- oracle 表空间/分区
- Oracle表空间
- Oracle的表空间
- ORACLE增加表空间
- Oracle 表空间操作
- Oracle 表空间
- oracle建表空间
- Oracle文件,表空间
- oracle创建表空间
- ORACLE表空间管理
- Hdoj 1064 Financial Management(水题)
- 作为程序员的一些感想
- quartz集群配置是window启动没有问题,centos启动报错问题
- prerender 渲染骨架屏
- PXE
- Oracle表空间
- Java8新特性之接口的默认方法和静态方法
- 吞吐量译文(维基百科中的部分内容)
- 基于机器学习算法对电影评分及票房预测的深度报告
- 天气接口 API
- 虚拟环境搭建始终失败 workon不是内部指令
- 操作系统学习-6. 信号量
- 简单的节操视屏播放
- 李飞飞在谷歌开发者大会宣布谷歌AI中国中心正式成立