ITPub博客

首页 > 数据库 > Oracle > 理解ASM(六)ASM文件管理

理解ASM(六)ASM文件管理

原创 Oracle 作者:幕南风 时间:2014-07-03 13:33:01 0 删除 编辑

 

        ① ASM文件转化
       
        以创建的asmtest表空间为例
         
           ㈠  将os文件转换为ASM文件

sys@ORCL> create tablespace asmtest datafile size 10m;

Tablespace created.

sys@ORCL> alter tablespace asmtest offline;

Tablespace altered.

[oracle@localhost ~]$ rman target /


RMAN> backup as copy tablespace asmtest format \'+DATA\';


RMAN> switch tablespace asmtest to copy;

datafile 6 switched to datafile copy "+DATA/orcl/datafile/asmtest.256.798497595"


sys@ORCL> alter tablespace asmtest online;

Tablespace altered.


sys@ORCL> select file_name from dba_data_files where tablespace_name=\'ASMTEST\';

FILE_NAME
----------------------------------------------------------------------------------------------------
+DATA/orcl/datafile/asmtest.256.798497595


ASMCMD> mkalias ASMTEST.256.798497595 asmtest.dbf

ASMCMD> ls -al
Type      Redund  Striped  Time             Sys  Name
DATAFILE  MIRROR  COARSE   NOV 04 20:00:00  Y    +DATA/ORCL/DATAFILE/asmtest.dbf => ASMTEST.256.798497595
                                            N    asmtest.dbf => +DATA/ORCL/DATAFILE/ASMTEST.256.798497595


 

           ㈡ 将数据文件从一个diskgroup迁移到另一个diskgroup

idle> select file_id  from dba_data_files where tablespace_name=\'ASMTEST\';

   FILE_ID
----------
         6

idle> alter tablespace asmtest offline;


[oracle@localhost ~]$ rman target /

RMAN> backup as copy datafile 6 format \'+THINK\';


RMAN> switch datafile 6 to copy;


RMAN> recover datafile 6;


RMAN> sql "alter tablespace asmtest online";


ASMCMD> find THINK/ *
+THINK/ORCL/
+THINK/ORCL/DATAFILE/
+THINK/ORCL/DATAFILE/ASMTEST.256.798503425


 

           ㈢ 将ASM文件转发成OS文件

sys@ORCL> select file_name from dba_data_files where tablespace_name=\'ASMTEST\';

FILE_NAME
----------------------------------------------------------------------------------------------------
+THINK/orcl/datafile/asmtest.256.798503425

sys@ORCL> alter tablespace asmtest offline;

sys@ORCL> create directory ossrc as \'/home/oracle\';

sys@ORCL> create directory  asmsrc as \'+THINK/orcl/datafile\';

sys@ORCL> begin
  2          dbms_file_transfer.copy_file(\'ASMSRC\',\'ASMTEST.256.798503425\',\'OSSRC\',\'ASM.DBF\');
  3         end;
  4  /

PL/SQL procedure successfully completed.

sys@ORCL> alter database rename file \'+THINK/orcl/datafile/asmtest.256.798503425\' to \'/home/oracle/ASM.DBF\';

[oracle@localhost ~]$ rman target /

RMAN> recover datafile 6;

RMAN> sql "alter tablespace asmtest online";


sys@ORCL> select file_name from dba_data_files where tablespace_name=\'ASMTEST\';

FILE_NAME
----------------------------------------------------------------------------------------------------
/home/oracle/ASM.DBF


 

          ② ASM中的文件名
         
          ASM文件名,诸如: 
          +THINK/orcl/datafile/asmtest.256.798503425
          上述名称的生成格式为:
          +diskgroup/dbname/file_type/file_type_tag.file.incarnation
          ● +diskgroup :磁盘组名称
          ● dbname :数据库的DB_UNIQUE_NAME参数值
          ● file_type :创建的文件类型,比如CONTROLFILE/DATAFILE/ONLINELOG/ARCHIVELOG/TEMPFILE/BACKUPSET/FLASHBACK等等
          ● file_type_tag :文件类型的标签,比如表空间对应的通常为该表空间名称
          ● file.incarnation :文件序号+incarnation,用来确保文件的唯一
          文件创建时无法指定实际文件名及路径,完全由ORACLE的OMF控制和管理
          例如:

sys@ORCL> alter tablespace asmtest add datafile \'+DATA\' size 10m;

Tablespace altered.


          如果设置了初始化参数db_create_file_dest,甚至连磁盘组名都不需要写了
          其它类型文件,比如重做日志文件等,操作方式都是同理的
          但像trace文件、alert文件、dump文件等还不能直接被存储到ASM中

<!-- Baidu Button BEGIN -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26515977/viewspace-1207853/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 理解ASM(五)ASM工具:asmcmd
下一篇: 理解ASM(七)ASM迁移
请登录后发表评论 登录
全部评论
腾讯数据库工程师

注册时间:2012-05-10

最新文章