理解ASM(六)ASM文件管理

来源:互联网 发布:破解版直播软件 编辑:程序博客网 时间:2024/05/21 10:45

 

        ① 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.798497595ASMCMD> mkalias ASMTEST.256.798497595 asmtest.dbfASMCMD> ls -alType      Redund  Striped  Time             Sys  NameDATAFILE  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----------         6idle> 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.798503425sys@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中

原创粉丝点击