WEB开发网
开发学院数据库Oracle DBA经验谈:更改数据文件的可用性 阅读

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

 2009-07-02 11:50:12 来源:WEB开发网   
核心提示: 可见,如果当数据库采用非归档模式时,DBA经验谈:更改数据文件的可用性(3),就无法采用上面方式将数据文件联机或者脱机,此时需要稍微修改一下上面的语句来完成,以免后续调整的麻烦,在数据文件创建之后,如可以将这个语句改为:ALTER DATABASE DATAFILE ‘数据文件

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

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

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

三、更改数据文件可用性的注意事项。

从以上的分析中可以看出要改变某个数据文件的状态,特别是归档模式下数据文件的可用性,并不是很困难的一件事情。不过在维护数据文件可用性的时候,下面的一些内容还需要引起各位数据库管理员的注意。

1、 系统表空间不能够脱机。

在Oracle数据库中,表空间可以分为系统表空间和非系统表空间。这里需要明白的是,系统表空间中的数据文件无法设置为脱机。后续大家还没有认识到这个的重要性。系统表空间中的数据文件无法脱机,就表示当数据库投入生产之后,就无法更改系统表空间中数据文件的存储位置。所以在数据库规划时,就好规划好系统表空间中数据文件的存储。另外,也不要将用户的数据文件存放到这个系统表空间中。

2、 表空间可用性与数据文件可用性之间的关系。

数据库表空间的可用性与数据文件的可用性存在着很密切的联系。一般来说,当将某个表空间设置为脱机或者联机时,这个表空间下面的所有数据文件的可用性也会随之变为脱机或者联机。但是,反过来即不成立。如先通过表空间脱机将所有的数据文件的可用性设置为脱机状态。然后再一一的将这个表空间的数据文件全部设置为联机,此时这些数据文件仍然不可用。这主要是因为这些数据文件的主人,表空间的使用状态还是为脱机。所以说,数据文件可用性的改变,不会影响到表空间。但是表空间使用状态的改变,却会影响其下面的所有数据文件。

这个特性有时候很有用。如现在数据库管理员出于性能优化的考虑,要将某个表空间移植到另外一个快性能更佳的硬盘上,以减少硬盘I/O的冲突。此时就需要将这个表空间的数据文件设置为脱机。为此数据库管理员就不需要一一的去改变这个表空间下面数据文件的可用性。而是可以直接将这个表空间设置为脱机,那么下面数据文件的可使用状态也会发生相应的改变。然后就可以移动这些数据文件的位置了。等到移动完成后,再将这个表空间设置为联机即可。此时这个表空间下面的所有数据文件也会变为联机。可见,通过表空间的可用性来维护数据文件的可用性,在需要维护整个表空间中数据文件的可用形时是非常便捷的一个方式。不过这里仍然需要注意一点,就是其仍然受到归档模式与非归档模式两种操作模式的限制。

最后需要说明的一点就是,数据文件在创建数据库或者增加数据文件时就会被创建。如现在为某个表空间增加了一个数据文件,即使这个数据文件还没有数据,系统就已经为其分配了存储空间。为此当数据文件创建后要调整数据文件的名字与位置时,会比较麻烦。所以笔者建议数据库管理员,在创建数据文件之前先要对其进行合理的规划,以免后续调整的麻烦。在数据文件创建之后,最好不要随意的通过更改可用性来调整数据文件的配置。

上一页  1 2 3 

Tags:DBA 经验谈 更改

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接