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_ ...
随机推荐
- SVG实现描边动画
说起SVG,我是恨它又爱它,恨它是因为刚开始接触的时候自己傻B地想用代码去写它,其实在web上我们用它做交互也只是用了几个常用的特性而已,其他的标签知道这么一回事就成了,其实说白了它就是一种图片格式, ...
- c# DataTable 中 Select 和 Clone 用法结合
C# DataTable是存放数据的一个离线数据库,将数据一下加载到内存. DataTable.Select ()方法: Select();//全部查出来 Select(过滤条件);//根据过滤 ...
- 九度OJ 1214 寻找丑数【算法】
题目地址:http://ac.jobdu.com/problem.php?pid=1214 题目描述: 把只包含因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因 ...
- validate中remote的用法
jquery中的插件validate主要可以用于表单验证,极大地方便了我们,而validate中的remote方法更是非常的方便.以下介绍它的两个主要用途 1.注册时用于验证用户名是否存在 >& ...
- JavaScript 作用域和作用域链
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理.今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望 ...
- 电脑升级完Xcode8后 注释快捷键无效的问题
1.部分电脑升级完Xcode8 后直接重启电脑就可以使用Command +/ 快捷键注释代码, 2.如果上述方法没有效果,可以在终端输入sudo /usr/libexec/xpccachectl 然 ...
- Codeforces 55D Beautiful Number
Codeforces 55D Beautiful Number a positive integer number is beautiful if and only if it is divisibl ...
- 树莓派 raspberry 入门之安装操作系统以及配置
最近新入手一树莓派,型号是2代B,屏幕是微雪的7 inch c型 显示屏.下面来教大家怎么点亮树莓派. 第一步,装好显示器,显示器的电源接在树莓派的usb口上,HDMI口不多说,连上.然后装好鼠标.键 ...
- 面向站长和网站管理员的Web缓存加速指南
详细了解HTTP缓存控制及为什么要缓存. 英文版: http://www.mnot.net/cache_docs/ 中文版:http://www.chedong.com/tech/cache_docs ...
- uCGUI简介
何为GUI? GUI是Graphic User Interface(图形用户界面)的缩写.最早的操作系统都是字符界面,使用者必须记忆和输入许多指令.而现在广泛使用的Windows操作系统则是适应GUI ...