表空间是Oracle数据库最大的逻辑存储结构,有一系列段构成。Oracle数据库对象存储结构的管理主要是通过表空间的管理实现的。

1.表空间的分类

表空间根据存储类型不同分为系统表空间和非系统表空间

根据组成表空间的数据文件的大小不同分为大文件表空间和小文件表空间

根据数据库块戴奥不同分为标准块表空间和非标准块表空间

(1)系统表空间

system 表空间主要存储:

数据库的数据字典

PL/SQL程序的源代码和解释代码

数据库对象的定义,如表、视图、序列、同义词等。

一般在system表空间中只应该保存属于SYS模式的对象,而不应该把用户对象存放在SYSTEM表空间中,以免影响数据库的稳定性与执行效率。

sysaux是辅助系统表空间,主要存放实例的数据库方案对象信息等,以减少system表空间 的负荷。

(2)非系统表空间。

临时表空间:存放临时数据的表空间

撤销表空间:专门用于回退信息管理的表空间

用户表空间:为每个应用独立创建的表空间

(3)小文件表空间:是系统默认的表空间类型。每个小文件表空间最多可以包含1022个数据文件。

(4)大文件表空间:是指一个表空间只包含一个大的数据文件。

(5)标准块表空间:是基于标准数据块大小的表空间。

(6)非标准表空间:是基于非标准数据块创建的表空间。

oracle11g会创建6个默认的表空间。

2.表空间的管理方式

(1)数据字典管理方式

表空间使用数据字典来管理存储空间的分配。在进行区的分配和回收时,oracle会对数据字典中的相关基础表进行更新,同时会产生回退信息。正逐渐被淘汰。

(2)本地管理方式

在本地管理方式中,区的分配和回收信息都存储在表空间的数据文件中,与数据字典无关。表空间在每个数据文件的头部维护一个 bitmap。用于记录所有区的使用情况。

3.表空间中区的分配与段的管理。

(1)区的分配:

在表的本地管理方式中,区的分配方式有两种

定制:指定区的大小,表空间所有区的大小相同,默认为1M

自动:由oracle系统自动决定每个区的大小,用户不能通过其他参数来干预分配。这是本地表空间的默认分配方式。

(2)段的管理方式:

manual手动管理方式:使用空闲列表来管理端中的空闲数据块。

auto(自动管理方式):使用bitmap来管理福安中可用数据块与已用数据块。这是11g中的默认设置。

4.表空间的管理策略

(1)将数据字典与用户数据分离,避免由于数据字段对象和用户对象保存在同一个数据文件中而产生I/O冲突。

(2)将回退数据与业务数据分离,避免大量回退信息与业务数据竞争I/O

(3)将表空间的数据文件分散保存到不同的硬盘上,平均分布物理I/O操作。

(4)为不同的应用建立不同的表空间,以防止应用数据之间的干扰。

(5)将某个表空间设置为脱机状态,以方便对数据库的一部分进行备份或恢复。

(6)将某个表空间设置为只读状态,从而将数据库的一部分设置为只读状态。

创建表空间

       1.create tablespace语句

2.创建本地管理表空间

为orcl数据库创建一个本地管理的永久表空间TBS1,区采用自动分配方式,段采用自动管理方式。

SQL> create tablespace tbs1 datafile 'D:\DISK1\TBS1_1.DBF'SIZE 50M;

表空间已创建。

        为orcl数据库创建一个本地管理的永久表空间tbs2,区采用定制分配方式,区大小为512KB,段采用自动管理方式。

SQL> create tablespace tas2 datafile 'D:\disk1\tbs2_1.dbf'size 50M
2 extent management local uniform size 512K; 表空间已创建。

为orcl数据库创建一个本地管理的永久表空间TBS5,第一个区的大小为10M,第二个区大小为10M,后续增长10%

SQL> create tablespace tbs5 datafile 'D:\disk1\tbs5_1.dbf' size 50M
2 default storage(initial 10M next 10M pctincrease 10)
3 segment space management manual; 表空间已创建。

3.创建大文件表空间

可以通过alter database语句改变数据库默认创建的表空间的文件类型。

SQL> alter database set default bigfile tablespace;

数据库已更改。

SQL> alter database set default smallfile tablespace;

数据库已更改。

  只有段采用自动管理方式的本地管理的表空间才可以定义为大文件表空间,而本地管理的撤销表空间、临时表空间以及SYSTEM表空间只能定义为小文件表空间。

SQL> create bigfile tablespace bigtbs1 datafile 'D:\disk1\bigfile1_1.dbf' size 100M
2 autoallocate segment space management auto; 表空间已创建。

    4.创建非标准块表空间

在orcl数据库创建一个数据块大小为16KB的表空间TBS16,数据文件大小为50M,区采用定制分配,每个区大小为128KB.

SQL> alter system set db_16k_cache_size=16384;

系统已更改。

SQL> create tablespace tbs16
2 datafile 'D:\disk1\tbs16_1.dbf' size 50M
3 extent management local uniform size 128K blocksize 16K; 表空间已创建。

  5.改变表空间的读写性

默认情况下,表空间都是在处于读写状态的,任何具有配额和权限的用户都可以读写表空间。

将表空间设置为只读状态的语法为:

alter tablespace tablespace_name read only;

6.重命名表空间

alter tablespace old_tbs_name rename to new_tbs_name;

7.设置默认表空间

alter database default tablespace tablespace_name;

8.备份表空间

对表空间进行联机备份的步骤:

(1)获取要进行连接备份的表空间锁拥有的所有数据文件的列表。

