1.表空间的概述

1. 表空间是数据库的逻辑组成部分。
2. 从物理上讲,数据库数据存放在数据文件中;
3. 从逻辑上讲,数据库是存放在表空间中,表空间由一个或者多个数据文件组成。

2.oracle的逻辑组成

1.oracle 的逻辑结构包含 表 空间 段 区 块
2.数据库是由表空间构成,表空间又是有段构成,段是由区构成,区是由 oracle的块构成,这样做是为了提高数据库的效率
3.作用
A.控制数据库占用的磁盘空间
B dba 可以将不同数据类型部署到不同的位置,这样 有利于i/0的性能,同时利于备份和恢复等管理

3.查询Oracle的表空间

select tablespace_name from dba_tablespaces;  

4.创建表空间的语法和步骤

1.创建表空间采用create tablespace命令完成
2.需要注意的是一般情况下,建立表空间,是特权用户和dba来执行的。如果其他用户要创建必须要有 create tablespace 的系统权限

5.案例: 创建一个表空间

create tablespace  data01 datafile 'd:\test\data01.dbf' size  20m uniform size 128k;
// 说明:创建一个名称为 data01 的表空间,并为该表空间建立一个名称为data.01.dbf的数据文件,区的大小为128k

上面是关联一个数据文件,下面是关联两个数据文件

create tablespace data02 datafile 'd:\test\data021.dbf' size 20m,'d:\test\data022.dbf' size 20m uniform size 128k; 

6.案例: 使用自定义的表空间

create table mydept(deptno number(4),dname varchar2(14),loc varchar2(13)) tablespace data01;
//如果不指定表空间,就默认放在 SYSTEM 表空间下 create table emp(empno,ename) tablespace data01 as select empno,ename from scott.emp;
//利用其他方案的表创建自己的表后放在自定义表空间下

7.什么是表空间的状态

当建立表空间的时候,表空间处于联机的(online)状态,此时表空间是可以访问的,并且是可以读写,既可以在表空间上执行各种语句。
但是在进行系统维护或者数据维护的时候,可能需要改变表空间的状态(脱机,联机,只读)。 一般由特权用户和dba来操作

8.表空间脱机

alter tablespace 表空间名 offline;  

9.使表空间联机

alter tablespace 表空间名 online;  

10.只读表空间

alter tablespace 表空间 read only;
// 当建立表空间时,表空间可以读写,如果不希望在表空间上执行update ,delete ,insert 操作,那么可以将表空间修改为只读

11.改为读写表空间

alter tablespace tbs001 read write;  

12.显示表空间中的所有表

select * from user_tables where TABLESPACE_NAME='DATA01';
//个人发现在oralce系统中 系统表 或者 视图 是区分大写)

13.查看某表所在的表空间 (知道表名)

select tablespace_name,table_name from user_tables where table_name='EMP';

14.删除表空间

drop tablespace DATA01 including contents and datafiles;
// 说明: including contents 表示删除表空间时候,删除该表空间的所有数据对象,而datafiles 表示将数据库文件也删除。

15. 扩展表空间 oralce 有3中方法

1.添加数据文件  alter tablespace TBS001 add datafile 'd:\tbs002.dbf' size 20m;
2.增加数据文件的大小 alter database datafile 'd:\tbs001.dbf' resize 20m;
3.设置自动增长 alter database datafile 'd:\tbs002.dbf' autoextend on next 10m maxsize 500m; //9i前每个数据文件是有大小的.之后的版本有人说没有大小限制(取决自己磁盘)

16.移动数据文件(处理磁盘损坏的时候,将数据文件进行迁移)

1.找出数据文件对应的 表空间
select tablespace_name from dba_data_files where file_name='D:\TBS001.DBF';
2.使表空间脱机 确保数据文件的一致性
alter tablespacce tbs001 offline;
3.使用命令移动数据文件到指定的目标位置 (sqlplus中能成功,PL/Sql中不能成功 应是我不知道)
host move d:\tbs001.dbf c:\tbs001.dbf;
4.修改表空间对应的数据文体 为新磁盘下的数据文件
alter tablespace TBS001 rename datafile 'D:\TBS001.DBF' to 'E:\TBS001.DBF';
5.使表空间联机
alter tablespace TBS001 online;

17.查询表空间的信息

select * from dba_tablespaces;  

18.查询表空间的所有的数据文件

select file_name,bytes from dba_data_files where tablesapce_name='TBS001  

19.表空间的状态

offline,online, read only, read write;  

20.其他常用的表空间

1.索引表空间
2.undo表空间
3.临时表空间
4.非标准块的表空间

有时候我们在建表的时候,会遇到如下的命令:

