asm和file system之间数据文件的转换
How 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).
(數(shù)據(jù)文件實(shí)現(xiàn)文件系統(tǒng)到ASM的轉(zhuǎn)換遷移,一是在數(shù)據(jù)庫mount狀態(tài),二是在open狀態(tài),但數(shù)據(jù)文件所屬表空間需要offline狀態(tài))
-----------------------------------------------------------------------------------------------
i. While the database is shutdown (in mount stage).
(1、mount狀態(tài))
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.
在ASM上要有足夠的空間
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.
用RMAN copy 數(shù)據(jù)文件
[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.
更新控制文件中的數(shù)據(jù)文件新的文件位置
[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.
在數(shù)據(jù)庫中查看,文件位置已經(jīng)更新
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
..
+DGROUP2/PROD/datafile/users01.258.600351265
..
6. The database may now be opened.
open 數(shù)據(jù)庫。
While the database is running (with the select tablespace offline).
在open狀態(tài)下轉(zhuǎn)換
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.
確保表空間offline
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. * * * * *
以上步驟2-5相同
6. After you have successfully completed the above steps (2 -5) place the
tablespace online;
?
SQL> alter tablespace USERS online;
?
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的asm和file system之间数据文件的转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate实体的几种状态:
- 下一篇: 第12天内容