博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle之 RAC本地数据文件迁移至ASM
阅读量:7045 次
发布时间:2019-06-28

本文共 2783 字,大约阅读时间需要 9 分钟。

系统环境:

CentOS release 6.7 (Final)
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit
操作过程:

1、添加数据文件或者创建表空间时,误操作将路径指定为单节点本地

SQL> alter tablespace users add datafile '/home/oracle/test.dbf' size 4m;

Tablespace altered.

SQL>
set line 180
col file_name for a60
col tablespace_name for a15
select file_name,file_id,online_status,tablespace_name from dba_data_files;

FILE_NAME FILE_ID ONLINE_ TABLESPACE_NAME

------------------------------------------------------------ ---------- ------- ---------------
+DATA/devdb/datafile/users.259.936769201 4 ONLINE USERS
+DATA/devdb/datafile/undotbs1.258.936769201 3 ONLINE UNDOTBS1
+DATA/devdb/datafile/sysaux.257.936769199 2 ONLINE SYSAUX
+DATA/devdb/datafile/system.256.936769199 1 SYSTEM SYSTEM
+DATA/devdb/datafile/example.265.936769441 5 ONLINE EXAMPLE
/home/oracle/test.dbf 6 ONLINE USERS
6 rows selected.

2.干净关闭RAC2,RAC1

srvctl stop database -d XXX

3.将RAC1启动mount状态

SQL> startup mount;

4.通过RMAN CP命令拷贝数据文件

node1-> rman target /
connected to target database: DEVDB (DBID=841499351, not open)

RMAN> copy datafile '/home/oracle/test.dbf' to '+data';

Starting backup at 2017/09/17 02:13:03

using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=36 instance=devdb1 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=/home/oracle/test.dbf
output file name=+DATA/devdb/datafile/users.273.954900787 tag=TAG20170917T021305 RECID=3 STAMP=954900786
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 2017/09/17 02:13:07

Starting Control File and SPFILE Autobackup at 2017/09/17 02:13:07

piece handle=+FLASH/devdb/autobackup/2017_09_17/s_954900552.304.954900789 comment=NONE
Finished Control File and SPFILE Autobackup at 2017/09/17 02:13:10

5.在 ASM 中查找 /home/oracle/test.dbf 映射过来对应的 ASM 文件名

ASMCMD> cd data/devdb/datafile
ASMCMD> pwd
+data/devdb/datafile
ASMCMD> ls -lt user*
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE SEP 17 03:00:00 Y USERS.273.954900787
DATAFILE UNPROT COARSE SEP 17 03:00:00 Y USERS.259.936769201
说明: /home/oracle/test.dbf 对应为 USERS 表空间, 所以这里为 user*

6.在sqlplus中将数据库启动到mount状态,rename数据文件

SQL> alter database rename file '/home/oracle/test.dbf' to '+DATA/devdb/datafile/USERS.273.954900787';

7.将rac1,rac2启动

#RAC1
SQL> alter database open;
Database altered.
SQL>

#RAC2

SQL> startup;

附:SYSTEM数据文件移植步骤(过程说明):
1. Stop DB.
2. Move the datafile using asmcmd.
3. Mount the DB.
4. Rename the datafile.
5. Open the DB.
6. On other RAC nodes you still need to bounce the database because it is SYSTEM tablespace, otherwise you will keep getting errors ORA-01516 or original error ORA-01157: cannot identify/lock data file.

转载于:https://www.cnblogs.com/andy6/p/7532458.html

你可能感兴趣的文章
同时寻找最大数和最小数的最优算法
查看>>
【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类
查看>>
GDI+在VS2008 编译不过的解决方法
查看>>
强烈推荐一个超酷的wordpress状态信息图
查看>>
分区表、分区索引3(海量数据测试)
查看>>
AIX查看CPU核数
查看>>
Android 记录和恢复ListView滚动的位置的三种方法
查看>>
Silverlight和Metro中ListBox样式的添加及使用
查看>>
IOS设计模式-抽象工厂
查看>>
对Linux命令进一步学习vim(二)
查看>>
AppStore应用转让流程
查看>>
php模板引擎
查看>>
.NET Core RC2/RTM 明确了时间表
查看>>
解决Eclipse Debug source not found问题
查看>>
SQL Server SQL分页查询
查看>>
第一百一十六节,JavaScript,DOM操作样式
查看>>
互联网业务场景下消息队列架构
查看>>
java 的""和null的区别
查看>>
Redis内存压缩实战
查看>>
java-Spring 管理bean例子
查看>>