iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何理解Oracle 数据文件中的reuse属性
  • 144
分享到

如何理解Oracle 数据文件中的reuse属性

2023-06-06 03:06:11 144人浏览 薄情痞子
摘要

如何理解oracle 数据文件中的reuse属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Oracle 表空间创建参数当我们对表空间添加数据文件的时候,有一

如何理解oracle 数据文件中的reuse属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Oracle 表空间创建参数

当我们对表空间添加数据文件的时候,有一个reuse 属性。 10g的官网对这个参数的说明如下:

REUSE

Specify REUSE to allow Oracle to reuse an existing file.

      (1)If the file already exists, then Oracle reuses the filename and applies the new size (if you specify SIZE) or retains the original size.

      --如果file 已经存在,并且在创建时指定了file size,那么就重用原文件,并应用新的size,如果没有指定file size,则保留原有的大小。

      (2)If the file does not exist, then Oracle ignores this clause and creates the file.

      -- 如果file 不存在,oracle 将忽略该参数。

Restriction on the REUSE Clause

      You cannot specify REUSE unless you have specified filename.

Whenever Oracle uses an existing file, the previous contents of the file are lost.

-- 如果Oracle 使用了已经存在的file,那么之前file里的数据将全部丢失。

在Oracle 11g的官方文档里没有搜到相关的信息。 因为手头还没有11g的库,所以也不好测试。 这篇blog里测试的是基于Oracle 10g环境。

下面我们来做一些测试:

创建一个表空间Dave

sql> show user;

USER is "SYS"

SQL> create tablespace dave datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' size 100M;

Tablespace created.

创建表anqing,并指定存储表空间dave

SQL> create table anqing tablespace dave as select * from dba_objects;

Table created.

SQL> commit;

Commit complete.

SQL> select count(*) from anqing;

 COUNT(*)

----------

    50391

SQL> set wrap off;

SQL> select owner,table_name,tablespace_name from dba_tables where table_name='ANQING';

OWNER            TABLE_NAME           TABLESPACE_NAME

------------------------------ ------------------------------ ------------------

SYS               ANQING                         DAVE

对表空间dave 添加一个新的数据文件,并使用reuse

SQL> alter tablespace dave add datafile '/u01/app/oracle/oradata/dave2/dave02.dbf' reuse;

alter tablespace dave add datafile '/u01/app/oracle/oradata/dave2/dave02.dbf' reuse

*

ERROR at line 1:

ORA-01119: error in creating database file '/u01/app/oracle/oradata/dave2/dave02.dbf'

ORA-17610: file '/u01/app/oracle/oradata/dave2/dave02.dbf' does not exist and no size specified ORA-27037: unable to obtain file status linux Error: 2: No such file or directory Additional infORMation: 3

-- 这种情况下,如果文件存在,会使用原始文件的大小。但dave02.dbf 不存在,我们又没有指定文件大小,所以无法创建。我们指定size 就可以创建了。

SQL> alter tablespace dave add datafile '/u01/app/oracle/oradata/dave2/dave02.dbf' size 50M reuse;

Tablespace altered.

SQL>

保持表空间的状态,然后使用reuse 来添加数据文件

SQL> alter tablespace dave add datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' size 50M reuse;

alter tablespace dave add datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' size 50M reuse

*

ERROR at line 1:

ORA-01537: cannot add file '/u01/app/oracle/oradata/dave2/dave01.dbf' - file already part of database

      --报错,所以即使我们需要使用reuse,前提也是该数据文件已经不存在该表空间了。

先将datafile offline drop,在reuse

      offline drop 并不会drop datafile,仅仅是将datafile 标记为offline,我们online 之后还可以recover回来。 具体参考:

      alter database datafile offline drop 与 alter tablespace drop datafile 区别

      Http://blog.csdn.net/tianlesoftware/arcHive/2011/04/06/6305600.aspx

SQL> alter database datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' offline drop;

Database altered.

SQL> alter tablespace dave add datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' size 50M reuse;

alter tablespace dave add datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' size 50M reuse

*

ERROR at line 1:

ORA-01537: cannot add file '/u01/app/oracle/oradata/dave2/dave01.dbf' - file already part of database

-- 依旧报错,因为此时数据文件dave01.dbf 的信息还记录在数据字典里。

-- 将数据文件还原回来

SQL> alter database datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' online;

alter database datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' online

*

ERROR at line 1:

ORA-01113: file 6 needs media recovery

ORA-01110: data file 6: '/u01/app/oracle/oradata/dave2/dave01.dbf'

SQL> recover datafile 6;

Media recovery complete.

使用alter tablespace dave drop datafile 命令

该命令在删除控制文件和物理文件,所以没有可用的意义。

SQL> alter tablespace dave drop datafile  '/u01/app/oracle/oradata/dave2/dave02.dbf';

Tablespace altered.

[oracle@db2 dave2]$ pwd

/u01/app/oracle/oradata/dave2

[oracle@db2 dave2]$ ls

control01.ctl  control03.ctl  example01.dbf   redo01.log  redo03.log    system01.dbf  undotbs01.dbf

control02.ctl  dave01.dbf     huaining01.dbf  redo02.log  sysaux01.dbf  temp01.dbf    users01.dbf

-- 文件已经不存在

删除表空间后,在reuse

命令如下:

      SQL>drop tablespace dave including contents and datafiles;

      该命令也可以指定同时删除物理文件,但那样我们的测试就没办法完成,所以我们不删除datafile,仅从控制文件里删除表空间。

