移动DG数据库的数据文件

今天遇到个问题,由于执行一个TSM脚本的时候,没注意到脚本中的语句会新建一个tablespace,而且新建的语句是

由于没有指定数据文件的绝对路径,所以默认就放在了$ORACLE_HOME/dbs路径下。

数据文件路径不统一,风险可大可小,如果是HA架构,数据文件不在共享存储上,切换的时候就会在备机起不来;如果在冷备的时候,如果没注意到这个文件,也会造成遗漏,做的冷备无法用于还原。

为了保持各个数据文件的存放路径统一,我们需要将该数据文件从dbs下mv到同一的数据文件的路径下。如果是单个库,就比较好处理,直接将tablespace offline之后在mv数据文件,再online上去即可。但是由于存在DG,我们对DG需要额外的处理一下。

我们可以按照下面的步骤处理:
主库:

在主库操作完成后,我们再对standby库的文件进行处理:
在备库:

小提示:
1、如果没有将数据库从recover managed状态置于mount状态,在mv或者cp的时候会报错:

2、如果没有将standby_file_management状态置于manual状态,会报错:

相关文章

6条评论

  1. re huc:那是因为askdba网站还没改。不过rss内容还是正常输出,只是标题名字还是cn的。^^
    谢谢提醒。

  2. 问一下,在做rac过程,数据文件要放在share disk上,那在实际环境中,这个share disk是通过什么设备实现的呢,是在两台机器mount nfs文件系统,还是使用iscsiadm,还是存储本身就具有share disk的功能呢?

  3. re magscott:shared disk可以通过共同挂载的裸设备或者ASM来实现,不建议用NFS,不稳定。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据