首页 数据库 mysql教程 DBA经验谈:更改数据文件的可用性

DBA经验谈:更改数据文件的可用性

Jun 07, 2016 pm 04:54 PM
o oracle 数据库

Oracle数据库中的数据文件有一个特性,即可以设置是否脱机。如果将数据文件设置为脱机,数据库就无法读取这个数据文件。只有

  Oracle数据库中的数据文件有一个特性,,即可以设置是否脱机。如果将数据文件设置为脱机,数据库就无法读取这个数据文件。只有在文件联机,时数据库才能够读取其中的内容。为此有时候改变这个数据文件的状态也是数据库维护过程中的一个必要手段。

  一、为什么要更改其可用性?

  1、 处于更改数据文件名或者位置的需要。

  在数据库部署的时候,如果没有给数据文件取一个合适的名字,或者说没有给其选择一个合适的分区。此时在后续的维护中可能就需要更改数据文件的名字或者位置。如有时候处于性能优化的考虑,会将一些存在并发性访问的数据文件存放在不同的硬盘分区上,以减少I/O冲突提高数据库性能。在这种情况下,就必须要移动数据文件的位置。要实现这个目的的话,就必须首先要让数据文件脱机,然后再将其启动到合适的位置。

  2、 系统遇到数据文件故障时会自动关闭。

  有时候数据库系统也会自动关闭数据文件。如当数据库系统往数据文件中写入数据的时候,如果发现写入过程中出现错误的话,就会将这个数据文件设置为脱机,并将这个信息写入到日志中。数据库管理员接到报警信息后,就需要修复这个数据文件。修复完毕后,还需要手工的将这个数据文件设置为联机。此时数据库系统才会重新启用这个数据文件。可见,当数据文件无法正确写入时,也是数据文件脱机的一个原因。

  将某个数据文件设置为脱机时,不会影响到其他数据文件的可用性。如数据库管理员在规划数据文件的时候,是按照部门来规划的。即其他部门的用户仍然可以在系统中访问自己若需要的数据。为此这个特性的话可以有效的的减少数据库当机的时间,实现数据库的最大可用性。  分步启动数据库以重命名数据文件

  二、归档模式与非归档模式下分别如何更改?

  Oracle数据库工作模式大致分为归档模式与非归档模式。在不同的操作模式下,其数据文件可用性维护的方法稍有差异。为此各位数据库管理员要了解在不同操作模式下的维护方式。只有如此,才能够采取合适的方式来改变数据文件的可用性。

  若数据库处于归档模式,则要使一个单独的数据文件联机或者脱机,则只需要使用ALTER DATABASE的DATEFILE字句即可。即按照如下的形式就可以将某个数据文件设置为脱机或者联机。当以下命令执行成功后,系统会提示“数据库已经更改”。

  ALTER DATABASE DATAFILE ‘数据文件存储路径与名字’ OFFLINE/ONLINE;

  但是要注意,如果数据库不是处于归档模式,则执行上面的语句更改数据文件的可用性时,数据库会提示错误信息。若将某个数据文件设置为脱机时,“除非使用介质恢复,否则不允许立即脱机”。如将某个数据文件设置为联机时,会提示“数据文件5,需要介质恢复”。注意这里的5代表的是数据文件的绝对文件号。在Oracle数据库中文件号是数据库系统标识数据文件的一个工具,就好像人的身份证一样,唯一标识了一个数据文件。在Oracle中,文件号分为绝对文件号和相对文件号。绝对文件号是在整个数据库中唯一的标识一个数据文件。而相对文件号是在表空间中唯一的标识一个数据文件。也就是说,相对文件号在同一个表空间内是唯一的,但是并不保障在整个数据库内是唯一的。此时数据库可能需要表空间与相对文件号两个参数才能够唯一的定位数据文件。对于中等规模以下的数据库系统,往往相对文件号与绝对文件号是相同的。但是当数据库变得很大时,相对文件号与决定文件号就可能有所差异。由于在错误信息中没有直接说明数据文件的名称,为此数据库管理员不得不先将这个文件号转换到对应的数据文件名字,然后再去想解决方法。IT专家网独家:重定位数据文件的位置

  可见,如果当数据库采用非归档模式时,就无法采用上面方式将数据文件联机或者脱机。此时需要稍微修改一下上面的语句来完成。如可以将这个语句改为:

  ALTER DATABASE DATAFILE ‘数据文件存储路径与名字’ OFFLINE DROP;

  即需要在原先的语句后面加入DROP关键字。此时就可以正常将非归档模式下的数据文件脱机了。不过需要注意的一点就是,无非采用正常的方式将非归档模式下的数据文件设置为联机。正常情况下,只有采用介质恢复的形式才能够将非归档模式下的数据文件设置为联机。所以说,如果数据库采用的是非归档模式,那么在将数据文件设置为脱机时,就需要慎重了。因为此时再想将脱机的数据文件设置为联机,可没有这么简单了。

