Oracle 表空间的创建与管理

时间:2021-07-24 08:28:30

  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;

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

  Oracle 表空间的创建与管理

  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. Unity实现刺客信条灯光的思路探究

    灯光需求 类似刺客信条的开场CG动画,场景中打着酷炫的灯光,玩家在场景中行走可以感受到灯光很真实. 参考视频:http://www.iqiyi.com/w_19rqytbmvt.html 运行环境 安 ...

  2. 分治法避免定义多个递归函数,应该使用ResultType

    总结:对二叉树应用分治法时,应避免定义多个递归函数,当出现需要递归求解多种的结果时,尽量使用ResultType来让一次递归返回多种结果. 题目:Binary Tree Maximum Path Su ...

  3. 行高不设单位的好处 line-height:1.8

    今天无意间看了到了line-height:1.8 感觉挺有意思的,然后翻了下行高的知识,发现还挺有文章的,不妨温故而知新. 先回顾下:顶线.中线.基线.底线 vertical-align是元素的垂直对 ...

  4. ASC码 .

    有些时候需要用到一些字符的ASC码,到网上查找太麻烦,现在记录下来. 第128-255号为扩展字符(不常用) Dec Hx Oct Char   Dec Hx Oct Char Dec Hx Oct ...

  5. spring+hibernate

    添加注解时spring是添加在set方法上而hibernate是添加在get方法上 事务应该加在service层上,而不是加在dao层上,如果加在dao层上回滚的时候只能回滚一个dao的实现. 事务处 ...

  6. How to avoid the 0-byte file on Webclient download error

    _client.DownloadDataAsync(new Uri(url)); _client.DownloadDataCompleted += (sender, e) => { try { ...

  7. 微信小程序-添加手机联系人

    仅供参考 1,wxml: <view bindlongtap="phoneNumTap">{{phoneNum}}</view> 2,js: data = ...

  8. Android 发送自定义广播&lpar;标准和本地&rpar;

    1.首先自定义一个广播接收器:MyBroadcastReceiver package example.com.mybroadcastreceiver; import android.content.B ...

  9. Windows安装Nginx

    环境:Windows 10 Nginx :nginx-1.13.12 安装步骤: 1.下载Nginx 进入官方网站下载页面 https://nginx.org/en/download.html 可以看 ...

  10. DB2日志清理

    1.在windows系统中,DB2 日志db2diag.log 在什么地方? 以下是IBM网站上的解答 Question Where is db2diag.log for DB2 V9.5 locat ...