WEB开发网
开发学院数据库Oracle 重定位数据文件的位置 阅读

重定位数据文件的位置

 2009-07-01 11:50:17 来源:WEB开发网   
核心提示: 在上面这个步骤中,虽然完成了在数据库级别上的数据文件重定位,重定位数据文件的位置(3),但是在数据库中起只是存储了数据文件的指针,即数据文件在硬盘中的存储位置,故在不需要停止数据库服务的情况下就可以像普通文件一样删除,这些安全措施可以减少数据文件重定位过程中的安全隐患,具体来说,就是修改了

在上面这个步骤中,虽然完成了在数据库级别上的数据文件重定位。但是在数据库中起只是存储了数据文件的指针,即数据文件在硬盘中的存储位置。具体来说,就是修改了控制文件与应用字典中的数据文件位置信息。但是硬盘上数据文件存储的位置没有实际发生改变。如果此时让表空间联机的话,则数据库系统就会因为找不到对应的数据文件而发生错误。

所以说,当改变数据文件的位置和名称时,数据库据只是在控制文件与数据字典中改变了数据文件的指针,并没有在硬盘上创建文件。也没有移动硬盘上的任何操作系统文件。数据库管理员若想重定位数据文件,除了要在数据库上更改数据文件指针外,还需要手工的移动操作系统上的文件,或者对数据文件进行重命名。为此,做好上面那几步后,接下去数据库管理员就需要将数据文件移动到特定的硬盘上。这个移动很简单,就是在操作系统的级别上对文件进行剪贴、复制即可。

第三步:重新启动数据库服务。

当以上的工作完成后,管理员需要重新启动数据库的相关服务(注意不是重新启动数据库系统)。在控制面板、管理工具、服务窗口内,把刚才停止的数据库服务再重新启动起来即可。需要注意,刚才停止的服务要一一的启动起来,否则的话某些应用服务可能会无法正常运行。

经过这几个步骤之后,就完成了对数据文件重定位的作业。如果数据文件重定位得当,将不同类型的数据文件存放在不同的硬盘上,以降低硬盘的I/O争用。那么就可以起到提高数据库性能的目的。不过如果只是在同一个硬盘内移动数据文件,往往是多次一举,无法起到优化数据库性能的目的。

虽然按部就班可以完成数据文件的重定位,但是笔者还是建议各位读者,最好在数据库投入生产使用之前先对规划好数据文件的存储位置。因为在更改数据文件位置的时候,数据库仍然会发生停机的现象。而且在移动数据文件的过程中,也可能会因为各种难以预测的原因而导致数据文件移动故障,从而数据库无法正常启动。如果在后续数据库维护的过程中,确实需要更改数据文件位置的,那么在其前后需要做好一项工作,即数据库的完全备份工作。移动数据文件,是数据改变数据库物理结构的作业。为此此时就需要对数据库进行一次完全的备份。如此的话,即使数据文件在移动过程中发生损坏,仍然可以通过使用备份来将数据库恢复到移动前的状态。然后,在调整完成之后,也需要马上对数据库进行一个完全的备份,以保留一个完成的数据库结构。如果数据库比较大,备份的时间比较长,那么可以利用控制文件的备份来代替完全备份。因为在控制文件中保存了数据库的物理结构信息。当因为数据物理结构损坏而导致数据库启动失败时,通过恢复控制文件也可以解决数据库启动的问题。

另外在移动数据文件的过程中,最好采用复制的方式,而不是采用剪贴的方式。即将一个数据文件从一块硬盘移动到另外一块硬盘的时候,先将这个数据文件复制,然后再粘贴到另外一块硬盘。如此即使在数据文件移动的过程中,数据文件发生损坏,也有原始的数据文件可以补救。在操作系统中,把文件从一个地方复制到另外一个地方后,目标文件发生损坏的现象还是时有发生的。但是这不会影响到原文件。故当确保数据库系统可以正确读取目标文件后,再将原文件删除即可。此时原数据文件已经跟数据库系统没有任何关系,故在不需要停止数据库服务的情况下就可以像普通文件一样删除。

这些安全措施可以减少数据文件重定位过程中的安全隐患。笔者建议各位数据库管理员可以采取类似的安全措施来访问调整过程中的风险。

上一页  1 2 3 

Tags:定位 数据 文件

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