度量快速开发平台-专业、快速的软件定制快开平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 2840|回复: 6
打印 上一主题 下一主题

[分享] Oracle数据库、表空间、数据文件

[复制链接]

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
跳转到指定楼层
楼主
发表于 2020-7-12 16:18:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

数据文件是数据库的物理存储单位,而表空间则是数据库的逻辑组成部分。数据库的数据是存储在表空间中的,而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。


数据库,表空间,数据文件,是紧密关联的,但它们有着重要的区别:


数据库和表空间   

一个Oracle数据库由一个或多个叫做表空间的逻辑存储单元组成,表空间存储了所有数据库的数据。

表空间和数据文件   

在Oracle数据库中的每一个表空间由一个或多个叫做数据文件的文件组成,文件是遵守Oracle运行的操作系统的物理结构,一个数据文件只能隶属于一个表空间。

数据库和数据文件   

数据库的数据是集中存放在组成数据库的每个表空间的数据文件中。

数据库用户和表空间

一个数据库用户可以使用一个或者多个表空间,一个表空间也可以供多个用户使用。用户和表空间没有隶属关系。


查询表空间和数据文件

select  t .* from sys.dba_tablespaces t ;


select  t .* from sys.dba_data_files  t ;


实际工作中,发布数据量很大的工程时,建立表空间时有两种方法

       方法1,建立一个表空间和一个数据文件,将表空间设置成自增长。这种方法的优点是创建一次表空间和数据文件就行了,以后表空间不够用,Oracle会自动扩展数据文件的大小。缺点就是,数据文件会越来越大,以后存放和管理时,很麻烦。(ps:个人认为,这种不可控的文件增长,越来越巨大的单个数据文件,总之是很难受的,所有不建议这么做。)

--创建表空间


create tablespace test_tablespace

logging

datafile 'f:\oracle\product\10.2.0\oradata\test_tablespace.dbf' --数据文件路径

size 2048mautoextend on next 1023M

maxsize unlimited

extent management local

segment space management auto;

       方法2,创建多个数据文件,将这些数据文件赋给一个表空间,表空间设置成固定大小。当表空间不足时,新建新的数据文件,赋给表空间。这种方法,增长是可控的,个人比较喜欢这种方式。

--创建表空间

create tablespace test_tablespace

logging

datafile 'f:\oracle\product\10.2.0\oradata\test_tablespace.dbf'

size 1023M

autoextend on next 1023M

maxsize 2048m

extent management local

segment space management auto;

--给表空间添加数据文件

alter tablespace test_tablespace add

datafile 'f:\oracle\product\10.2.0\oradata\test_tablespace01.dbf'

size 1023M  

autoextend on next 1023M

maxsize 2048m;

--表空间和数据文件查询语句

select  t .* from sys.dba_tablespaces t where t.tablespace_name = 'TEST_TABLESPACE';

select  t .* from sys.dba_data_files  t where t.tablespace_name = 'TEST_TABLESPACE';

--查询表空间利用率

select a.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间大小M,(b.b2-a.a2)/1024/1024 已使用M,

substr((b.b2-a.a2)/b.b2*100,1,5) 利用率

from

(select  tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,

(select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,

(select tablespace_name c1,contents c2,extent_management c3  from dba_tablespaces) c

where a.a1=b.b1 and c.c1=b.b1;

删除表空间:   

意味着表空间和数据文件的信息从数据库中删除,同时也应该将相应的操作系统文件删除

不能删除的表空间

系统表空间

有活动回滚段的表空间

默认临时/永久表空间

命令:   DROP TABLESPACE tablespace_name [INCLUDING CONTENTS [AND DATAFILES]]

               INCLUDING CONTENTS                -- 删除表空间及所有段

               INCLUDING CONTENTS [AND DATAFILES] --删除表空间、所有段、数据文件、同时删除系统中的物理文件

例子:

drop  tablespace TEST_TABLESPACE including contents and datafiles;


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

348

主题

3572

帖子

9723

积分

论坛元老

Rank: 8Rank: 8

积分
9723
沙发
发表于 2020-7-12 21:27:59 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9723

积分

论坛元老

Rank: 8Rank: 8

积分
9723
板凳
发表于 2020-7-12 21:29:01 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9723

积分

论坛元老

Rank: 8Rank: 8

积分
9723
地板
发表于 2020-7-12 21:30:13 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
5#
 楼主| 发表于 2020-7-13 13:39:48 | 只看该作者
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9723

积分

论坛元老

Rank: 8Rank: 8

积分
9723
6#
发表于 2020-7-13 21:55:28 | 只看该作者
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
7#
 楼主| 发表于 2020-7-14 16:55:37 | 只看该作者
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-4-27 15:56 , Processed in 0.129279 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表