ORACLE - <一战通> - 表空间

目录

 

一,Oracle 表空间

1,什么是表空间?

1)数据库与表空间

2)表空间与数据库文件

2,表空间的分类

3,表空间的操作

1)创建表空间

2)查看表空间

3)设置用户的默认或临时表空间

4)修改表空间状态1-设置联机或脱机状态

5)修改表空间状态2-设置只读或可读写状态

6)修改数据文件

7)删除数据库文件

8)删除表空间


 

一,Oracle 表空间

 

1,什么是表空间?

1)数据库与表空间

表空间实际上是数据库上的逻辑存储结构,可以吧表空间理解为数据库中开辟的一个空间,用于存放我们的数据库的对象,一个数据库可以由多个表空间构成。

2)表空间与数据库文件

表空间实际上是由一个或多个数据文件构成的,数据文件的位置和大小可以由我们用户自己定义。我们所操作的一些表,一些其他的数据对象都是存放在数据文件里的。那么数据文件的是物理存储结构,真正可以看到的,而表空是逻辑存储的结构。

 

 

 

2,表空间的分类

PERMANENT:永久表空间里存放的是我们创建表后往里面插入的数据,一但写入则永久有效。

UNDO:UNDO 表空间主要用来存放UNDO段,主要用来回滚事务。

TEMPORARY:临时表空间主要用来数据的排序,里面不会存放数据。

临时表空间的典型用途是用于磁盘排序等操作,常见操作有 CREATE INDEX、 ANALYZE、SELECT DISTINCT、ORDER BY、GROUP BY、 UNION ALL、 INTERSECT、MINUS、SORT-MERGE JOINS、HASH JOIN等都可能会用到临时表空间。当操作完成后,系统会自动清理临时表空间中的临时对象,自动释放临时段。这里的释放只是标记为空闲、可以重用,其实实质占用的磁盘空间并没有真正释放。这也是临时表空间有时会不断增大的原因。临时表空间存储大规模排序操作(小规模排序操作会直接在RAM里完成,大规模排序才需要磁盘排序Disk Sort)和散列操作的中间结果.它跟永久表空间不同的地方在于它由临时数据文件(temporary files)组成的,而不是永久数据文件(datafiles)。临时表空间不会存储永久类型的对象,所以它不会也不需要备份。另外,对临时数据文件的操作不产生redo日志,不过会生成undo日志。

3,表空间的操作

 

1)创建表空间

语法

CREATE [TEMPORARY]TABLESPACE  TABLESPACE_NAME   TEMPFILE|DATAFILE ‘XX.dbf’ SIZE XX



--创建表空间

create tablespace test_tablespace datafile 'test_tablepace' size 10m;

--创建临时表空间

create temporary tablespace test_temporary_tablespace tempfile 'test_temporary_tablepace' size 10m;

--找到表空间默认的路径

SELECT FILE_NAME FROM Dba_Data_Files WHERE TABLESPACE_NAME ='TEST_TABLESPACE';

--找到临时表空间默认的路径

SELECT FILE_NAME FROM Dba_TEMP_Files WHERE  TABLESPACE_NAME ='TEST_TEMPORARY_TABLESPACE';

2)查看表空间

SELECT tablespace_name FROM dba_tablespaces;    DBA表空间信息

SELECT tablespace_name FROM user_tablespaces;     USER表空间信息

--查看用户信息

SELECT default_tablespace,temporary_tablespace  FROM dba_users where username ='SYSTEM'

 

3)设置用户的默认或临时表空间

ALTER USER username DEFAULT|TEMPORARY TABLESPACE tablespace_name;

 

4)修改表空间状态1-设置联机或脱机状态

 

ALTER TABLESPACE tablespace_name  ONLINE|OFFLINE;

--查看状态  

select status from dba_tablespaces where tablespace_name='test_tablepace'

--如果一个表空间设置成脱机状态,表示该比爱空间暂时不让访问,设置成脱机状态不是删除

当我们需要使用该表空间时还可以讲其设置成练级状态,正常使用。

 

5)修改表空间状态2-设置只读或可读写状态

默认是可读写状态

ALTER TABLESPACE tablespace_name  READ  ONLY|READ WRITE;

 

6)修改数据文件

向创建好的表空间内增加数据文件--增加后会有两个数据库文件

ALTER TABLESPACE tablespace_name ADD DATAFILE  'filename.dbf'  size xx;

 

7)删除数据库文件

不能删除表空间的第一个创建的数据文件,如果需要删除的话,我们需要把整个的表空间删掉。

ALTER TABLESPACE tablespace_name DROP DATAFILE  'filename.dbf' ;

 

8)删除表空间

DROP TABLESPACE tablespace_name [INCLUNDING CONTENTS];

如果删除时只是单纯的像删除表空间而不删除数据文件的话:DROP TABLESPACE tablespace_name ;

如果同时删除的话:DROP TABLESPACE tablespace_name INCLUNDING CONTENTS;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值