• 将数据文件从asm移到普通文件系统


    数据库可以关闭的场景:

    1.关闭并重新mount数据库

    $ sqlplus '/as sysdba'
    SQL> shutdown immediate;
    SQL> startup mount;
    

    2.确保文件系统的空间大小够用

    SQL> select file#,name,bytes/1024/1024 file_size_mb from v$datafile;
    
         FILE# NAME                                                         FILE_SIZE_MB
    ---------- ------------------------------------------------------------ ------------
             1 +DATA/test/datafile/system.285.914350599                             790
             2 +DATA/test/datafile/sysaux.276.914350599                            2140
             3 +DATA/test/datafile/undotbs1.280.914350599                           130
             4 +DATA/test/datafile/users.284.914350599                             2140
    

    3.登录rman并copy数据文件

    $ rman target /
    RMAN> copy datafile 4 to '/oradata/test/users01.dbf';
    

    4.更新控制文件中被移动文件的信息

    $ sqlplus '/as sysdba'
    SQL> alter database rename file '+DATA/test/datafile/users.284.914350599' to '/oradata/test/users01.dbf';
    

    5.查看结果

    SQL> select file#,name from v$datafile;
    

    6.打开数据库

    数据库处于运行状态:

    如果数据库处于运行状态,要想移动数据文件,必须要将文件offline
    1.查看包含该文件的表空间,并将数据文件offline

    RMAN> report schema;
    SQL> alter database datafile 4 offline;
    

    2.确保文件系统的空间大小够用

    SQL> select file#,name,bytes/1024/1024 file_size_mb from v$datafile;
    
         FILE# NAME                                                         FILE_SIZE_MB
    ---------- ------------------------------------------------------------ ------------
             1 +DATA/test/datafile/system.285.914350599                             790
             2 +DATA/test/datafile/sysaux.276.914350599                            2140
             3 +DATA/test/datafile/undotbs1.280.914350599                           130
             4 +DATA/test/datafile/users.284.914350599                             2140
    

    3.登录rman并copy数据文件

    $ rman target /
    RMAN> copy datafile 4 to '/oradata/test/users01.dbf';
    

    4.更新控制文件中被移动文件的信息

    $ sqlplus '/as sysdba'
    SQL> alter database rename file '+DATA/test/datafile/users.284.914350599' to '/oradata/test/users01.dbf';
    

    5.查看结果

    SQL> select file#,name from v$datafile;
    

    6.将数据文件online
    (1) 如果该数据文件所在的表空间是offline的,直接将数据文件online

    SQL> alter database datafile 4 online;
    

    (2) 如果该文件所在表空间是online的

    SQL> recover automatic datafile 4;
    SQL> alter database datafile 4 online;
    或者使用rman
    RMAN> recover datafile 4;
    RMAN> sql "alter database datafile 4 online";
    

      

  • 相关阅读:
    Concept with HTTP API && RPC
    倒排索引
    What is the difference between routine , method , procedure , function ? please explain it with example?
    第一章 计算机系统漫游
    PHP 编译安装
    清空/重置队列
    解决window.location.href参数太长 post提交数据
    linux安装jdk1.8
    Hibernate中对象的三种状态即save(),update(),saveOrUpdate()的使用【转】
    eclipse中的任务标记(TODO、FIXME、XXX)
  • 原文地址:https://www.cnblogs.com/abclife/p/5771938.html
Copyright © 2020-2023  润新知