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_ ...
随机推荐
- javascript form 第22节
<html> <head> <title>Form对象</title> </style> <script type="tex ...
- 字符设备驱动、平台设备驱动、设备驱动模型、sysfs的比较和关联
转载自:http://www.kancloud.cn/yueqian_scut/emlinux/106829 学习Linux设备驱动开发的过程中自然会遇到字符设备驱动.平台设备驱动.设备驱动模型和sy ...
- Linux之在CentOS上一次艰难的木马查杀过程
今天朋友说他一台要准备上线的生产服务器被挂马,特征ps命令找不到进程,top能看到负载最高的一个程序是一个随机的10位字母的东西,kill掉之后自动再次出现一个随机10位字母的进程. 我让他关闭这个机 ...
- jQuery中模拟用户操作
有时为了节省不想手动操作网页,但又想看到用户操作时的效果,可以用到jQuery提供的trigger方法.见下图代码 在不点击按钮时仍然想弹出this.value 我们只需要在后面加上.trigger( ...
- 支持HTML5新标签
IE8/IE7/IE6支持通过document.createElement方法产生的标签, 可以利用这一特性让这些浏览器支持HTML5新标签, ...
- php使用phpmailer发送邮件
本人新手,由于要做邮件发送验证码,所以找到和搜集到这些,本人亲测完全可以用 这是163邮箱的 因为不是企业邮箱填写的账号是163的账号,但是密码是授权码 授权码的获取方式为:
- 挑战Python-20160826
给你一字典a,如a={1:1,2:2,3:3},输出字典a的key,以','链接,如‘1,2,3'.
- javaWeb中的/路径问题
在写javaweb的时候,在写路径的时候,/有时候表示站点根目录,有时候表示当前web应用根目录,究竟如何区分呢? 首先,我们建议开发的时候,跳转之类的都是用绝对路径(注意:不是物理路径),而不是使用 ...
- windows8.1专业中文版一个可用的密钥分享
分享一个windows8.1专业中文版一个可用的密钥,亲测可用,联网输入密钥激活即可. PKHMN-TWQ6R-XDTH7-P4WW4-YR9T7
- CODEVS 1638 修复公路
题目描述 Description A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车.政府派人修复这些公路. 给出A地区的村庄数N,和公路数M,公路是双向的.并告诉你每条公路的连着哪两个村庄, ...