ASM数据文件和FS之间的各种转换方法(4)


1.3  rman convert +open状态

使用rman的convert命令来实现,同样适用于10g

 

rman下:

convert datafile '+DATA/orclasm/datafile/testdg.277.868887219' format '/home/oracle/testdg.dbf';

 

sql下:

alter tablespace testdg offline ;

alter tablespace testdg rename datafile '+DATA/orclasm/datafile/testdg.277.868887219' to '/home/oracle/testdg1.dbf';

recover datafile 14;

alter tablespace testdg online;

 

 

[oracle@rhel6_lhr ~]$ rman target /

 

Recovery Manager: Release 11.2.0.3.0 - Production on Tue Jan 13 13:35:46 2015

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: ORCLASM (DBID=3424884828)

 

RMAN> report schema;

 

using target database control file instead of recovery catalog

Report of database schema for database with db_unique_name ORCLASM

 

List of Permanent Datafiles

===========================

File Size(MB) Tablespace           RB segs Datafile Name

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

1    890      SYSTEM               ***     +DATA/orclasm/datafile/system.256.850260145

2    940      SYSAUX               ***     +DATA/orclasm/datafile/sysaux.257.850260145

3    190      UNDOTBS1             ***     +DATA/orclasm/datafile/undotbs1.258.851526539

4    2676     USERS                ***     +DATA/orclasm/datafile/users.259.850260147

5    345      EXAMPLE              ***     +DATA/orclasm/datafile/example.265.850260295

6    5        UNDOTBS2             ***     +DATA/orclasm/datafile/undotbs2.267.851204361

7    50       TBS_RC               ***     +DATA/orclasm/datafile/tbs_rc.268.852116523

8    100      TS_LHR               ***     +DATA/orclasm/datafile/ts_lhr.269.852632495

9    1        ENCRYPTED_TS         ***     +DATA/orclasm/datafile/encrypted_ts.272.854650889

10   100      GOLDENGATE           ***     +DATA/orclasm/datafile/goldengate.273.862829891

11   50       APP1TBS              ***     +DATA/orclasm/datafile/app1tbs.274.866911939

12   50       APP2TBS              ***     +DATA/orclasm/datafile/app2tbs.275.866912075

13   50       IDXTBS               ***     +DATA/orclasm/datafile/idxtbs.276.866912133

14   2        TESTDG               ***     +DATA/orclasm/datafile/testdg.277.868887219

 

List of Temporary Files

=======================

File Size(MB) Tablespace           Maxsize(MB) Tempfile Name

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

1    237      TEMP                 32767       +DATA/orclasm/tempfile/temp.264.850260283

2    10       TEMP1                10          +DATA/orclasm/tempfile/temp1.270.853779297

 

 

RMAN> convert datafile '+DATA/orclasm/datafile/testdg.277.868887219' format '/home/oracle/testdg.dbf';

 

Starting conversion at target at 13-JAN-15

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile conversion

input file name=+DATA/orclasm/datafile/testdg.277.868887219

converted datafile=/home/oracle/testdg.dbf

channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01

Finished conversion at target at 13-JAN-15

 

Starting Control File and SPFILE Autobackup at 13-JAN-15

piece handle=/home/oracle/oracle_bk/orclasm/control_c-3424884828-20150113-04.bak comment=NONE

Finished Control File and SPFILE Autobackup at 13-JAN-15

 

RMAN>

 

 

[oracle@rhel6_lhr ~]$ vi d.sql

