返回顶部
首页 > 资讯 > 数据库 >Oracle 11G如何实现表空间操作
  • 611
分享到

Oracle 11G如何实现表空间操作

2024-04-02 19:04:59 611人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“oracle 11G如何实现表空间操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle 11G如何实现表空间操作”这篇文章吧

这篇文章主要为大家展示了“oracle 11G如何实现表空间操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle 11G如何实现表空间操作”这篇文章吧。

  1. 查询表空间信息

    1.1: 查询数据字典视图DBA_TABLESPACES获取数据库中个表空间的名称,状态,管理方式,区的分配方式,段的管理方式,表空间类型等基本信息。

SELECT TABLESPACE_NAME,STATUS,EXTENT_MANAGEMENT,
ALLOCATioN_TYPE,SEGMENT_SPACE_MANAGEMENT,CONTENTS
FROM DBA_TABLESPACES;

  Result:

      1.2:查询数据字典视图DBA_FREE_SPACE,获取数据库中各个表空间空闲的统计信息:

SELECT TABLESPACE_NAME"TABLESPACE",FILE_ID,
COUNT(*)"PIECES",MAX(blocks)"MAXIMUM",MIN(blocks)"MINIMUM",
AVG(blocks)"AVERAGE", SUM(blocks)"TOTAL"
FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME,FILE_ID;

        1.3:查询数据字典视图DBA_TEMP_FREE_SPACE,获取临时表空间的表空间使用信息:

SELECT * FROM DBA_TEMP_FREE_SPACE

2.创建表空间

CREATE TABLESPACE语法:

CREATE [BIGFILE|SMALLFILE] [TEMPORARY|UNDO] TABLESPACE tbs_name

