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

oracle asm指的是“自动存储管理”,是一种卷管理器,可自动管理磁盘组并提供有效的数据冗余功能;它是做为单独的Oracle实例实施和部署。asm的优势:1、配置简单、可最大化推动数据库合并的存储资源利用;2、支持BIGFILE文件等。

方法:1、利用“select*from user_indexes where table_name=表名”语句查询表中索引;2、利用“select*from all_indexes where table_name=表名”语句查询所有索引。

在oracle中,可以利用“TO_SINGLE_BYTE(String)”将全角转换为半角;“TO_SINGLE_BYTE”函数可以将参数中所有多字节字符都替换为等价的单字节字符,只有当数据库字符集同时包含多字节和单字节字符的时候有效。

在Oracle中,可利用lsnrctl命令查询端口号,该命令是Oracle的监听命令;在启动、关闭或重启oracle监听器之前可使用该命令检查oracle监听器的状态,语法为“lsnrctl status”,结果PORT后的内容就是端口号。

在oracle中,可以利用“drop sequence sequence名”来删除sequence;sequence是自动增加数字序列的意思,也就是序列号,序列号自动增加不能重置,因此需要利用drop sequence语句来删除序列。

在oracle中,可以利用“select ... From all_tab_columns where table_name=upper('表名') AND owner=upper('数据库登录用户名');”语句查询数据库表的数据类型。

方法:1、利用“LOWER(字段值)”将字段转为小写,或者利用“UPPER(字段值)”将字段转为大写;2、利用“REGEXP_LIKE(字符串,正则表达式,'i')”,当参数设置为“i”时,说明进行匹配不区分大小写。

方法:1、利用“alter system set sessions=修改后的数值 scope=spfile”语句修改session参数;2、修改参数之后利用“shutdown immediate – startup”语句重启服务器即可生效。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Atom editor mac version download
The most popular open source editor

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.