[oracle@rhel6_lhr ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jan 13 13:38:36 2015

 

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, Automatic Storage Management, OLAP, Data Mining

and Real Application Testing options

 

SQL> host more /home/oracle/d.sql

alter tablespace testdg offline ;

alter tablespace testdg rename datafile '+DATA/orclasm/datafile/testdg.277.868887219' to '/home/oracle/testdg1.dbf';

recover datafile 14;

alter tablespace testdg online;

 

SQL> @/home/oracle/d.sql

 

Tablespace altered.

 

 

Tablespace altered.

 

Media recovery complete.

 

Tablespace altered.

 

SQL> set pagesize 9999

SQL> select name from v$datafile;

 

NAME

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

+DATA/orclasm/datafile/system.256.850260145

+DATA/orclasm/datafile/sysaux.257.850260145

+DATA/orclasm/datafile/undotbs1.258.851526539

+DATA/orclasm/datafile/users.259.850260147

+DATA/orclasm/datafile/example.265.850260295

+DATA/orclasm/datafile/undotbs2.267.851204361

+DATA/orclasm/datafile/tbs_rc.268.852116523

+DATA/orclasm/datafile/ts_lhr.269.852632495

+DATA/orclasm/datafile/encrypted_ts.272.854650889

+DATA/orclasm/datafile/goldengate.273.862829891

+DATA/orclasm/datafile/app1tbs.274.866911939

+DATA/orclasm/datafile/app2tbs.275.866912075

+DATA/orclasm/datafile/idxtbs.276.866912133

/home/oracle/testdg1.dbf

 

14 rows selected.

 

SQL>

 

1.4  rman + set newname + mount 状态

run{

shutdown immediate;

startup mount;

set newname for datafile 14 to '/home/oracle/testdg.dbf';

restore datafile 14;

switch datafile 14;

recover datafile 14;

alter database open;

}

 

[oracle@rhel6_lhr ~]$ rman target /

 

Recovery Manager: Release 11.2.0.3.0 - Production on Tue Jan 13 13:58:39 2015

 

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: ORCLASM (DBID=3424884828)

 

RMAN> report schema;

 

using target database control file instead of recovery catalog

Report of database schema for database with db_unique_name ORCLASM

 

List of Permanent Datafiles

===========================

File Size(MB) Tablespace           RB segs Datafile Name

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

1    890      SYSTEM               ***     +DATA/orclasm/datafile/system.256.850260145

2    940      SYSAUX               ***     +DATA/orclasm/datafile/sysaux.257.850260145

3    190      UNDOTBS1             ***     +DATA/orclasm/datafile/undotbs1.258.851526539

4    2676     USERS                ***     +DATA/orclasm/datafile/users.259.850260147

5    345      EXAMPLE              ***     +DATA/orclasm/datafile/example.265.850260295

6    5        UNDOTBS2             ***     +DATA/orclasm/datafile/undotbs2.267.851204361

7    50       TBS_RC               ***     +DATA/orclasm/datafile/tbs_rc.268.852116523

8    100      TS_LHR               ***     +DATA/orclasm/datafile/ts_lhr.269.852632495

9    1        ENCRYPTED_TS         ***     +DATA/orclasm/datafile/encrypted_ts.272.854650889

10   100      GOLDENGATE           ***     +DATA/orclasm/datafile/goldengate.273.862829891

11   50       APP1TBS              ***     +DATA/orclasm/datafile/app1tbs.274.866911939

12   50       APP2TBS              ***     +DATA/orclasm/datafile/app2tbs.275.866912075

13   50       IDXTBS               ***     +DATA/orclasm/datafile/idxtbs.276.866912133

14   2        TESTDG               ***     +DATA/orclasm/datafile/testdg.279.868888623

 

List of Temporary Files

=======================

File Size(MB) Tablespace           Maxsize(MB) Tempfile Name

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

1    237      TEMP                 32767       +DATA/orclasm/tempfile/temp.264.850260283

2    10       TEMP1                10          +DATA/orclasm/tempfile/temp1.270.853779297

 

RMAN> @/home/oracle/c.sql

 

RMAN> run{

2> shutdown immediate;

3> startup mount;

4> set newname for datafile 14 to '/home/oracle/testdg.dbf';

5> restore datafile 14;

6> switch datafile 14;

7> recover datafile 14;

8> alter database open;

9> }

database closed

database dismounted

Oracle instance shut down

 

connected to target database (not started)

Oracle instance started

database mounted

 

Total System Global Area     375828480 bytes

 

Fixed Size                     2228464 bytes

Variable Size                268439312 bytes

Database Buffers             100663296 bytes

Redo Buffers                   4497408 bytes

 

executing command: SET NEWNAME

 

Starting restore at 13-JAN-15

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=13 device type=DISK

 

datafile 14 is already restored to file /home/oracle/testdg.dbf

restore not done; all files read only, offline, or already restored

Finished restore at 13-JAN-15

 

datafile 14 switched to datafile copy

input datafile copy RECID=20 STAMP=868888765 file name=/home/oracle/testdg.dbf

 

Starting recover at 13-JAN-15

using channel ORA_DISK_1

 

starting media recovery

media recovery complete, elapsed time: 00:00:01

 

Finished recover at 13-JAN-15

 

database opened

 

RMAN> **end-of-file**

 

RMAN> report schema;

 

Report of database schema for database with db_unique_name ORCLASM

 

List of Permanent Datafiles

===========================

File Size(MB) Tablespace           RB segs Datafile Name

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

1    890      SYSTEM               ***     +DATA/orclasm/datafile/system.256.850260145

2    940      SYSAUX               ***     +DATA/orclasm/datafile/sysaux.257.850260145

3    190      UNDOTBS1             ***     +DATA/orclasm/datafile/undotbs1.258.851526539

4    2676     USERS                ***     +DATA/orclasm/datafile/users.259.850260147

5    345      EXAMPLE              ***     +DATA/orclasm/datafile/example.265.850260295

6    5        UNDOTBS2             ***     +DATA/orclasm/datafile/undotbs2.267.851204361

7    50       TBS_RC               ***     +DATA/orclasm/datafile/tbs_rc.268.852116523

8    100      TS_LHR               ***     +DATA/orclasm/datafile/ts_lhr.269.852632495

9    1        ENCRYPTED_TS         ***     +DATA/orclasm/datafile/encrypted_ts.272.854650889

10   100      GOLDENGATE           ***     +DATA/orclasm/datafile/goldengate.273.862829891

11   50       APP1TBS              ***     +DATA/orclasm/datafile/app1tbs.274.866911939

12   50       APP2TBS              ***     +DATA/orclasm/datafile/app2tbs.275.866912075

13   50       IDXTBS               ***     +DATA/orclasm/datafile/idxtbs.276.866912133

14   2        TESTDG               ***     /home/oracle/testdg.dbf

 

List of Temporary Files

=======================

File Size(MB) Tablespace           Maxsize(MB) Tempfile Name

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

1    237      TEMP                 32767       +DATA/orclasm/tempfile/temp.264.850260283

2    10       TEMP1                10          +DATA/orclasm/tempfile/temp1.270.853779297

 

RMAN>

1.5  cp命令

 

alter tablespace testdg offline;

[root@rhel6_lhr ~]# su - grid

ASMCMD> cp +DATA/orclasm/datafile/testdg.dbf  /home/grid/testdg.dbf

copying +DATA/orclasm/datafile/testdg.dbf -> /home/grid/testdg.dbf

ASMCMD>  

 

[root@rhel6_lhr ~]# cp /home/grid/testdg.dbf /home/oracle/testdg.dbf

[root@rhel6_lhr ~]# chown oracle:oinstall /home/oracle/testdg.dbf

[root@rhel6_lhr ~]#

 

 

alter database rename file'+DATA/orclasm/datafile/testdg.dbf'  to '/home/oracle/testdg.dbf';

alter tablespace testdg online ;

 

2  总结

以上提供的各种办法各有优缺点,有的需要重启数据库,有的不需要,有的全在rman中执行,有的需要在sql下执行,大家需仔细领悟。


上一篇:【DB笔试面试215】在Oracle中,如何移动数据文件?


下一篇:【12c】12c RMAN新特性之recover table(表级别恢复)