DATAFILE|TEMPFILE path/filename SIZE integer [K|M] [REUSE]

    [AUTOEXTEND [OFF|ON] NEXT integer [K|M]

    MAXSIZE [UNLIMITED|integer [K|M]]

[TABLESPACE GROUP tablespace_group_name]

[EXTENT MANAGEMENT DICTIONARY|LOCAL]

[AUTOALLOCATE|UNIFORM SIZE integer [K|M]]

2.1 创建一个本地管理的永久表空间TBS1,区、段采用自动管理:

CREATE TABLESPACE TBS1 DATAFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS1_1.DBF' size 50M;

2.2 创建一个本地管理的永久表空间TBS2,区采用定制分配,大小为512k,段采用自动管理。

CREATE TABLESPACE TBS2 DATAFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS2_1.DBF' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;

2.3 创建一个本地管理的永久表空间TBS4,区采用定制分配方式,大小为512K,段采用手动管理:

CREATE TABLESPACE TBS4 DATAFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS4_1.DBF' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
SEGMENT SPACE MANAGEMENT MANUAL;

2.4 创建一个索引表空间INDX,存储所有索引信息,表空间文件自动扩展每次5M,最大为100M:

CREATE TABLESPACE INDX DATAFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/INDX_1.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

2.5 创建一个TBS5表空间,第一个区10M,第二个区为10M,后续10%增长

CREATE TABLESPACE TBS5 DATAFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS5_1.DBF' SIZE 50M
DEFAULT STORAGE(INITIAL 10M NEXT 10M PCTINCREASE 10)
SEGMENT SPACE MANAGEMENT MANUAL;

3. 创建大文件表空间

    3.1 查询数据库默认创建大文件还是小文件的表空间:

SELECT PROPERTY_NAME,PROPERTY_VALUE
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME='DEFAULT_TBS_TYPE';

    3.2 创建一个大文件表空间BIGTBS1:

CREATE BIGFILE TABLESPACE BIGTBS1 DATAFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/BIGTBS1_1.DBF' SIZE 50M
AUTOALLOCATE SEGMENT SPACE MANAGEMENT AUTO;

    3.3 大文件表空间信息查询:

SELECT T.NAME TBSNAME,RFILE#,D.NAME FNAME
FROM V$TABLESPACE T,V$DATAFILE D
WHERE T.TS#=D.TS# AND T.NAME='BIGTBS1'

    3.4 创建非标准块表空间

ALTER SYSTEM SET DB_16K_CACHE_SIZE=16384;
CREATE TABLESPACE TBS16
DATAFILE '/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS16_1.DBF' SIZE 60M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K BLOCKSIZE 16K;
SELECT TABLESPACE_NAME,BLOCK_SIZE FROM DBA_TABLESPACES;

4. 维护表空间

    4.1 增加表空间文件

ALTER TABLESPACE TBS1 
ADD DATAFILE '/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS1_2.DBF' SIZE 10M;

     4.1.2 增加TEMP表空间文件

    ALTER TABLESPACE TEMP ADD TEMPFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TEMP02.DBF' SIZE 10M;

    4.2 改变数据文件大小

ALTER DATABASE DATAFILE '/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS1_2.DBF' RESIZE 20M;

    4.3 更改文件的扩展方式:

ALTER DATABASE DATAFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TBS2_1.DBF'
 AUTOEXTEND ON NEXT 5M MAXSIZE 100M;

    4.5 删除表空间文件:

ALTER TABLESPACE TEMP
DROP TEMPFILE '/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TEMP02.DBF';

普通表空间只要将TEMPFILE换成DATAFILE即可

5. 设置默认表空间:

    5.1 查看当前默认表空间:

  SELECT PROPERTY_NAME,PROPERTY_VALUE FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME IN ('DEFAULT_PERMANENT_TABLESPACE','DEFAULT_TEMP_TABLESPACE');

    5.2 设置默认表空间:

    ALTER DATABASE DEFAULT TABLESPACE TBS1;

    5.2.1 设置默认临时表空间:

    ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tablespace_name;

6. 管理临时表空间

创建临时表空间与创建普通表空间语法差不多,如创建一个    TEMP2临时表空间:

CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/temp2_1.DBF' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M;

可以在create与temporary之间加入BIGFILE创建大文件临时表空间(CREATE BIGFILE TEMPORARY ...)

    6.1 临时表空间组:

CREATE TEMPORARY TABLESPACE TEMP4 TEMPFILE 
'/usr/oracle/app/product/11.2.0/dbhome_1/dbs/TEMP4_1.DBF' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M
TABLESPACE GROUP TEMP_GROUP1;

    可以使用alter tablespace语句将临时表空加入组或者从表空间租移除

ALTER TABLESPACE TEMP2 TABLESPACE GROUP TEMP_GROUP1;
ALTER TABLESPACE TEMP4 TABLESPACE GROUP '';
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP_GROUP1;

    6.2 收缩临时表空间:

ALTER TABLESPACE temp SHRINK SPACE;
ALTER TABLESPACE TEMP2 SHRINK TEMPFILE '/usr/oracle/app/product/11.2.0/dbhome_1/dbs/temp2_1.DBF';

7 undo表空间

    7.1 创建undo表空间:

    CREATE UNDO TABLESPACE UNDOTBS2
DATAFILE '/usr/oracle/app/product/11.2.0/dbhome_1/dbs/UNDOTBS2_1.DBF' SIZE 20M
AUTOEXTEND ON NEXT 2M MAXSIZE 100M;

    增加undo表空间文件与普通表空间做法一样

切换undo表空间:

ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;

    7.2 UNDO信息保留时间设置:

通过初始化参数UNDO_RETENTION设置回退信息的最短保留时间,单位为妙。

show parameter UNDO
可以查出当前UNDO_RETENTION的设置,修改默认值:

ALTER SYSTEM SET UNDO_RETENTION=1800;

再启用undo表空间的RETENTION GUARANTEE特性确保UNDO信息至少保留UNDO_RETENTION指定的时间。

ALTER TABLESPACE UNDOTBS2 RETENTION GUARANTEE;

以上是“Oracle 11G如何实现表空间操作”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle 11G如何实现表空间操作

本文链接: https://lsjlt.com/news/64938.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle 11G如何实现表空间操作
    这篇文章主要为大家展示了“Oracle 11G如何实现表空间操作”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle 11G如何实现表空间操作”这篇文章吧...
    99+
    2024-04-02
  • oracle 11G undo表空间错误
    1.打开数据库时提示undo表空间不存在SQL> alter database open;         &...
    99+
    2024-04-02
  • oracle数据库表空间操作
    oracle表空间操作总结 附件:http://down.51cto.com/data/2368097...
    99+
    2024-04-02
  • ORA-01688:扩展ORACLE表空间操作
    ORA-01688错误是由于尝试扩展Oracle表空间时出现的问题。这个错误通常表示无法扩展表空间的原因。要解决ORA-01688错...
    99+
    2023-09-08
    Oracle
  • oracle关于表空间的一些操作
    查看 xxx 表空间是否为自动扩展:select file_name,autoextensible,increment_by from dba_data_files;select fil...
    99+
    2024-04-02
  • 如何编写shell脚本操作oracle删除表空间、创建表空间、删除用户
    本篇内容介绍了“如何编写shell脚本操作oracle删除表空间、创建表空间、删除用户”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!orac...
    99+
    2023-06-09
  • Oracle操作用户和表空间的总结
    1. Oracle数据库的操作流程首先我们要弄明白Oracle数据库的整个操作流程,如下图所示。  接下来对表空间以及用户的各项操作介绍都是需要建立在以下三步的基础上:第1步:使用cmd...
    99+
    2024-04-02
  • 扩展ORACLE表空间操作是怎样的
    本篇文章给大家分享的是有关扩展ORACLE表空间操作是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 1、问...
    99+
    2024-04-02
  • shell脚本操作oracle删除表空间、创建表空间、删除用户
    oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell使用非oracle用户执行该脚本参数说名$1:base表空间的用户名$2:同步表空间的用户名使用场景测试用,ba...
    99+
    2022-06-04
    空间 脚本 操作
  • Oracle数据库基本操作——表空间管理
    简介:ORACLE物理上是由磁盘上的以下几种文件:数据文件和控制文件和LOGFILE构成的表空间就只谈相关的数据文件首先明确概念:表空间是ORACLE内部定义的一个概念,是为了统一ORACLE物理和逻辑上的...
    99+
    2024-04-02
  • Oracle表空间增、删、改操作是怎样的
    本篇内容主要讲解“Oracle表空间增、删、改操作是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle表空间增、删、改操作是怎样的”吧!--1、新...
    99+
    2024-04-02
  • Oracle 如何创建表空间
      在Oracle中如何创建表空间呢?主要有两种方式:一种是用SQL命令的方式,另外一种是通过Oracle客户端Enterprise Manager Console来创建。下面分别介绍一下:1 通...
    99+
    2024-04-02
  • oracle如何删除表空间
    要删除 oracle 表空间,需执行以下步骤:1. 卸载表空间;2. 删除表空间;3. 删除临时表空间。重要提示:删除前确保断开用户连接、备份数据、删除其他对象。 如何删除 Oracl...
    99+
    2024-06-12
    oracle
  • oracle如何创建表空间
    oracle 中创建表空间需要以下步骤:连接到数据库;使用 create tablespace 语句指定表空间名称、数据文件位置和大小;设置默认存储属性,包括初始大小、下一个大小和最小扩...
    99+
    2024-06-13
    oracle
  • oracle如何转移表的表空间
    本篇内容主要讲解“oracle如何转移表的表空间”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“oracle如何转移表的表空间”吧! ...
    99+
    2024-04-02
  • oracle 11g解决临时表空间过大的问题
    有的数据库在使用过程中由于某些操作会导至临时表空间过大,由于临时表空间的工作机制,在作业完成后该部分临时表空间也不会释放。通过重建临时表空间的方法可以解决这个问题,但操作还是有点繁琐。在操作中发现,通过re...
    99+
    2024-04-02
  • 使用zabbix监控oracle表空间的操作流程
    0.概述 zabbix是一款极其强大的开源监控工具,下面我分享下zabbix如何监控表空间,跟着这个思路,监控其他项都是类似操作。 前提条件是你已经有了zabbix server和z...
    99+
    2024-04-02
  • Navicat oracle如何查看表空间
    要查看Navicat Oracle的表空间,您可以按照以下步骤操作: 连接到Oracle数据库。在Navicat中选择"...
    99+
    2024-04-09
    Navicat oracle
  • oracle如何查表空间大小
    要查询 oracle 表空间大小,请遵循以下步骤:确定表空间名称,方法是运行查询:select tablespace_name from dba_tablespaces;查询表...
    99+
    2024-06-12
    oracle
  • oracle的表如何跨表空间存储
    oracle的一个表所在表空间,空间已经占满,其他表空间有剩余空间.实现表存在另外的表空间.方案一:利用原表重建分区表1:原表temp,存在字段id,time;2:temp存在纪录;3:根据原表temp创建...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作