Oracle数据库创建之后有一些默认的表空间随之被创建,查询数据字典 dba_data_files 可以得到数据库当前的所有表空间信息。

  select * from v$tablespace;

  select tablespace_name, file_name, bytes/1024/1024 as "Size(M)" from dba_data_files;

  select tablespace_name, file_name,bytes/1024/1024 as "Size(M)" from dba_temp_files;

  各默认表空间的作用如下图所示:

  

  1 创建表空间与临时表空间

  create tablespace default_tablespace datafile '/home/oracle/oradata/default_tablespace.dbf' -- 指定表空间对应的数据文件名称与位置
  size 100m -- 初始大小
  autoextend on next 50M -- 容量满时是否自动增加,每次增加的幅度
  maxsize unlimited -- 是否有最大限制
  extent management local -- 指定表空间扩展方式是使用数据字典管理还是本地化管理,默认为本地化管理

  logging; -- 表空间内的表在加载数据时是否产生日志,默认为产生日志,不产生日志设为:nologging

  create temporary tablespace temp_tablespace
  tempfile '/home/oracle/oradata/temp_tablespace.dbf'
  size 50m
  autoextend on
  next 50m maxsize unlimited
  extent management local;

  2 设置默认表空间

  Oracle 数据库在创建用户时,如果不指定表空间,则默认的临时表空间是 TEMP, 默认的永久表空间为SYSTEM,这样会导致应用系统与Oracle 系统竞争使用SYSTEM 表空间,极大的影响Oracle 系统效率;因此我们在数据库创建之后要为应用系统设置默认的临时表空间与永久空间;

  查看当前的默认表空间,默认临时表空间

  select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';

  select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

  修改默认表空间

  alter database default tablespace default_tablespace;

  

  修改默认临时表空间

  alter database default temporary tablespace temp_tablespace;

  3 维护表空间

  表空间有两种状态:只读、读写;若设置表空间为只读状态,则用户不能对该表空间中进行DML操作;设置为只读状态可以保证表空间数据的完整性,通常在进行数据备份、恢复及历史数据完整性保护时,可以将表空间设为只读状态。

  alter tablespace default_tablespace read only;
  alter tablespace default_tablespace read write;

  4 重名命表空间

  alter tablespace default_tablespace rename to default_tablespace_new;

  

  5 删除表空间

  drop tablespace test1
  including contents
  cascade constraints;

  

  6 维护表空间对应的数据文件

  添加数据文件

  alter tablespace test1 add datafile '/home/oracle/oradata/test2.dbf'
  size 50m
  autoextend on next 20m
  maxsize unlimited;

  删除数据文件

  alter tablespace test1 drop datafile '/home/oracle/oradata/test2.dbf';

  修改数据文件 

  alter database datafile '/home/oracle/oradata/test2.dbf'
  autoextend on next 10m maxsize unlimited;

  

  alter database datafile '/home/oracle/oradata/test2.dbf'
  autoextend off;

  7 查询数据库当前使用情况

select a.file_id,b.file_name,
b.tablespace_name,
sum(b.bytes/1024/1024) "Size(M)",
sum(a.bytes)/1024/1024 "Free(M)",
(sum(b.bytes) - sum(nvl(a.bytes, 0)))/1024/1024 "Used(M)",
substr((sum(b.bytes) - sum(nvl(a.bytes, 0))) / sum(b.bytes) * 100, 1, 5) "Used%"
from
(
select file_id, sum(bytes) as bytes
from dba_free_space
group by file_id
) a,

dba_data_files b

where a.file_id = b.file_id
group by b.tablespace_name, b.file_name,a.file_id
order by b.tablespace_name;

Oracle 表空间的创建与管理的更多相关文章

  1. Oracle表空间的创建与删除

    ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Orac ...

  2. Oracle表空间概述及其基本管理

    最近在工作中遇到有同事对Oracle表空间的理解有问题,所以写了这篇文章.我会从概念,管理及特别需要关注的点等几个维度对表空间进行一些介绍.本文以介绍表空间为主,涉及到的其他概念不展开描述.有问题的地 ...

  3. oracle 创建表空间、创建用户管理该表空间

    /*分为四步 *//*第1步:创建临时表空间  */create temporary tablespace user_temp  tempfile 'D:\oracle\oradata\Oracle9 ...

  4. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  5. Oracle 表空间和用户权限管理【转】

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  6. oracle表空间的创建及dmp 文件的导入

    --用oracle系统权限的账号 登陆 -- 1.创建用户 create user u_name identified by "u_password"; --2.赋予权限 gran ...

  7. oracle表空间的创建+权限分配

    /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9 ...

  8. ORACLE表空间管理维护

    1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示, ...

  9. Oracle表空间管理

    oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;              //修改表空间数据文件类型 2.ALT ...

随机推荐

  1. Socket引子

    === ''' Socket网络编程: --应用层:http smtp dns ftp ssh snmp dhcp... 无论协议是什么本质上都是数据交换,总结为两种方式:收和发 --传输层(端口Po ...

  2. C#基础知识之读取xlsx文件Excel2007

    读取Excel 2007的xlsx文件和读取老的.xls文件是一样的,都是用Oledb读取,仅仅连接字符串不同而已. 具体代码实例: public static DataTable GetExcelT ...

  3. MYSQL动态查询拼接的表名的SQL脚本实现(MYSQL动态执行SQL脚本)

    可以使用MYSQL的预处理逻辑:https://dev.mysql.com/doc/refman/8.0/en/sql-syntax-prepared-statements.html   例如: pr ...

  4. 七彩爱心灯手机APP

    安卓IDE3.20以后不包含sdk,需要更新重新下载. 1 下载工程 https://github.com/Dongvdong/Lovelamp_app 2打开工程 如果换了工程移动换了文件夹 (1) ...

  5. 08 python 初学(字典)

    字典是 python 中唯一的映射类型 .采用键值对(key-value)的形式存储数据. python 对 key 进行哈希函数运算,根据计算的结果决定 value 的存储地址,所以字典时无需存储的 ...

  6. GDB 命令回顾

    0) 为使用 GDB, 编译时需要加入调试信息 -g 选项,例如, $ gcc -g test.c -o test 1) 使用 GDB 开始调试 $ gdb test 也可以, $ gdb $ fil ...

  7. automake - 使用 autotools 工具集

    一般而言,对于小项目或玩具程序,手动编写 Makefile 即可.但对于大型项目,手动编写维护 Makefile 成为一件费时费力的无聊工作. 本文介绍 autotools 工具集自动生成符合 Lin ...

  8. Java中Enumeration接口的用法

    Enumeration是java.util中的一个接口类,在Enumeration中封装了有关枚举数据集合的方法,与Iterator差不多,用来遍历集合中的元素  但是枚举Enumeration只提供 ...

  9. Spring容器的简单实现(IOC原理)

    引言:容器是什么?什么是容器?Spring容器又是啥东西?我给Spring容器一个对象名字,为啥能给我创建一个对象呢? 一.容器是装东西的,就像你家的水缸,你吃饭的碗等等. java中能作为容器的有很 ...

  10. WebBench压力测试工具(详细源码注释+分析)

    本文适合人群:对WebBench实现感兴趣的人 WebBench原理: Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程在测试时间内不断发送请求报文,建立多个连接,然后由父 ...