linux asm是什么文件系统,ASM与文件系统之间copy数据文件--文件系统到ASM

同样也是两种方式

dbms_file_transfer或者rman

这个文章只是说了rman的方式,dbms_file_transfer方式可以参考"ASM与文件系统之间copy数据文件--ASM到文件系统"一文

Goal

This note will guide a DBA in moving a datafile currently located on file system to an ASM diskgroup.

SolutionHow to move a datafile from a file system to ASM

Moving a datafile from the file system can be achived in two ways.

i. While the database is shutdown (in mount stage).

ii. While the database is running (with the selected tablespace offline).

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

i. While the database is shutdown (in mount stage).

Moving oracle datafile while the database is in mount stage is performed in the following way:

1. Shutdown and mount the database.

[oracle@linux] sqlplus '/as sysdba'

SQL> shutdown immediate;

SQL> startup mount;

2. Ensure you have enough space in the ASM diskgroup to copy the datafile.

First identify the size of the datafile you wish to move.

SQL> select file#, name, (bytes/1048576) File_Size_MB from v$datafile;

FILE#   NAME                         FILE_SIZE_MB

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

...

4       /oradata/PROD/users01.dbf    2500

...

* In this example we will be moving users01.dbf

[oracle@linux] export ORACLE_SID=+ASM

SQL> select NAME, STATE, TOTAL_MB, FREE_MB from v$asm_diskgroup;

NAME                         STATE       TOTAL_MB   FREE_MB

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

DGROUP1                        MOUNTED     100        3

DGROUP2                        MOUNTED     4882       4830

3. Connect to RMAN and copy the datafile from the filesystem to the select ASM diskgroup.

[oracle@linux] rman target=/

RMAN> copy datafile 4 to '+DGROUP2';

Starting backup at 2006/09/05 12:14:23

using target database controlfile instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=31 devtype=DISK

channel ORA_DISK_1: starting datafile copy

input datafile fno=00004 name=/oradata/PROD/users01.dbf

output filename=+DGROUP2/PROD/datafile/users01.258.600351265 tag=TAG20060905T121424 recid=10 stamp=600351264

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:05:01

Finished backup at 2006/09/05 12:19:24

4. Update the controlfile with the new location of the datafile.

[oracle@linux] rman target /

RMAN> switch datafile 4 to copy;

datafile 4 switched to datafile copy "+DGROUP2/PROD/datafile/users01.258.600351265".

5. The file is now if the new location.

SQL> select name from v$datafile;

NAME

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

..

+DGROUP2/PROD/datafile/users01.258.600351265

..

6. The database may now be opened.

While the database is running (with the select tablespace offline).

In order to move a datafile on a running active database the tablespace where the datafile resides must be placed offline.

1. Identify the tablespace which contains the datafile and offline the tablespace.

SQL> select tablespace_name, file_name from dba_data_files where file_id=4;

TABLESPACE_NAME    FILE_NAME

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

USERS            /oradata/RMAN/users01.dbf

SQL> alter tablespace USERS offline;

* * * * * Continue with Steps 2 - 5 above. * * * * *

6. After you have successfully completed the above steps (2 -5) place the tablespace online;

SQL> alter tablespace USERS online;

The datafile has now been successfully moved to the ASM diskgroup.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值