Oracle表空间设置和管理浅析

 更新时间:2019年07月12日 08:31:54   作者:老王谈运维  
这篇文章主要给大家介绍了关于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 UNLIMITED
EXTENT 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 UNLIMITED
TABLESPACE 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

总结

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

相关文章

  • Linux系统下启动/关闭Oracle数据库

    Linux系统下启动/关闭Oracle数据库

    在Linux系统上开启关闭Oracle数据库是一个常见的任务,可以通过多种方法来实现,这篇文章主要给大家介绍了关于Linux系统下启动/关闭Oracle数据库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • oracle19c卸载教程的超详细教程

    oracle19c卸载教程的超详细教程

    Oracle安装失败,如何卸载呢?下面这篇文章主要给大家介绍了关于oracle19c卸载教程的超详细教程,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • 使用IDEA对Oracle数据库进行简单增删改查操作

    使用IDEA对Oracle数据库进行简单增删改查操作

    这篇文章主要介绍了使用IDEA对Oracle数据库进行简单增删改查操作,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • 通过Navicat连接Oracle数据库的详细步骤

    通过Navicat连接Oracle数据库的详细步骤

    本文介绍如何通过Navicat 连接Oracle数据库,以往总是使用Oracle客户端来连接Oracle数据库,但是Oracle客户端一般有几百M的大小,而且安装繁琐配置麻烦,如果可以通过Navicat直接连接Oracle则会非常轻松方便,需要的朋友可以参考下
    2023-10-10
  • Oracle自动备份及自动备份步骤

    Oracle自动备份及自动备份步骤

    这篇文章主要介绍了Oracle自动备份及自动备份步骤的相关资料,需要的朋友可以参考下
    2016-02-02
  • oracle 批量删除表数据的几种方法

    oracle 批量删除表数据的几种方法

    这篇文章主要介绍了oracle 批量删除表数据的几种方法,帮助大家更好的理解和使用Oracle数据库,感兴趣的朋友可以了解下
    2020-10-10
  • Kettle连接Oracle数据库方法((Oracle19c&Oracle11g))

    Kettle连接Oracle数据库方法((Oracle19c&Oracle11g))

    这篇文章主要介绍了Kettle连接Oracle数据库方法((Oracle19c&Oracle11g)),包括oracle驱动jar包,连接oracle的过程,思路很简单需要的朋友可以参考下
    2022-11-11
  • oracle select执行顺序的详解

    oracle select执行顺序的详解

    本篇文章是对oracle select执行顺序进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Oracle批量插入数据的三种方式【推荐】

    Oracle批量插入数据的三种方式【推荐】

    本文给大家带来三种oracle批量插入数据的方法,每种方法都是通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2018-06-06
  • PL/SQL 类型格式转换

    PL/SQL 类型格式转换

    PL/SQL 类型格式转换...
    2007-03-03

最新评论