asm下表空间的重命名与普通文件系统下的表空间重命名原理是一样的,只不过asm管理的数据文件有一些需要注意的地方,另外在asm下操作数据文件需要格外小心,稍有不慎将会造成数据文件丢失,如可以做备份最好需要备份。

需求:公司rac数据库asm存储原本采用normal模式,现在给数据库做了备份策略,不想在使用normal模式的asm管理,这样日常管理太浪费时间,为了平滑迁移,我新添加了一个磁盘组oradata,把日后增加的数据文件首先添加到oradata磁盘组下,然后没有业务发生时再去迁移原始数据。

实施步骤:

1、原始文件存储data磁盘组:

ASMCMD [+data/orcl/datafile] > ls -l

Type      Redund  Striped  Time             Sys  Name

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.268.907265611

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.269.911467049

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.270.911467085

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.271.913894971

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.272.915559085

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    EFMIS.273.915613859

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    SYSAUX.257.907264709

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    SYSTEM.256.907264709

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    UNDOTBS1.258.907264709

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    UNDOTBS2.264.907264867

DATAFILE  MIRROR  COARSE   JUN 27 14:00:00  Y    USERS.259.907264709

N    efmis01.dbf => +DATA/ORCL/DATAFILE/EFMIS.268.907265611

N    efmis02.dbf => +DATA/ORCL/DATAFILE/EFMIS.269.911467049

N    efmis03.dbf => +DATA/ORCL/DATAFILE/EFMIS.270.911467085

N    efmis04.dbf => +DATA/ORCL/DATAFILE/EFMIS.271.913894971

N    efmis05.dbf => +DATA/ORCL/DATAFILE/EFMIS.272.915559085

N    efmis06.dbf => +DATA/ORCL/DATAFILE/EFMIS.273.915613859

2、目标文件存储oradata磁盘组:

ASMCMD [+oradata/orcl/datafile] > ls -l

Type      Redund  Striped  Time             Sys  Name

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.256.915634603

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.257.915634643

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.258.915634663

DATAFILE  UNPROT  COARSE   JUN 27 22:00:00  Y    EFMIS.259.915634679

N efmis07.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.256.915634603

N efmis08.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.257.915634643

N  efmis09.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.258.915634663

N efmis10.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.259.915634679

3、这里需要将data磁盘组下的efmis数据表空间下的文件都迁移到oradata下:

1)首先关闭数据库:

[grid@node2 ~]$ serctl stop database -d orcl

2)启动数据库一个节点实例到mount状态(也可以open下迁移数据,这里因为数据库暂时不会发生业务,所以直接在mount下迁移)并查询数据库数据文件组成:

[oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 27 22:28:42 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount

ORACLE instance started.

Total System Global Area 4275781632 bytes

Fixed Size     2260088 bytes

Variable Size  1073742728 bytes

Database Buffers  3187671040 bytes

Redo Buffers    12107776 bytes

Database mounted.

SQL> select name from v$datafile;

NAME

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

+DATA/orcl/datafile/system.256.907264709

+DATA/orcl/datafile/sysaux.257.907264709

+DATA/orcl/datafile/undotbs1.258.907264709

+DATA/orcl/datafile/users.259.907264709

+DATA/orcl/datafile/undotbs2.264.907264867

+DATA/orcl/datafile/efmis01.dbf

+DATA/orcl/datafile/efmis02.dbf

+DATA/orcl/datafile/efmis03.dbf

+DATA/orcl/datafile/efmis04.dbf

+DATA/orcl/datafile/efmis05.dbf

+DATA/orcl/datafile/efmis06.dbf

+ORADATA/orcl/datafile/efmis07.dbf

+ORADATA/orcl/datafile/efmis08.dbf

+ORADATA/orcl/datafile/efmis09.dbf

+ORADATA/orcl/datafile/efmis10.dbf

15 rows selected.

3)asm上迁移物理文件:

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.273.915613859 +ORADATA/ORCL/DATAFILE/efmis06.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.273.915613859 -> +ORADATA/ORCL/DATAFILE/efmis06.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.272.915559085 +ORADATA/ORCL/DATAFILE/efmis05.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.272.915559085 -> +ORADATA/ORCL/DATAFILE/efmis05.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.271.913894971 +ORADATA/ORCL/DATAFILE/efmis04.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.271.913894971 -> +ORADATA/ORCL/DATAFILE/efmis04.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/orcl/datafile/EFMIS.270.911467085 +ORADATA/orcl/datafile/efmis03.dbf

copying +DATA/orcl/datafile/EFMIS.270.911467085 -> +ORADATA/orcl/datafile/efmis03.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.269.911467049 +ORADATA/ORCL/DATAFILE/efmis02.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.269.911467049 -> +ORADATA/ORCL/DATAFILE/efmis02.dbf

ASMCMD [+data/orcl/datafile] > cp +DATA/ORCL/DATAFILE/EFMIS.268.907265611 +ORADATA/orcl/datafile/efmis01.dbf

