理解ASM(六)ASM文件管理

① 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中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值