linux

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1677
14
CakePHP 教程
1431
52
Laravel 教程
1334
25
PHP教程
1280
29
C# 教程
1257
24
MySQL:世界上最受欢迎的数据库的简介 MySQL:世界上最受欢迎的数据库的简介 Apr 12, 2025 am 12:18 AM

MySQL是一种开源的关系型数据库管理系统,主要用于快速、可靠地存储和检索数据。其工作原理包括客户端请求、查询解析、执行查询和返回结果。使用示例包括创建表、插入和查询数据,以及高级功能如JOIN操作。常见错误涉及SQL语法、数据类型和权限问题,优化建议包括使用索引、优化查询和分表分区。

为什么要使用mysql?利益和优势 为什么要使用mysql?利益和优势 Apr 12, 2025 am 12:17 AM

选择MySQL的原因是其性能、可靠性、易用性和社区支持。1.MySQL提供高效的数据存储和检索功能,支持多种数据类型和高级查询操作。2.采用客户端-服务器架构和多种存储引擎,支持事务和查询优化。3.易于使用,支持多种操作系统和编程语言。4.拥有强大的社区支持,提供丰富的资源和解决方案。

oracle怎么循环创建游标 oracle怎么循环创建游标 Apr 12, 2025 am 06:18 AM

Oracle 中,FOR LOOP 循环可动态创建游标, 步骤为:1. 定义游标类型;2. 创建循环;3. 动态创建游标;4. 执行游标;5. 关闭游标。示例:可循环创建游标,显示前 10 名员工姓名和工资。

MySQL与其他数据库:比较选项 MySQL与其他数据库:比较选项 Apr 15, 2025 am 12:08 AM

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

oracle视图怎么导出 oracle视图怎么导出 Apr 12, 2025 am 06:15 AM

可以通过 EXP 实用程序导出 Oracle 视图:登录 Oracle 数据库。启动 EXP 实用程序,指定视图名称和导出目录。输入导出参数,包括目标模式、文件格式和表空间。开始导出。使用 impdp 实用程序验证导出。

甲骨文在商业世界中的作用 甲骨文在商业世界中的作用 Apr 23, 2025 am 12:01 AM

Oracle不仅是数据库公司,还是云计算和ERP系统的领导者。1.Oracle提供从数据库到云服务和ERP系统的全面解决方案。2.OracleCloud挑战AWS和Azure,提供IaaS、PaaS和SaaS服务。3.Oracle的ERP系统如E-BusinessSuite和FusionApplications帮助企业优化运营。

MySQL:结构化数据和关系数据库 MySQL:结构化数据和关系数据库 Apr 18, 2025 am 12:22 AM

MySQL通过表结构和SQL查询高效管理结构化数据,并通过外键实现表间关系。1.创建表时定义数据格式和类型。2.使用外键建立表间关系。3.通过索引和查询优化提高性能。4.定期备份和监控数据库确保数据安全和性能优化。

oracle日志写满怎么办 oracle日志写满怎么办 Apr 12, 2025 am 06:09 AM

Oracle 日志文件写满时,可采用以下解决方案:1)清理旧日志文件;2)增加日志文件大小;3)增加日志文件组;4)设置自动日志管理;5)重新初始化数据库。在实施任何解决方案前,建议备份数据库以防数据丢失。

See all articles