copying +DATA/ORCL/DATAFILE/EFMIS.268.907265611 -> +ORADATA/orcl/datafile/efmis01.dbf

ASMCMD [+data/orcl/datafile] > cp USERS.259.907264709 +ORADATA/orcl/datafile/USERS

copying +data/orcl/datafile/USERS.259.907264709 -> +ORADATA/orcl/datafile/USERS

ASMCMD [+oradata/orcl/datafile] > ls -l

Type      Redund  Striped  Time             Sys  Name

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.256.915634603

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.257.915634643

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.258.915634663

DATAFILE  UNPROT  COARSE   JUN 27 23:00:00  Y    EFMIS.259.915634679

N    USERS => +ORADATA/ASM/DATAFILE/USERS.266.915663721

N efmis01.dbf => +ORADATA/ASM/DATAFILE/efmis01.dbf.265.915663163

N efmis02.dbf => +ORADATA/ASM/DATAFILE/efmis02.dbf.264.915662267

N efmis03.dbf => +ORADATA/ASM/DATAFILE/efmis03.dbf.263.915662067

N efmis04.dbf => +ORADATA/ASM/DATAFILE/efmis04.dbf.262.915662031

N efmis05.dbf => +ORADATA/ASM/DATAFILE/efmis05.dbf.261.915661983

N efmis06.dbf => +ORADATA/ASM/DATAFILE/efmis06.dbf.260.915661893

N    efmis07.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.256.915634603

N    efmis08.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.257.915634643

N    efmis09.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.258.915634663

N    efmis10.dbf => +ORADATA/ORCL/DATAFILE/EFMIS.259.915634679

4)数据库下重命名数据文件:

SQL> alter database rename file '+DATA/orcl/datafile/efmis01.dbf' to '+ORADATA/orcl/datafile/efmis01.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis02.dbf' to '+ORADATA/orcl/datafile/efmis02.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis03.dbf' to '+ORADATA/orcl/datafile/efmis03.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis04.dbf' to '+ORADATA/orcl/datafile/efmis04.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis05.dbf' to '+ORADATA/orcl/datafile/efmis05.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/efmis06.dbf' to '+ORADATA/orcl/datafile/efmis06.dbf';

Database altered.

SQL> alter database rename file '+DATA/orcl/datafile/users.259.907264709' to '+ORADATA/orcl/datafile/USERS';

Database altered.

5)查看迁移后数据文件分布情况:

SQL> SELECT NAME FROM V$DATAFILE;

NAME

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

+DATA/orcl/datafile/system.256.907264709

+DATA/orcl/datafile/sysaux.257.907264709

+DATA/orcl/datafile/undotbs1.258.907264709

+ORADATA/orcl/datafile/users

+DATA/orcl/datafile/undotbs2.264.907264867

+ORADATA/orcl/datafile/efmis01.dbf

+ORADATA/orcl/datafile/efmis02.dbf

+ORADATA/orcl/datafile/efmis03.dbf

+ORADATA/orcl/datafile/efmis04.dbf

+ORADATA/orcl/datafile/efmis05.dbf

+ORADATA/orcl/datafile/efmis06.dbf

+ORADATA/orcl/datafile/efmis07.dbf

+ORADATA/orcl/datafile/efmis08.dbf

+ORADATA/orcl/datafile/efmis09.dbf

+ORADATA/orcl/datafile/efmis10.dbf

15 rows selected.

6)打开数据库:这里可以成功打开数据库,证明数据文件迁移是没有问题的。

SQL> alter database open;

Database altered.

7)设置grid管理数据库

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> exit

[grid@node2 ~]$ srvctl start database -d orcl

8)查看目前集群软件及数据库运行状态:

[grid@node2 ~]$ crsctl status resource -t

ora.asm

ONLINE  ONLINE       node1                    Started             

ONLINE  ONLINE       node2                    Started    

ora.orcl.db

1        ONLINE  ONLINE       node1                    Open                

2        ONLINE  ONLINE       node2                    Open                

ASMCMD [+oradata/orcl/datafile] > lsdg

State     Type       Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB    Voting_files  Name

MOUNTED  NORMAL    409592   358082           102398          127842           N  DATA/

MOUNTED  NORMAL    204796   204126                0          102063           N  FLASH/

MOUNTED  EXTERN     6134     5736                  0          5736             Y  GRIDDG/

MOUNTED  EXTERN     409594   255077                0          255077           N  ORADATA/

SQL> select name,round(total_mb/1024,2),round(free_mb/1024,2) from v$asm_diskgroup;

NAME      ROUND(TOTAL_MB/1024,2) ROUND(FREE_MB/1024,2)

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

DATA     399.99 349.69

FLASH 200 199.34

GRIDDG     5.99 5.6

ORADATA     399.99 249.1