create table X_SMALL_AREA
(
SMALL_AREA_ID NUMBER(10) not null
)
tablespace TBSL_SDDQ --表段X_SMALL_AREA放在表空间TBSL_SDDQ中
pctfree 10 --块保留10%的空间留给更新该块数据使用
initrans 1 --初始化事务槽的个数
maxtrans 255 --最大事务槽的个数
storage --存储参数
(
initial 64k --区段(extent)一次扩展64k
minextents 1 --最小区段数
maxextents unlimited --最大区段无限制
);

关于pctfree的相关知识,可以查看文章“oracle pctfree和pctused详解

原文链接:Oracle tablespace 表空间创建和管理

【Oracle 】tablespace 表空间创建和管理的更多相关文章

  1. oracle表空间创建及管理

    一.数据文件和数据库逻辑存储结构: 一个表空间包含一个或多个数据文件,一个表空间包含一个或多个段,一个段包含一个或多个区,一个区包含一个或多个连续的数据库块,一个数据库块包含一个或多个操作系统块.段是 ...

  2. oracle数据库表空间创建&导入&导出

    1.表空间创建 --删除表空间 drop tablespace EVPBDMGIS including contents and datafiles; --删除用户 drop user EVPBDMG ...

  3. Oracle数据库表空间创建、添加用户并授权

    --创建test表空间CREATE TABLESPACE test_data LOGGING DATAFILE '/u01/app/oracle/oradata/test/test_data.dbf' ...

  4. oracle 建表空间->创建用户并把表空间分配给用户->给用户授权->导库

    首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽) 表空间相当于表的容器(一下所有的操作都适用于o ...

  5. Oracle数据库——表的创建与管理

    一.涉及内容 1.掌握使用OEM工具创建.修改和删除表. 2.掌握使用SQL语句创建.修改和删除表. 3.掌握使用SQL语句插入.修改和删除数据. 4.理解各种约束的作用,并能够使用OEM工具和SQL ...

  6. Oracle基础表空间建立,以及练习

    Oracle的表空间创建,可以采用网页的https://127.0.0.1:1158/em来进入oracle的页面进行创建表空间. 利用plsqldev.exe程序在表空间里添加数据: 首先要在use ...

  7. Oracle创建表空间、用户管理、角色管理

    内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...

  8. oracle 表空间创建和删除

    oracle数据库:数据库对象以及表数据都存储在表空间中,创建用户时可以指定对应的表空间.这样用户可以在各自的表空间中操作数据,互不干扰. 1. 表空间创建 若不清楚表空间对应文件的路径,可以登录系统 ...

  9. oracle之表空间(tablespace)、方案(schema)、段(segment)、区(extent)、块(block)

    数据文件和日志文件是数据库中最关键的文件.它们是数据存储的地方.每一个数据库至少有一个与之相关的数据文件,通常情况下不仅仅一个,有非常多.数据在数据文件里是怎样组织的?要了解这些内容我们首先必须理解什 ...

随机推荐

  1. Is there anyway to discover which ip addresses are connected to the db?

    From mongo shell run db.currentOp() to show all active connections or db.currentOp(true) to show all ...

  2. [Docker] Getting Started with Container Networks

    It is possible to group containers into a network and we can create multi networks so that container ...

  3. PyMongo基本使用

    PyMongo基本使用   引用PyMongo >>> import pymongo 创建连接Connection >>> import pymongo >& ...

  4. KafkaOffsetMonitor 安装

    KafkaOffsetMonitor 安装   1,下载KafkaOffsetMonitor-assembly-0.2.0.jar 2,启动 步骤1:启动ZK(DN1-DN3节点) zkServer. ...

  5. android中使用WebView请求网页

    请求网页首先需要访问网络的权限,在AndroidManifest.xml添加如下内容: <uses-permission android:name="android.permissio ...

  6. 用一条sql取得第10到第20条的记录-Mssql数据库

    因为id可能不是连续的,所以不能用取得10<id<20的记录的方法. 有三种方法可以实现: 一.搜索前20条记录,指定不包括前10条 语句: select top 20 * from tb ...

  7. ZH奶酪:利用CSS将checkbox选项放大

    在Hybrid App开发过程中,html中默认的checkbox选项在手机屏幕上显得比较小,app不能像web page那样放大缩小,所以要通过CSS将checkbox选项放大: 例如HTML代码: ...

  8. SharePoint 2010 匿名用户调用Client Object Model访问列表项

    最近有个小需求,在门户首页上加个通知公告的版块,新闻来源是列表项,需要有垂直滚动的效果. 第一个想法就是通过SharePoint的Client Object Model获取列表数据再加上JQuery来 ...

  9. uni/微信小程序 - 使用字体图标

    阿里字体图标:http://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.2 1.单个/ 多个选择字体图标 2. 导入字体库 可以参考 ...

  10. Wrong FS: hdfs://xxx/xxx expected: file:///

    Eclipse调用HDFS API上传文件时出现了如下错误: Exception in thread "main" java.lang.IllegalArgumentExcepti ...