首页数据库Oracle表空间设置和管理浅析

Oracle表空间设置和管理浅析

时间2024-02-28 14:41:03发布访客分类数据库浏览231
导读:收集整理的这篇文章主要介绍了Oracle表空间设置和管理浅析,觉得挺不错的,现在分享给大家,也给大家做个参考。 前言表空间是 oracle 特有的一种逻辑结构,是管理和组织 Oracle...
收集整理的这篇文章主要介绍了Oracle表空间设置和管理浅析,觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

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

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

永久表空间管理

1.1 创建表空间

参数说明:

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

1.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;
    

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

1.3 重命名表空间

1) 设置表空间脱机

SQL>
     ALTER TABLESPACE USERS OFFLINE NORMAL;
    

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

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

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

SQL>
     ALTER TABLESPACE USERS rename DATAFILE'/u01/app/oracle/oradata/TSH1/users01.dbf'TO'/u02/app/oracle/oradata/TSH1/users01.dbf'

4)设置表空间online

SQL>
     ALTER TABLESPACE USERS ONLINE ;
    

1.4 设置表空间只读

1) 设置表空间只读

SQL>
     ALTER TABLESPACE USERS READ ONLY;
    

2) 设置表空间再次可写

SQL>
     ALTER TABLESPACE USERS READ WRITE;
    

1.5 设置表空间脱机、联机

1)设置表空间脱机

SQL>
     ALTER TABLESPACE USERS OFFLINE NORMAL;
    

2)设置表空间联机

SQL>
     ALTER TABLESPACE USERS ONLINE;
    

1.6 删除表空间

SQL>
     DROP TABLESPACE USERS INCLUDING CONTENTS AND DATAFILES;
    

1.7 修改表空间为默认永久表空间

1)修改表空间为默认永久表空间

SQL>
    ALTER DATABASE DEFAULT TABLESPACE users;
    

2)查询当前数据库默认的永久表空间

SQL>
    SELECT PRoPErty_value From database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';
    

临时表空间管理


2.1 创建临时表空间

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

参数说明:

  • EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M:区管理为本地管理,且区大小为1M。

2.2 修改临时表空间

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

2.3 删除临时表空间

SQL>
     DROP TABLESPACE TEMP INCLUDING CONTENTS AND DATAFILES;
    

2.4 临时表空间组管理

2.4.1 创建临时表空间组

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

说明:

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

2.4.2 给临时表空间组增加表空间

SQL>
     ALTER TABLESPACE temp02 TABLESPACE GROUP tmpgrp2;
    

2.4.3 将一个组设置为默认临时表空间

SQL>
     ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tmpgrp1;
    

表空间管理涉及的视图

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

  • DBADATAFILES
  • DBA_TABLESPACES
  • DBAFREESPACE
  • DBA_SEGMENTS

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。

您可能感兴趣的文章:
  • Oracle表空间与权限的深入讲解
  • Oracle19c 创建表空间遇到的坑
  • oracle表空间扩容详情
  • Oracle如何设置表空间数据文件大小
  • Oracle表空间管理和用户管理介绍

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Oracle表空间设置和管理浅析
本文地址: https://pptw.com/jishu/631558.html
oracle查询截至到当前日期月份所在年份的所有月份 oracle数据库导入.dmp脚本的sql 语句

游客 回复需填写必要信息