Oracle系列之表空间
涉及到表的处理请参看原表结构与数据 Oracle建表插数据等等
创建表空间等等
select tablespace_name from dba_tablespaces;--dba权限用户查询数据库中的表空间
select * from all_tables where tablespace_name='tablespace_name';--查询表空间中的表,注意大写
select tablespace_name,table_name from user_tables where table_name='tb_Employee';--查询表处于哪个表空间
--创建用户的时候定义默认表空间,设置用户默认的表空间和临时的表空间,并设置用户建立的数据对象最大只能是3m,设置初始账户为锁定状态
create user db_user identified by password default tablespace tablespace_name temporary tablespace tablespace_name quota 3m on tablespace_name account lock;
create tablespace tablespace_name datafile 'E:\tablespace_name.dbf' size 20m uniform size 128k;--建立表空间
create table table_name(deptno number(4),dname varchar2(14),loc varchar2(13)) tablespace tablespace_name;--为表指定表空间
create index index_name on table_name(column_name) tablespace tablespace_name;--为索引指定表空间
alter user db_user default tablespace tablespace_name;--修改用户默认表空间
拥有unlimited tablespace权限的用户可在任意表空间上操作(grant unlimited tablespace to db_user)。没有unlimited tablespace权限的用户要在非默认表空间上操作需要在目标表空间有一定的配额,即在目标表空间分配给用户一定的空间或者不限制空间。
alter user db_user quota 100m||unlimited on tablespace_name;
改变表空间的状态
当建立表空间时,表空间处于联机的(online)状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表空间执行各种语句。但是在进行系统维护或是数据维护时,可能需要改变表空间的状态。一般情况下,由特权用户或是dba来操作。
alter tablespace tablespace_name offline;--1. 使表空间脱机
alter tablespace tablespace_name online;--2. 使表空间联机
当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update,delete,insert操作,那么可以将表空间修改为只读
alter tablespace tablespace_name read only;--3. 只读表空间
(修改为可写是 alter tablespace tablespace_name read write;)
我们给大家举一个实例,说明只读特性:
select * from all_tables where tablespace_name='tablespace_name';--知道tablespace_name,显示该表空间包括的所有表,查询表空间中的表,注意大写
select tablespace_name, table_name from user_tables where table_name='tb_Employee';--知道table_name,查看该表属于那个表空间
通过2.我们可以知道system.tb_Employee是在system这个表空间上,现在我们可以将system改为只读的但是我们不会成功,因为system是系统表空间,如果是普通表空间,那么我们就可以将其设为只读的,给大家做一个演示,可以加强理解。
alter tablespace tablespace_name read only;
alter tablespace tablespace_name read write;--使表空间可读写
一般情况下,由特权用户或是dba来操作,如果是其它用户操作,那么要求用户具有drop tablespace系统权限。
drop tablespace tablespace_name including contents and datafiles;--删除表空间
说明:including contents表示删除表空间时,删除该空间的所有数据库对象,而datafiles表示将数据库文件也删除。
扩展表空间
表空间是由数据文件组成的,表空间的大小实际上就是数据文件相加后的大小。那么我们可以想象,假定表tb_Employee存放到tablespace_name表空间上,初始大小就是2m,当数据满2m空间后,如果在向tb_Employee表插入数据,这样就会显示空间不足的错误。
案例说明:
1. 建立一个表空间 fj01
2. 在该表空间上建立一个普通表 mydment 其结构和dept一样
3. 向该表中加入数据 insert into mydment select * from dept;
4. 当一定时候就会出现无法扩展的问题,怎么办?
5. 就扩展该表空间,为其增加更多的存储空间。有三种方法:
1. 增加数据文件
alter tablespace fj01 add datafile 'E:\fj01.dbf' size 20m;
2. 增加数据文件的大小
alter tablespace tablespace_name 'E:\fj01.dbf' resize 20m;
这里需要注意的是数据文件的大小不要超过500m。
3. 设置文件的自动增长。
alter tablespace tablespace_name 'E:\fj01.dbf' autoextend on next 10m maxsize 500m extend management local;
删除表空间及其所有内容,同时删除其所对应的数据文件:
drop tablespace tablespace_name including contents and datafiles;
删除表空间及其所有内容,同时删除其所对应的数据文件,以及其他表空间中与表空间相关的参照完整性约束:
drop tablespace tablespace_name including contents and datafiles cascade constraints;
Oracle系列之表空间的更多相关文章
- 记一次ORACLE的UNDO表空间爆满分析过程
这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...
- Oracle 10g bigfile表空间、smallfile 表空间
smallfile tablespace设置不同大小的db_block_size时数据文件允许的最大大小 db_block_size=2KB,2KB*4M=8192M 8Gdb_block_ ...
- Oracle 10g创建表空间的完整步骤详解
本文我们主要介绍了Oracle 10g创建表空间的完整步骤,包括表空间的创建与删除.为应用创建用户以及权限的授予等操作,希望能够对您有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专 ...
- 如何让Oracle释放undo表空间
如何让Oracle释放undo表空间 最佳答案 在日常的数据库维护和数据库编程中经常会遇到犹豫对大数据量做DML操作后是得ORACLE的undo表空间扩展到十几个G或者几十个G 但是这些表空间 ...
- [Oracle]理解undo表空间
一.回退段介绍 在Oracle数据库中,当某个事物对数据进行修改时,Oracle首先将数据的原始值保存到一个回退段中.一个事物只能将它的回退信息保存到一个回退段中,而多个并行事物可以使用同一个回退段. ...
- oracle用户与表空间操作
oracle系统用户sys,system , sysman, scott 使用system用户登录[username/password][@server][as sysdba|sysoper]eg: ...
- Oracle系列-锁表与解锁解决方案(大招版)-解决问题才是王道
[Oracle系列-锁表与解锁解决方案(大招版)] --1查看被锁的表 select b.owner,b.object_name,a.session_id,a.locked_mode from v$l ...
- 删除Oracle用户及表空间
--转载自 https://blog.csdn.net/sunny05296/article/details/81126548--以sysdba用户登录,查找需要删除的用户conn / as sysd ...
- Oracle笔记之表空间
Oracle中有一个表空间的概念,一个数据库可以有好几个表空间,表放在表空间下. 1. 创建表空间 创建表空间使用create tablespace命令: CREATE TABLESPACE foo_ ...
随机推荐
- Linq JsRender
http://blog.csdn.net/linfei721/article/details/8973683
- 重新安装Ubuntu12.04
重新安装Ubuntu12.04 之所以我重新安装Ubuntu,因为我第一次给根目录分配的空间过小,好像是20GB吧~结果编译Android的时候,编译了3个小时候直接中止掉了.郁闷.这个也告诉我们一定 ...
- Qt-获取主机网络信息之QNetworkInterface
QNetworkInterface类提供了一个主机IP地址和网络接口的列表. QNetworkInterface表示了当前程序正在运行时与主机绑定的一个网络接口.每个网络接口可能包含0个或者多个IP地 ...
- C# 创建XML文档
有些时候我们需要生成一个xml文档作为数据交换的容器.当然我们用拼接字符串的方法来进行构建xml,但是这种方法虽然简单有效,但是如果xml文档结构过于复杂,拼接字符串会让人眼花缭乱.这时候就需要C#给 ...
- 掌握 ActionResult
我在上一篇博客不要停留在表面,MVC 3 我们要深入一些 说明了我们的掌握程度还是不够,还需要我们继续努力.但是有园友质疑说他们认为我说的只是书院派,并不实用,这令作为程序员的我很是生气.好吧,那咱们 ...
- php结合jquery异步上传图片(ajaxSubmit)
php结合jquery异步上传图片(ajaxSubmit),以下为提交页面代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi ...
- Makefile 多目录自动编译
适用于多目录结构 C 工程自动编译. makefile 分成三类: 1. 工程根目录 makefile : 这个makefile执行分成两个阶段 a)递归进入每个子目录, 逐个执行子目录里面的 ma ...
- OFBiz之SVN下载地址
trunk: $ svn co http://svn.apache.org/repos/asf/ofbiz/trunk ofbiz release13.07: $ svn co http://svn. ...
- 成为Java GC专家(4)—Apache的MaxClients参数详解及其在Tomcat执行FullGC时的影响
下面我们看一下Apache的 MaxClients 参数在Full GC 发生时是如何影响系统的. 大部分开发人员都知道在由于GC发生而导致的”停止世界现象(STW) “(详细请参见Understan ...
- Appdelegate 导航操作
隐藏返回按钮 self.navigationItem.hidesBackButton = YES; 设置导航的透明度 self.navigationController.navigationBar.t ...