(2)使用alter tablespace........begin backup 语句将表空间设置为备份模式。

(3)在操作系统中备份表空间所拥有的所有数据文件

(4)使用alter tablespace.......end backup语句结束表空间的备份模式。

9.删除表空间

drop tablespace  tbs_name [including contents]  [and  datafile] [cascade  constraints];

Oracle数据库体系结构(7) 表空间管理1的更多相关文章

  1. Oracle数据库之创建表空间与用户

    Oracle数据库之创建表空间与用户 一.创建表空间 基本语法表述: CREATE TABLESPACE tablespace_name [DATAFILE datafile_spec1 [,data ...

  2. 实例讲解Oracle数据库设置默认表空间问题

    实例讲解Oracle数据库设置默认表空间问题   实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在O ...

  3. Oracle 数据库中查看表空间的2种方法

    在Oracle数据库中查看表空间使用状况是我们在实际应用中经常涉及到的,以下的内容就就是对Oracle 数据库中查看表空间使用状况时所要用到的SQL的描述,希望你能从中获得自己想要的东西. Oracl ...

  4. Oracle数据库对象(表空间/同义词/序列/视图/索引)

    数据库对象 Oracle数据库对象: 数据库对象是数据库的组成部分,常常用 CREATE 命令进行创建,可以使用 ALTER 命令修改,用 DROP 执行删除操作. 种类: (1)表空间:所有的数据对 ...

  5. Oracle数据库自带表空间的详细说明

    1.SYSAUX表空间 SYSAUX表空间在Oracle Database 10g中引入,作为SYSTEM表空间的辅助表空间.以前一些使用独立表空间或系统表空间的数据库组件现在在SYSAUX表空间中创 ...

  6. Oracle数据库自带表空间

    需求:需要整理现场用户创建的表空间以及其存储数据,进行规范化管理.在整理用户现场建立的表空间时,需要排除掉非用户创建的表空间,所有首先需要那些表空间是用户创建的,那些是Oracle自带的. 本机测试建 ...

  7. Oracle 数据库创建、表空间创建、用户创建 步骤

    一.数据库创建: 1.利用数据库配置助手(DBCA,Database Configuration Assistant)图形化方式 2.创建完成之后,找到  D:\oracle\product\11.2 ...

  8. Oracle数据库不能创建表空间及表中文乱码问题

    1.不能创建表空间问题 datafile为表空间的存放位置,没有将表空间存放路径指定为orcl数据库时,创建表空间出错如下 查看自己的Oracle安装位置,我的Oracle10g安装在虚拟XP系统中, ...

  9. oracle数据库中创建表空间和临时表空间,以及用户和密码以及设置密码永不过期

    首先进入oracle用户,命令是: su - oracle sqlplus /nolog connect system/123456@ora11g 或者 [oracle@localhost ~]$   ...

  10. Oracle数据库用户及表空间操作

    //创建数据表空间 create tablespace test_data datafile '/u01/user_data.dbf' size 50m autoextend on next 50m ...

随机推荐

  1. 对于刚開始学习的人Xcode最经常使用的快捷键

    对于刚開始学习的人而言,好多人都是直接使用鼠标进行操作.差点儿非常少使用快捷键,从而再练习编程时比别人慢那么一点,今天就把刚開始学习的人最经常使用的几个快捷键给大家总结下,当然欢迎大家补充. (1)c ...

  2. springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置

    无意中发现对于时间字符串转Date类,根本不用自己去写转换类,spring mvc已经实现了该功能,还是基于注解的,轻松省事,使用 org.springframework.format.support ...

  3. CentOS6.8 搭建SVN并用钩子自动实现同步到web目录

    一 安装 yum install subversion 二 检查是否安装成功 svn --version 三 创建仓库目录 mkdir –p /home/svnroot/test 四 创建项目 svn ...

  4. 会话管理之Cookie技术

    会话管理是web开发中比较重要的环节,这一节主要总结下会话管理中的cookie技术. 1. 何为会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个 ...

  5. zxing学习笔记 android入门

    对于刚开始学习android开发的童鞋们来说,若有一个简单而又全面的android工程能来剖析,那就是再好不过了,zxing就是不错得例子.    zxing的源码可以到google code上下载, ...

  6. 改变UITextField的Placeholder颜色

    通过 attributedPlaceholder 属性来改变 if([textField respondsToSelector:@selector(setAttributedPlaceholder:) ...

  7. spring源码解析之IOC容器(二)------加载和注册

    上一篇跟踪了IOC容器对配置文件的定位,现在我们继续跟踪代码,看看IOC容器是怎么加载和注册配置文件中的信息的.开始之前,首先我们先来了解一下IOC容器所使用的数据结构-------BeanDefin ...

  8. oracle、MySQL、SQL Server的比较

    MySql的优点:1 MYSQL支持5000万条记录的数据仓库(3.x版本就支持了) 2 MYSQL适应所有平台 . 3 MYSQL是开源软件,开源的东西似乎总是比较实在一点,不会有太多商业化的考虑. ...

  9. Linux2_小技巧

    0 鼠标不灵么: 左侧设置图标----显示----未知显示屏--关闭 1 左侧自动隐藏 右键---更改桌面背景---行为--隐藏 2 终端打开 搜索到终端添加到左侧 ctrl+alt+T快捷打开 ct ...

  10. React antd嵌入百度编辑器(css加载不到等问题,'offsetWidth' of null)

    之前有看过一些类似的文章,以为嵌入不会遇到太多坑 结果...    其他不说,先来描述下跳坑的过程 先定义Ueditor.js类,这个和网上版本类似 import React, { Component ...