SQL> drop tablespace dave including contents;

Tablespace dropped.

SQL> create tablespace dave2 datafile '/u01/app/oracle/oradata/dave2/dave01.dbf' size 50M reuse;

Tablespace created.

-- 重用成功

看一下数据文件大小:

[oracle@db2 dave2]$ ll -h dave01.dbf

-rw-r----- 1 oracle oinstall 51M Jun  3 04:31 dave01.dbf

我们之前是100M,现在变成50M了。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: 如何理解Oracle 数据文件中的reuse属性

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何理解Oracle 数据文件中的reuse属性
    如何理解Oracle 数据文件中的reuse属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Oracle 表空间创建参数当我们对表空间添加数据文件的时候,有一...
    99+
    2023-06-06
  • Linux中如何去掉文件属性
    本篇文章为大家展示了Linux中如何去掉文件属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。chattr -ais /bin/netstat当修改设置了'A'属性的文件时,它的at...
    99+
    2023-06-17
  • python中如何获取文件属性
    python中获取文件属性的方法:1、在win操作系统中找到python程序目录;2、打开idle工具;3、在idle中新建一个shell脚本;4、输入“import os”指令导入os模块;5、通过“os.stat(文件路径)”指令获取指...
    99+
    2024-04-02
  • 如何理解Vue中的ref属性
    这期内容当中小编将会给大家带来有关如何理解Vue中的ref属性,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。上述就是小编为大家分享的如何理解Vue中的ref属性了,如果刚好有类似的疑惑,不妨参照上述分析进...
    99+
    2023-06-25
  • 如何理解CSS中的属性模块
    本篇内容主要讲解“如何理解CSS中的属性模块”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解CSS中的属性模块”吧!更多 vs 更少 - 简单比较神奇的是...
    99+
    2024-04-02
  • 如何理解CSS属性中的vertical-align
    这篇文章主要讲解了“如何理解CSS属性中的vertical-align”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解CSS属性中的vertical-...
    99+
    2024-04-02
  • 如何理解CSS属性中的z-index
    这篇文章主要讲解了“如何理解CSS属性中的z-index”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解CSS属性中的z-index”吧!如果你不是一...
    99+
    2024-04-02
  • 如何理解HTML5中的标准属性与自定义属性
    这篇文章将为大家详细讲解有关如何理解HTML5中的标准属性与自定义属性,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。正如 HTML5 语法中所阐述的,元素可...
    99+
    2024-04-02
  • oracle数据文件损坏了如何解决
    当Oracle数据文件损坏时,可以尝试以下方法来解决问题: 使用RMAN(Recovery Manager)工具来尝试修复损坏的数...
    99+
    2024-04-23
    oracle
  • 如何理解CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
    本篇内容主要讲解“如何理解CSS3中box属性中的overflow-x属性和overflow-y属性值的效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理...
    99+
    2024-04-02
  • 如何理解CSS属性中的overflow及相关属性text-overflow
    这篇文章主要介绍“如何理解CSS属性中的overflow及相关属性text-overflow”,在日常操作中,相信很多人在如何理解CSS属性中的overflow及相关属性text-overflow问题上存在...
    99+
    2024-04-02
  • Oracle asm如何加数据文件
    要向Oracle ASM添加数据文件,您可以使用以下步骤: 使用SQL*Plus或任何支持Oracle数据库的客户端工具连接到数据...
    99+
    2024-04-09
    Oracle
  • 如何理解CSS属性中高的min-width
    这篇文章主要讲解了“如何理解CSS属性中高的min-width”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解CSS属性中高的min-width”吧!...
    99+
    2024-04-02
  • 如何理解CSS中的Position和Float属性
    本篇文章给大家分享的是有关如何理解CSS中的Position和Float属性,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。本文结构点:1.HT...
    99+
    2024-04-02
  • 如何理解css中position的五个属性
    如何理解css中position的五个属性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在实际开发页面布局时,运用positi...
    99+
    2024-04-02
  • java springboot中如何读取配置文件的属性
    目录配置文件(1)使用注解@Value映射(2)使用@ConfigurationProperties映射(3)推荐使用:极简方式 @Bean和@ConfigurationProper...
    99+
    2024-04-02
  • Bash中如何处理文件中的数据类型?
    Bash是一种非常流行的Unix shell和脚本语言。在Bash中,我们常常需要处理文件中的数据类型。本文将介绍如何在Bash中处理文件中的不同数据类型,并提供一些示例代码来帮助您更好地理解。 一、文本数据类型 文本数据类型是Bash中最...
    99+
    2023-06-16
    bash 数据类型 文件
  • vue如何修改data中的obj数据的属性
    目录修改data中的obj数据的属性修改data以实现数据响应式怎么保证你的变化我Vue能监听到?如果初始值没给这个变量Vue还能监听吗?修改data中的obj数据的属性 //方法一...
    99+
    2022-11-13
    vue data属性 vue 修改data vue修改data中obj属性
  • 如何理解Vue的监听属性
    如何理解Vue的监听属性,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Vue监听属性什么是监听属性?所谓监听就是对内置对象的状态或者属性变化进行监听并且做出反应的响应,监听...
    99+
    2023-06-21
  • oracle数据库中文乱码如何解决
    解决Oracle数据库中文乱码问题的步骤如下:1. 确保数据库字符集设置正确:使用以下命令查询当前数据库的字符集设置:```sele...
    99+
    2023-08-23
    oracle数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作