rac下asm管理的表空间-数据文件的重命名的更多相关文章

  1. oracle 表空间 数据文件 表的关系

    数据文件是表空间的容器,增加数据文件是增大表空间的容量,而不是往表空间里添加数据因此数据文件肯定能添加,如果表空间用完了,再添加新的数据就会报错你可以这样理解,数据库是一个箱子,表空间是箱子里的抽屉, ...

  2. Oracle数据库表空间 数据文件 用户 以及表创建的SQL代码

    --create the tablespace CREATE SMALLFILE TABLESPACE "TABLE_CONTAINER" --创建表空间 DATAFILE 'E: ...

  3. Oracle创建、管理撤销表空间

    撤销管理模式: 用户通过设定撤销管理模式(undo mode)就可以灵活地选择使用手动撤销管理(manual undo management)或自动撤销管理(automatic undo manage ...

  4. asm和file system之间数据文件的转换

    How to move a datafile from a file system to ASMMoving a datafile from the file system can be achive ...

  5. [Oracle]System 表空间的文件丢失

    如果system 表空间的文件丢失,假设有备份的情况,可以恢复.数据库需要设置为mount 状态,然后restore/recover datafile 模拟实验: SQL> select nam ...

  6. EOFError: Compressed file ended before the end-of-stream marker was reached解决办法(在Windows下查看已下载的MNIST数据文件)

    出现这个问题的原因是因为文件下载到一半就中断了,解决办法是删除datasets中下载到一半的数据包. 下面以我遇到的问题为例: 我下载数据下载到最后一个包就没有反应了,于是我强制终止了运行,可能是因为 ...

  7. php文件夹下文件批量重命名

    php文件夹下文件批量重命名 <?php header("Content-type:text/html;charset=utf-8"); $dir = __DIR__.'./ ...

  8. 使用 vim 快速对当前文件夹下的文件批量重命名

    前言 我们在使用 Linux 的时候,有很多种方法可以对文件进行重命名,例如 命令行 下的 mv 命令,或者是使用像 dolphin 这样的图形文件管理器.但是有时候需要对一个文件夹下的所有文件批量重 ...

  9. java中实现File文件的重命名(renameTo)、将文件移动到其他目录下、文件的复制(copy)、目录和文件的组合(更加灵活方便)

    欢迎加入刚建立的社区:http://t.csdn.cn/Q52km 加入社区的好处: 1.专栏更加明确.便于学习 2.覆盖的知识点更多.便于发散学习 3.大家共同学习进步 3.不定时的发现金红包(不多 ...

随机推荐

  1. FFmpeg在Android上的移植优化步骤

    http://blog.csdn.net/feixiang_john/article/details/7894188 从事多媒体软件开发的人几乎没有不知道FFmpeg的,很多视频播放器都是基于FFmp ...

  2. linux -- Ubuntu开启root账户,并切换到root用户登陆

    启用root账户 ubuntu 的root账户具有最高的系统权限,它类似于windows系统中的管理员账号,但是比windows系统中管理员账号的权限更高,一般都情况下不要使用root账户,但是有的时 ...

  3. Huffman树

    结点定义: /* * Huffman树结点定义 */ struct Node { ElementType weight; // 结点的权值 struct Node *leftChild; // 结点的 ...

  4. TextView不用获取焦点也能实现跑马灯

    1.写一个类继承TextView package com.example.tt; import android.content.Context; import android.graphics.Rec ...

  5. hdu2147 kiki&#39;s game(博弈)

    这个是纳什博弈?不知道怎么看的 依据PN图,从左下角開始推 左下角P 最后一行都是PNPNPN 第一列都是 P N P N P 完了填完即可了 #include<cstdio> int m ...

  6. 【Java面试题】59 Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

    Math类中提供了三个与取整有关的方法:ceil.floor.round,这些方法的作用与它们的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11. ...

  7. 码农小汪-Hibernate学习8-hibernate关联关系注解表示@OneToMany mappedBy @ManyToMany @JoinTable

    近期我也是有点郁闷,究竟是程序中处理关联关系.还是直接使用外键处理关联关系呢?这个的说法不一致!程序中处理这样的关联关系的话.自己去维护这样的约束.这样的非常乐观的一种做法!或者是直接在数据库中处理这 ...

  8. 经常使用的CSS Hack技术集锦

    来源:http://www.ido321.com/938.html 一.什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致同样的CSS输出的页面效果不同,这就须要CSS Ha ...

  9. xml & < 需要转义

    写了个request2XML的方法,每当数据中有'<'.'&'符号时,封装的XML就无法解析.发现了XML里的CDATA属性,问题迎刃而解!在XML文档中的所有文本都会被解析器解析. 只 ...

  10. 各大IT公司 技术博客汇总

    来自:http://www.cnblogs.com/IT-Bear/p/3191423.html 腾讯系列(13)  阿里系列(18)  百度系列(3)  搜狐系列(3)  新浪系列(2)  360系 ...