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_ ...
随机推荐
- asp:第三平台登陆
第三平台登陆接口申请网址: http://open.51094.com/ 文档: 第三方合作登录平台使用说明 为方便更多的开发朋友,本人特将当前市面上所有支持第三方联合登录的接口集为一体,以前需要多次 ...
- undrop for innodb c_parser 源码分析
一,主函数功能: 1,分析命令行参数,保存在全局变量中; 2,打开文件,加载表定义sql,调用分析函数开始处理; 3,打印导入数据的sql语句; 二,文件处理函数,void process_ibfil ...
- 九度OJ 1447 最短路 1008 最短路径问题
题目地址:http://ac.jobdu.com/problem.php?pid=1447 题目描述: 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上 ...
- a标签根据js返回值判断页面是否跳转
a标签再跳转之前先判断是否符合条件,符合可以跳转,不符合不可以跳转. 自己遇到的问题是:在js方法中根据条件就return结果,但是不行. 原因是:在js方法中return后不会结束整个js方法(ac ...
- Web前端新人笔记之CSS字体
本章内容是阅读CSS权威指南的一个小积累和随笔.新人必看,老鸟也可查看并指出不足指出以便后人阅读更好地理解.O(∩_∩)O谢谢!!!设置字体属性时样式变的最常见的用途之一:不过,尽管字体选择很重要,但 ...
- htmlt中的块状元素与内联元素
块元素(block element) address - 地址 blockquote - 块引用 center - 举中对齐块 dir - 目录列表 div - 常用块级容易,也是CSS layout ...
- 尚学堂JavaEE项目备选
偶然得知:记下待练 微博 软件人才网 论坛 博客系统 京东网上商城 赶集网 拉手网 优酷视频 百度知道(问答) 生产管理系统 房屋租赁网 金融股票
- C#基础(七)——静态类与非静态类、静态成员的区别
静态类 静态类与非静态类的重要区别在于静态类不能实例化,也就是说,不能使用 new 关键字创建静态类类型的变量.在声明一个类时使用static关键字,具有两个方面的意义:首先,它防止程序员写代码来实例 ...
- Aspose.Words 总结
生成答题卡 try { string tempPath = @"D:\moban\ttt.doc"; //Open document and create Documentbuil ...
- 开发设计模式(二) ActiveObject模式
ActiveObject模式: ActiveObject模式和Command模式的配合使用是实现多线程控制的一项古老的技术,该模式有多种使用方式,为许多工业系统提供了一个简单的多任务核心. // 活动 ...