广告
返回顶部
首页 > 资讯 > 数据库 >RAC中误将数据文件创建在本地盘时的修正方法是什么
  • 762
分享到

RAC中误将数据文件创建在本地盘时的修正方法是什么

rac 2022-10-18 23:10:13 762人浏览 泡泡鱼
摘要

本篇内容介绍了“RAC中误将数据文件创建在本地盘时的修正方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

本篇内容介绍了“RAC中误将数据文件创建在本地盘时的修正方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

测试目的:验证RAC中误将数据文件创建在本地盘时的修复办法

环境说明:

两节点RAC,数据库名为kdedi 版本11.2.0.4 

使用了ASM作为共享存储解决方案。

一 环境准备

1)节点一上创建表空间test1,数据文件不放到ASM,而是放到本地盘,能查看到表空间,能在上面创建表:

19:26:00 sys@XXX>create tablespace test1 datafile '/home/oracle/test1.dbf' size 10m;

Tablespace created.

19:28:25 sys@XXX> select name,status from v$datafile;

NAME

---------------------------------------------------------------------------------------------------------------------------------------

STATUS

…………

/home/oracle/test1.dbf

ONLINE

30 rows selected.

19:28:32 sys@XXX> create table test1 (id int) tablespace test1;

Table created.

19:29:01 sys@XXX> create table test2 tablespace test1 as select * from dba_tables;

Table created.

19:29:09 sys@XXX>

2) 节点二上 能查到表空间test1,但创建表报错:

19:24:33 sys@XXX>select name ,status from v$datafile;

NAME

---------------------------------------------------------------------------------------------------------------------------------------

STATUS

-------

/home/oracle/test1.dbf

ONLINE

30 rows selected.

19:29:24 sys@XXX> create table test1 (id int) tablespace test1;

 create table test1 (id int) tablespace test1*

ERROR at line 1:

ORA-01157: cannot identify/lock data file 30 - see DBWR trace file

ORA-01110: data file 30: '/home/oracle/test1.dbf'

3)但是数据库还是照样能够重启

[grid@qs-oradb1 ~]$ srvctl stop database -d kdedi

[grid@qs-oradb1 ~]$ srvctl start database -d kdedi

[grid@qs-oradb1 ~]$ 

2 处理过程

20:56:25 sys@XXX> alter tablespace test1 offline;

Tablespace altered.

20:56:59 sys@XXX>exec dbms_file_transfer.copy_file('TEST1','test1.dbf','TEST2','test1.dbf');

PL/sql procedure successfully completed.

20:57:09 sys@XXX> alter database rename file '/home/oracle/test1.dbf' to '+XXX_DATA/XXX/datafile/test1.dbf';

Database altered.

20:57:39 sys@XXX> alter tablespace test1 online;

Tablespace altered.

3、备注

以上迁移数据文件时是采用 dbms_file_transfer.copy_file迁移数据文件的方法,也可以使用RMAN来做:

SQL>select tablespace_name,file_name,status,online_status from

dba_data_files;

需要对表空间进行OFFLINE

登录RMAN,

 RMAN> sql "alter tablespace test1 offline";

  RMAN> copy datafile '/home/oracle/test1.dbf' to

'+DG/rac10g/datafile/test1.dbf';

SQL> alter database rename file '/home/oracle/test1.dbf' to

'+DG/rac10g/datafile/test1.dbf';

SQL> alter tablespace test1 online;

附:删除数据文件的别名:

[grid@qs-oradb1 ~]$ asmcmd

ASMCMD> ls -l

State    Type    Rebal  Name

MOUNTED  EXTERN  N      ARCH/

MOUNTED  EXTERN  N      DG_GRID/

MOUNTED  EXTERN  N      FBFJ_DATA/

MOUNTED  EXTERN  N      KDEDI_DATA/

切到对应的目录下:

ASMCMD> cd +KDEDI_DATA/kdedi/datafile

ASMCMD> rm test1.dbf

“RAC中误将数据文件创建在本地盘时的修正方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: RAC中误将数据文件创建在本地盘时的修正方法是什么

本文链接: https://www.lsjlt.com/news/63868.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • RAC中误将数据文件创建在本地盘时的修正方法是什么
    本篇内容介绍了“RAC中误将数据文件创建在本地盘时的修正方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2022-10-18
    rac
  • 在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么
    今天就跟大家聊聊有关在Linux中创建自定义脚本和创建systemd服务单元文件的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言systemd是Linux操作系统的系统...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作