测试目的:验证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 --------------------- 原文:https://blog.csdn.net/huangliang0703/article/details/48197007 版权声明:本文为博主原创文章,转载请附上博文链接!
RAC中误将数据文件创建在本地盘时的修正
来源:这里教程网
时间:2026-03-03 13:56:40
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 阿里云POLARDB 2.0重磅来袭!为何用户如此的期待?
阿里云POLARDB 2.0重磅来袭!为何用户如此的期待?
26-03-03 - ORACLE 12C opatch fuser与ChecksystemCommandAvailable failed
- 静默安装Oracle建库时报Template General Purpose does not exist
- POLARDB v2.0 技术解读
POLARDB v2.0 技术解读
26-03-03 - HPUX oracle 10G patch作业
HPUX oracle 10G patch作业
26-03-03 - ORACLE NBU调取oracle rman脚本备份归档不自动删除归档
ORACLE NBU调取oracle rman脚本备份归档不自动删除归档
26-03-03 - Debian readlink命令详解(小白也能轻松掌握如何读取符号链接目标)
- system表空间空间解决(ORA-00604 ORA-01653 ORA-02002)
- SQL Performance Analyzer实操
SQL Performance Analyzer实操
26-03-03 - linux7安装oracle 19c rac
linux7安装oracle 19c rac
26-03-03
