加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

初识Oracle表空间设置与管理

发布时间:2019-07-11 20:12:17 所属栏目:MySql教程 来源:老王谈运维
导读:前言 表空间是 Oracle 特有的一种逻辑结构,是管理和组织 Oracle 数据文件一种方式,一个Oracle 数据库能够有一个或多个表空间,而一个表空间则对应一个或多个物理的数据库文件。Oracle 的表空间分为永久空间和临时表空间,同时又分为 smallfile tablespac

前言

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

初识 Oracle 表空间设置与管理

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

一、永久表空间管理

1.  创建表空间

初识 Oracle 表空间设置与管理

参数说明:

  • EXTENT MANAGEMENT LOCAL AUTOALLOCATE:区大小由系统自动分配。
  • BLOCKSIZE 8K:块大小为8K。
  • SEGMENT SPACE MANAGEMENT AUTO:段管理是自动的。
  • FLASHBACK ON:开启闪回。

2. 修改表空间

(1) 修改数据文件大小

  1. SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/TSH1/users01.dbf' 
  2. RESIZE 10M; 

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

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

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

3. 重命名表空间

  • 设置表空间脱机
    1. SQL> ALTER TABLESPACE USERS OFFLINE NORMAL; 
  • 用一个操作系统实用程序重新命名此文件如UNIX的cp或mv,或者windows的copy命令
    1. $cp /u01/app/oracle/test01.dbf /u02/app/oracle/test01.dbf 
  • 在数据文件在线之前使用以下命令重命名数据库中的数据文件
    1. SQL> ALTER TABLESPACE USERS RENAME DATAFILE 
    2. '/u01/app/oracle/oradata/TSH1/users01.dbf' 
    3. TO 
    4. '/u02/app/oracle/oradata/TSH1/users01.dbf' 
  • 设置表空间online
    1. SQL> ALTER TABLESPACE USERS ONLINE ; 

4. 设置表空间只读

  • 设置表空间只读
    1. SQL> ALTER TABLESPACE USERS READ ONLY; 
  • 设置表空间再次可写
    1. SQL> ALTER TABLESPACE USERS READ WRITE; 

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

  • 设置表空间脱机
    1. SQL> ALTER TABLESPACE USERS OFFLINE NORMAL; 
  • 设置表空间联机
    1. SQL> ALTER TABLESPACE USERS ONLINE; 

6. 删除表空间

  1. SQL> DROP TABLESPACE USERS INCLUDING CONTENTS AND DATAFILES; 

7. 修改表空间为默认永久表空间

  • 修改表空间为默认永久表空间
    1. SQL>ALTER DATABASE DEFAULT TABLESPACE users; 
  • 查询当前数据库默认的永久表空间
    1. SQL>SELECT property_value from database_properties where property_name=’DEFAULT_PERMANENT_TABLESPACE’; 

二、临时表空间管理

初识 Oracle 表空间设置与管理

1. 创建临时表空间

  1. SQL> CREATE TEMPORARY TABLESPACE TEMP TEMPFILE  
  2.  '/u01/app/oracle/oradata/TSH1/temp01.dbf' SIZE 31M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED 
  3. EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M; 

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

2. 修改临时表空间

  1. SQL> ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/TSH1/temp01.dbf' 
  2. RESIZE 60M; 

3. 删除临时表空间

  1. SQL> DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES; 

4. 临时表空间组管理

(1) 创建临时表空间组

  1. SQL> CREATE TEMPORARY TABLESPACE TEMP TEMPFILE  
  2.  '/u01/app/oracle/oradata/TSH1/temp01.dbf' SIZE 31M AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED 
  3. TABLESPACE GROUP tmpgrp1; 

说明:

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

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

  1. SQL> ALTER TABLESPACE temp02 TABLESPACE GROUP tmpgrp2; 

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

  1. SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tmpgrp1; 

表空间管理涉及的视图

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读