oracle表空间 设置,初识Oracle表空间设置与管理

前言

表空间是 Oracle 特有的一种逻辑结构,是管理和组织 Oracle 数据文件一种方式,一个Oracle 数据库能够有一个或多个表空间,而一个表空间则对应一个或多个物理的数据库文件。Oracle 的表空间分为***空间和临时表空间,同时又分为 smallfile tablespace和 bigfile tablespace。表空间管理是 Oracle dba的一项重要日常工作。

91b537182b55e91b32489da0645cbace.png

今天小编就从***表空间管理和临时表空间管理两个维度,详细介绍 Oracle表空间管理的具体操作。

一、***表空间管理

1.  创建表空间

24dcc2f052a840ef93fadaf9e377b9fb.png

参数说明:

EXTENT MANAGEMENT LOCAL AUTOALLOCATE:区大小由系统自动分配。

BLOCKSIZE 8K:块大小为8K。

SEGMENT SPACE MANAGEMENT AUTO:段管理是自动的。

FLASHBACK ON:开启闪回。

2. 修改表空间

(1) 修改数据文件大小

SQL>ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/TSH1/users01.dbf'

RESIZE 10M;

(2) 增加表空间数据文件

ALTER TABLESPACE USERS ADD DATAFILE '/u01/app/oracle/oradata/TSH1/users02.dbf' SIZE 20M AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED;

注:日常工作中建议通过增加数据文件的方式给表空间扩容,因为对于在线业务系统来说,通过修改数据文件大小的方式,对业务会产生一定的影响。

3. 重命名表空间

设置表空间脱机SQL>ALTER TABLESPACE USERS OFFLINE NORMAL;

用一个操作系统实用程序重新命名此文件如UNIX的cp或mv,或者windows的copy命令

$cp /u01/app/oracle/test01.dbf /u02/app/oracle/test01.dbf

在数据文件在线之前使用以下命令重命名数据库中的数据文件

SQL>ALTER TABLESPACE USERS RENAME DATAFILE

'/u01/app/oracle/oradata/TSH1/users01.dbf'

TO

'/u02/app/oracle/oradata/TSH1/users01.dbf'

设置表空间online

SQL>ALTER TABLESPACE USERS ONLINE ;

4. 设置表空间只读

设置表空间只读SQL>ALTER TABLESPACE USERS READ ONLY;

设置表空间再次可写

SQL>ALTER TABLESPACE USERS READ WRITE;

5. 设置表空间脱机、联机

设置表空间脱机SQL>ALTER TABLESPACE USERS OFFLINE NORMAL;

设置表空间联机

SQL>ALTER TABLESPACE USERS ONLINE;

6. 删除表空间

SQL>DROP TABLESPACE USERS INCLUDING CONTENTS AND DATAFILES;

7. 修改表空间为默认***表空间

修改表空间为默认***表空间SQL>ALTER DATABASE DEFAULT TABLESPACE users;

查询当前数据库默认的***表空间

SQL>SELECT property_value from database_properties whereproperty_name=’DEFAULT_PERMANENT_TABLESPACE’;

二、临时表空间管理

6df08cbdfad720dd23c766c1d7900921.png

1. 创建临时表空间

SQL>CREATE TEMPORARY TABLESPACE TEMP TEMPFILE

'/u01/app/oracle/oradata/TSH1/temp01.dbf' SIZE 31M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

参数说明:EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M:区管理为本地管理,且区大小为1M。

2. 修改临时表空间

SQL>ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/TSH1/temp01.dbf'

RESIZE 60M;

3. 删除临时表空间

SQL>DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;

4. 临时表空间组管理

(1) 创建临时表空间组

SQL>CREATE TEMPORARY TABLESPACE TEMP TEMPFILE

'/u01/app/oracle/oradata/TSH1/temp01.dbf' SIZE 31M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED

TABLESPACE GROUP tmpgrp1;

说明:

增加一个名为tmpgrp1的临时表空间组。

(2) 给临时表空间组增加表空间

SQL>ALTER TABLESPACE temp02 TABLESPACE GROUP tmpgrp2;

(3) 将一个组设置为默认临时表空间

SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tmpgrp1;

表空间管理涉及的视图

为了管理ORACLE数据库的表空间,要熟悉几个关键的字典视图:

DBADATAFILES

DBA_TABLESPACES

DBAFREESPACE

DBA_SEGMENTS

【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值