ASM (2)
二、將資料庫轉移到ASM上
========================[@more@]
我們用RMAN實現這一功能。在轉移資料庫以前,先設若干跟檔案儲存位置相關的引數。
C:¥oracle¥product¥10.2.0¥db_1¥database>set oracle_sid=orcl
C:¥oracle¥product¥10.2.0¥db_1¥database>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 12月 28 10:38:52 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect/ as sysdba
已連線。
SQL> show parameter db_create_file_dest
NAME TYPE VALUE
--------------------- --------- ------------------------------
db_create_file_dest string C:¥oracle¥product¥10.2.0¥orada
ta
SQL> alter system set db_create_file_dest='+DGROUP1' scope=spfile;
系統已更改。
SQL> alter system set db_recovery_file_dest='+DGROUP1' scope=spfile;
系統已更改。
SQL> alter system set db_recovery_file_dest_size=3000M scope=spfile;
系統已更改。
SQL> alter system reset control_files scope=spfile sid='*';
系統已更改。
ALTER SYSTEM RESET 命令用來在SPFILE中刪除(unset)引數,此處用來刪除control_file引數,因為移到ASM上後需要重建control file。
將資料庫重啟到nomount狀態。
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup nomount
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 272632708 bytes
Database Buffers 331350016 bytes
Redo Buffers 7135232 bytes
SQL> exit
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
啟動RMAN。
C:¥oracle¥product¥10.2.0¥db_1¥database>rman target /
恢復管理器: Release 10.2.0.1.0 - Production on 星期四 12月 28 10:42:58 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: orcl (未裝載)
RMAN> restore controlfile from
'C:¥oracle¥product¥10.2.0¥oradata¥ORCL¥CONTROLFILE¥O1_MF_2OT4KXWB_.CTL';
啟動 restore 於 28-12月-06
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 已複製控制檔案副本
輸出檔名=+DGROUP1/orcl/controlfile/backup.256.610368623
輸出檔名=+DGROUP1/orcl/controlfile/backup.257.610368627
完成 restore 於 28-12月-06
由於引數CREATE_FILE_DEST和RECOVERY_FILE_DEST都進行了設定,所以建立了2份controlfile。
轉移資料庫時使用命令 BACKUP AS COPY DATABASE...
RMAN> alter database mount;
資料庫已裝載
釋放的通道: ORA_DISK_1
RMAN> backup as copy database format '+DGROUP1';
啟動 backup 於 28-12月-06
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=153 devtype=DISK
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00001 name=C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥DATAFILE¥O1_MF_SYSTEM_2OT4J2H4_.DBF
輸出檔名 = +DGROUP1/orcl/datafile/system.258.610368679 標記 = TAG20061228T105117 recid = 1 時間戳 = 610368724
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:56
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00003 name=C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥DATAFILE¥O1_MF_SYSAUX_2OT4J2J3_.DBF
輸出檔名 = +DGROUP1/orcl/datafile/sysaux.259.610368733 標記 = TAG20061228T105117 recid = 2 時間戳 = 610368759
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:35
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00002 name=C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥DATAFILE¥O1_MF_UNDOTBS1_2OT4J2M1_.DBF
輸出檔名 = +DGROUP1/orcl/datafile/undotbs1.260.610368769 標記 = TAG20061228T105117 recid = 3 時間戳 = 610368771
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:04
通道 ORA_DISK_1: 啟動資料檔案副本
輸入資料檔案 fno=00004 name=C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥DATAFILE¥O1_MF_USERS_2OT4J2M1_.DBF
輸出檔名 = +DGROUP1/orcl/datafile/users.261.610368773 標記 = TAG20061228T105117 recid = 4 時間戳 = 610368773
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:03
通道 ORA_DISK_1: 啟動資料檔案副本
複製當前控制檔案
輸出檔名 = +DGROUP1/orcl/controlfile/backup.262.610368775 標記 = TAG20061228T105117 recid = 5 時間戳 = 610368778
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:03
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
在備份集中包含當前的 SPFILE
通道 ORA_DISK_1: 正在啟動段 1 於 28-12月-06
通道 ORA_DISK_1: 已完成段 1 於 28-12月-06
段控制程式碼=+DGROUP1/orcl/backupset/2006_12_28/nnsnf0_tag20061228t105117_0.263.610368779 標記=TAG20061228T105117 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
完成 backup 於 28-12月-06
RMAN> switch database to copy;
資料檔案 1 已切換成資料檔案副本 "+DGROUP1/orcl/datafile/system.258.610368679"
資料檔案 2 已切換成資料檔案副本 "+DGROUP1/orcl/datafile/undotbs1.260.610368769"
資料檔案 3 已切換成資料檔案副本 "+DGROUP1/orcl/datafile/sysaux.259.610368733"
資料檔案 4 已切換成資料檔案副本 "+DGROUP1/orcl/datafile/users.261.610368773"
RMAN> alter database open;
資料庫已開啟
RMAN> exit
恢復管理器完成。
資料庫轉移完成,用SQL*PLUS進入資料庫檢查狀態。
C:¥oracle¥product¥10.2.0¥db_1¥database>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 12月 28 10:56:48 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect / as sysdba
已連線。
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
-------------------------------- ------------------------
orcl OPEN
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
+DGROUP1/orcl/controlfile/backup.256.610368623
+DGROUP1/orcl/controlfile/backup.257.610368627
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
+DGROUP1/orcl/datafile/system.258.610368679
+DGROUP1/orcl/datafile/undotbs1.260.610368769
+DGROUP1/orcl/datafile/sysaux.259.610368733
+DGROUP1/orcl/datafile/users.261.610368773
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥ONLINELOG¥O1_MF_3_2OT4L52X_.LOG
C:¥ORACLE¥PRODUCT¥10.2.0¥FLASH_RECOVERY_AREA¥ORCL¥ONLINELOG¥O1_MF_3_2OT4L63F_.LOG
C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥ONLINELOG¥O1_MF_2_2OT4L2VC_.LOG
C:¥ORACLE¥PRODUCT¥10.2.0¥FLASH_RECOVERY_AREA¥ORCL¥ONLINELOG¥O1_MF_2_2OT4L43X_.LOG
C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥ONLINELOG¥O1_MF_1_2OT4L0WS_.LOG
C:¥ORACLE¥PRODUCT¥10.2.0¥FLASH_RECOVERY_AREA¥ORCL¥ONLINELOG¥O1_MF_1_2OT4L1X9_.LOG
已選擇6行。
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥DATAFILE¥O1_MF_TEMP_2OT4LL2X_.TMP
可以看到controlfile和datafile都已經建在ASM磁碟上了,但是logfile和tempfile還在原先位置上。
轉移tempfile。
SQL> alter tablespace TEMP add tempfile;
表空間已更改。
SQL> alter database tempfile 'C:¥ORACLE¥PRODUCT¥10.2.0¥ORADATA¥ORCL¥DATAFILE¥O1_MF_TEMP_2OT4LL2X_.TMP' drop;
資料庫已更改。
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
+DGROUP1/orcl/tempfile/temp.264.610369327
轉移logfile,先增加3個組。
SQL> alter database add logfile size 50m;
資料庫已更改。
SQL> alter database add logfile size 50m;
資料庫已更改。
SQL> alter database add logfile size 50m;
資料庫已更改。
SQL> select group#,status from v$log order by group#;
GROUP# STATUS
---------- --------------------------------
1 CURRENT
2 INACTIVE
3 INACTIVE
4 UNUSED
5 UNUSED
6 UNUSED
已選擇6行。
SQL> alter database drop logfile group 2;
資料庫已更改。
SQL> alter database drop logfile group 3;
資料庫已更改。
刪除logfile group 1的時候會有些麻煩,因為你執行 SQL> alter system switch logfile 以後,GROUP 1的狀態並不是INACTIVE,而是ACTIVE。得執行多次該命令,才能使GROUP 1處於INACTIVE狀態。當然重啟資料庫也是個辦法。
當GROUP 1處於INACTIVE狀態時,我們就可以DROP GROUP 1。
SQL> select group#,status from v$log order by group#;
GROUP# STATUS
---------- --------------------------------
1 INACTIVE
4 INACTIVE
5 CURRENT
6 INACTIVE
SQL> alter database drop logfile group 1;
資料庫已更改。
SQL> select group#,status from v$log order by group#;
GROUP# STATUS
---------- --------------------------------
4 INACTIVE
5 CURRENT
6 INACTIVE
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------
+DGROUP1/orcl/onlinelog/group_4.265.610369507
+DGROUP1/orcl/onlinelog/group_4.266.610369511
+DGROUP1/orcl/onlinelog/group_5.267.610369523
+DGROUP1/orcl/onlinelog/group_5.268.610369527
+DGROUP1/orcl/onlinelog/group_6.269.610369537
+DGROUP1/orcl/onlinelog/group_6.270.610369541
已選擇6行。
這樣我們把整個資料庫都移到了ASM上。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/207/viewspace-896065/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java ASM學習(2)JavaASM
- 2 ways to solve ASM1 on node 2ASM
- 【ASM】Oracle ASM + 11gR2 + RHEL6.5 安裝ASMOracle
- 全面學習和應用ORACLE ASM特性--(2)管理asm磁碟OracleASM
- oracle 11gr2 drop asmOracleASM
- VMWareServer2+RHEL4+ASM+10gRACServerASM
- 11gR2 RAC ASM 啟動ASM
- 11G R2 ASM管理ASM
- Oracle ASM+11gR2安裝OracleASM
- ORACLE 11gr2 ASM redo log 增加OracleASM
- OCFS2+ASM 的RAC安裝文件ASM
- ASM 11R2基本知識點ASM
- VMWARE+OCFS2+ASM+10GRAC實驗ASM
- [轉]Important ASM changes in 11g Release 2ImportASM
- rac asm 恢復到 單例項 2ASM單例
- asm files,asm directories,asm templatesASM
- ASM例項 10gR2升到11gR2ASM
- 11G R2 ASM啟動方法ASM
- 11gR2 RAC ASM啟動過程ASM
- oracle 10g r2 ASM RAC on aixOracle 10gASMAI
- ASM 11.2 Configuration KIT (ASM 11gR2 Installation & Configuration, Deinstallation, Upgrade, ASM JobASM
- 不用ASMLIB建立11gr2 ASM例項ASM
- Oracle 11gR2 DBCA 找不到ASM 磁碟組OracleASM
- 11Gr2 RAC udev ASM openfiler(安裝文件)devASM
- RAC建立ASM單個磁碟不能操作2TASM
- 使用JFS2,GPFS 跨平臺遷移: AIX ASM 到Linux ASM系統的傳輸及轉換(Convert) - 2AIASMLinux
- 【RAC】 RAC For W2K8R2 安裝--建立ASM磁碟組(六)ASM
- 【ASM】如何建立ASM磁碟ASM
- ASM之建立ASM磁碟ASM
- 【ASM學習】ASM 管理ASM
- 【ASM學習】ASM文件ASM
- Oracle 11gR2 ASM例項記憶體管理OracleASM記憶體
- 11gR2 ASM優先映象讀取測試ASM
- ASM, OCFS2, Oracle Enterprise Linux下載ASMOracleLinux
- 11gR2中的ASM_DISKGROUPS引數ASM
- Oracle 10gR2 下配置簡單ASM例項Oracle 10gASM
- 成功搭建oracle 11gR2 asm 主備叢集OracleASM
- oracle11Gr2安裝ASM,使用裸裝置OracleASM