1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 运维 - 正文

君子好学,自强不息!

初识Oracle表空间设置与管理

2022-11-14 | 运维 | admin | 583°c
A+ A-

前言

表空间是 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) 修改数据文件大小

SQL>ALTERDATABASEDATAFILE'/u01/app/oracle/oradata/TSH1/users01.dbf'
RESIZE10M;

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

ALTERTABLESPACEUSERSADDDATAFILE'/u01/app/oracle/oradata/TSH1/users02.dbf'SIZE20MAUTOEXTENDONNEXT1280KMAXSIZEUNLIMITED;

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

3. 重命名表空间

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

4. 设置表空间只读

  • 设置表空间只读
    SQL>ALTERTABLESPACEUSERSREADONLY;
    
  • 设置表空间再次可写
    SQL>ALTERTABLESPACEUSERSREADWRITE;
    

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

  • 设置表空间脱机
    SQL>ALTERTABLESPACEUSERSOFFLINENORMAL;
    
  • 设置表空间联机
    SQL>ALTERTABLESPACEUSERSONLINE;
    

6. 删除表空间

SQL>DROPTABLESPACEUSERSINCLUDINGCONTENTSANDDATAFILES;

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

  • 修改表空间为默认***表空间
    SQL>ALTERDATABASEDEFAULTTABLESPACEusers;
    
  • 查询当前数据库默认的***表空间
    SQL>SELECTproperty_valuefromdatabase_propertieswhereproperty_name=’DEFAULT_PERMANENT_TABLESPACE’;
    

二、临时表空间管理

初识 Oracle 表空间设置与管理

1. 创建临时表空间

SQL>CREATETEMPORARYTABLESPACETEMPTEMPFILE
'/u01/app/oracle/oradata/TSH1/temp01.dbf'SIZE31MAUTOEXTENDONNEXT640KMAXSIZEUNLIMITED
EXTENTMANAGEMENTLOCALUNIFORMSIZE1M;

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

2. 修改临时表空间

SQL>ALTERDATABASETEMPFILE'/u01/app/oracle/oradata/TSH1/temp01.dbf'
RESIZE60M;

3. 删除临时表空间

SQL>DROPTABLESPACETEMPINCLUDINGCONTENTSANDDATAFILES;

4. 临时表空间组管理

(1) 创建临时表空间组

SQL>CREATETEMPORARYTABLESPACETEMPTEMPFILE
'/u01/app/oracle/oradata/TSH1/temp01.dbf'SIZE31MAUTOEXTENDONNEXT640KMAXSIZEUNLIMITED
TABLESPACEGROUPtmpgrp1;

说明:

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

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

SQL>ALTERTABLESPACEtemp02TABLESPACEGROUPtmpgrp2;

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

SQL>ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtmpgrp1;

表空间管理涉及的视图

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

  • DBADATAFILES
  • DBA_TABLESPACES
  • DBAFREESPACE
  • DBA_SEGMENTS

本文来源:1818IP

本文地址:https://www.1818ip.com/post/9266.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。