【ASM學習】普通資料庫向ASM例項的遷移(二)
--接著rman的做 在rman恢復時,資料庫是mount狀態的,這裡需要將資料開啟!
ORCL>conn system/yang[@]orcl as sysdba
已連線。
ORCL>alter database open;
資料庫已更改。
--將日誌檔案遷移到ASM 磁碟組中。在ASM中建立3組新的redo log
ORCL>alter database add logfile group 4 '+SYS_DATA/redo04.log' size 50m;
資料庫已更改。
ORCL>alter database add logfile group 5 '+SYS_DATA/redo05.log' size 50m;
資料庫已更改。
ORCL>alter database add logfile group 6 '+SYS_DATA/redo06.log' size 50m;
資料庫已更改。
---檢視源資料庫的redo log的狀態,要將group 1 2 3全部歸檔並替換為上一步建立的log
ORCL>select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 CURRENT
3 INACTIVE
4 UNUSED
5 UNUSED
6 UNUSED
已選擇6行。
ORCL>alter system switch logfile;
系統已更改。
ORCL>alter system switch logfile;
系統已更改。
ORCL>alter system switch logfile;
系統已更改。
ORCL>select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 ACTIVE
3 INACTIVE
4 ACTIVE
5 ACTIVE
6 CURRENT
已選擇6行。
---手工使資料庫產生檢查點,讓lgwr 寫redo到磁碟!
ORCL>alter system checkpoint;
系統已更改。
ORCL>select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 INACTIVE
3 INACTIVE
4 INACTIVE
5 INACTIVE
6 CURRENT
已選擇6行。
---刪掉不用的redo log
ORCL>alter database drop logfile group 1;
資料庫已更改。
ORCL>alter database drop logfile group 2;
資料庫已更改。
ORCL>alter database drop logfile group 3;
資料庫已更改。
---遷移時,rman沒有把臨時表空間遷移到ASM中,所以,向ASM中遷移TEMPFILE
ORCL>select file_name,tablespace_name from dba_temp_files;
FILE_NAME TABLESPACE_NAME
--------------------------------- ---------------
F:\ORACL\ORADATA\ORCL\TEMP01.DBF TEMP
ORCL>alter tablespace temp add tempfile '+SYS_DATA';
表空間已更改。
ORCL>select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
+SYS_DATA/redo04.log
+SYS_DATA/redo05.log
+SYS_DATA/redo06.log ---這裡沒有考慮到分散日誌分佈的問題,實際應用中,要考慮的!
ORCL>select file_name,tablespace_name from dba_temp_files;
FILE_NAME TABLESPACE_NAME
------------------------------ ---------------
+SYS_DATA/orcl/tempfile/temp.265.727923505 TEMP F:\ORACL\ORADATA\ORCL\TEMP01.DBF TEMP
ORCL>alter tablespace temp drop tempfile 'F:\ORACL\oradata\orcl\temp01.dbf';
表空間已更改。
--修改db_create_file_dest,db_recovery_file_dest,db_recovery_file_dest_size 的值!
ORCL>alter system set db_create_file_dest='+SYS_DATA\ORCL\ORADATA' scope=spfile;
系統已更改。
ORCL>alter system set db_recovery_file_dest='+FLASH_DATA' scope=spfile;
系統已更改。
ORCL>alter system set db_recovery_file_dest_size=1 G scope=spfile;
系統已更改。
再次向ASM磁碟中新增控制檔案!(遷移時,只有一個控制檔案)
ORCL>alter database backup controlfile to '+SYS_DATA\ORCL\ORADATA';
alter database backup controlfile to '+SYS_DATA\ORCL\ORADATA'
*
第 1 行出現錯誤:
ORA-01580: 建立控制備份檔案 +SYS_DATA\ORCL\ORADATA 時出錯
ORA-17502: ksfdcre: 4 未能建立檔案 +SYS_DATA\ORCL\ORADATA
ORA-15005: name "ORCL/ORADATA" is already used by an existing alias
---當指定磁碟組的具體目錄時,會報錯!所以直接指定磁碟組就好了!
ORCL>alter database backup controlfile to '+SYS_DATA';
資料庫已更改。
ORCL>show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string +SYS_DATA/orcl/oradata/control
01.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
---修改引數檔案中
ORCL>alter system set control_files='+SYS_DATA/ORCL/ORADATA/CONTROL01.CTL','+SYS_DATA/ORCL/ORADATA/CONTROL02.CTL' scope= spfile;
系統已更改。
ORCL>create pfile ='f:\asm_pfile.txt' from spfile;
檔案已建立。
ORCL>shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
----------------------- 備註 ----------------------------------
網上也有其他方法的,中間對於遷移日誌和temp 檔案的方法不太一樣!
--遷移redo log
透過SQL*Plus連入資料庫例項,將控制檔案裡記錄的聯機日誌檔案的路徑修改為磁碟組SYS_DATA。
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo01.log' to '+SYS_DATA';
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo02.log' to '+SYS_DATA';
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo03.log' to '+SYS_DATA';
--遷移tempfile 透過rman 手工遷移!
RMAN> run{
2> switch tempfile 1 to '+SYS_DATA';
3> }
ORCL>conn system/yang[@]orcl as sysdba
已連線。
ORCL>alter database open;
資料庫已更改。
--將日誌檔案遷移到ASM 磁碟組中。在ASM中建立3組新的redo log
ORCL>alter database add logfile group 4 '+SYS_DATA/redo04.log' size 50m;
資料庫已更改。
ORCL>alter database add logfile group 5 '+SYS_DATA/redo05.log' size 50m;
資料庫已更改。
ORCL>alter database add logfile group 6 '+SYS_DATA/redo06.log' size 50m;
資料庫已更改。
---檢視源資料庫的redo log的狀態,要將group 1 2 3全部歸檔並替換為上一步建立的log
ORCL>select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 CURRENT
3 INACTIVE
4 UNUSED
5 UNUSED
6 UNUSED
已選擇6行。
ORCL>alter system switch logfile;
系統已更改。
ORCL>alter system switch logfile;
系統已更改。
ORCL>alter system switch logfile;
系統已更改。
ORCL>select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 ACTIVE
3 INACTIVE
4 ACTIVE
5 ACTIVE
6 CURRENT
已選擇6行。
---手工使資料庫產生檢查點,讓lgwr 寫redo到磁碟!
ORCL>alter system checkpoint;
系統已更改。
ORCL>select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 INACTIVE
3 INACTIVE
4 INACTIVE
5 INACTIVE
6 CURRENT
已選擇6行。
---刪掉不用的redo log
ORCL>alter database drop logfile group 1;
資料庫已更改。
ORCL>alter database drop logfile group 2;
資料庫已更改。
ORCL>alter database drop logfile group 3;
資料庫已更改。
---遷移時,rman沒有把臨時表空間遷移到ASM中,所以,向ASM中遷移TEMPFILE
ORCL>select file_name,tablespace_name from dba_temp_files;
FILE_NAME TABLESPACE_NAME
--------------------------------- ---------------
F:\ORACL\ORADATA\ORCL\TEMP01.DBF TEMP
ORCL>alter tablespace temp add tempfile '+SYS_DATA';
表空間已更改。
ORCL>select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
+SYS_DATA/redo04.log
+SYS_DATA/redo05.log
+SYS_DATA/redo06.log ---這裡沒有考慮到分散日誌分佈的問題,實際應用中,要考慮的!
ORCL>select file_name,tablespace_name from dba_temp_files;
FILE_NAME TABLESPACE_NAME
------------------------------ ---------------
+SYS_DATA/orcl/tempfile/temp.265.727923505 TEMP F:\ORACL\ORADATA\ORCL\TEMP01.DBF TEMP
ORCL>alter tablespace temp drop tempfile 'F:\ORACL\oradata\orcl\temp01.dbf';
表空間已更改。
--修改db_create_file_dest,db_recovery_file_dest,db_recovery_file_dest_size 的值!
ORCL>alter system set db_create_file_dest='+SYS_DATA\ORCL\ORADATA' scope=spfile;
系統已更改。
ORCL>alter system set db_recovery_file_dest='+FLASH_DATA' scope=spfile;
系統已更改。
ORCL>alter system set db_recovery_file_dest_size=1 G scope=spfile;
系統已更改。
再次向ASM磁碟中新增控制檔案!(遷移時,只有一個控制檔案)
ORCL>alter database backup controlfile to '+SYS_DATA\ORCL\ORADATA';
alter database backup controlfile to '+SYS_DATA\ORCL\ORADATA'
*
第 1 行出現錯誤:
ORA-01580: 建立控制備份檔案 +SYS_DATA\ORCL\ORADATA 時出錯
ORA-17502: ksfdcre: 4 未能建立檔案 +SYS_DATA\ORCL\ORADATA
ORA-15005: name "ORCL/ORADATA" is already used by an existing alias
---當指定磁碟組的具體目錄時,會報錯!所以直接指定磁碟組就好了!
ORCL>alter database backup controlfile to '+SYS_DATA';
資料庫已更改。
ORCL>show parameter control
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string +SYS_DATA/orcl/oradata/control
01.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
---修改引數檔案中
ORCL>alter system set control_files='+SYS_DATA/ORCL/ORADATA/CONTROL01.CTL','+SYS_DATA/ORCL/ORADATA/CONTROL02.CTL' scope= spfile;
系統已更改。
ORCL>create pfile ='f:\asm_pfile.txt' from spfile;
檔案已建立。
ORCL>shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
----------------------- 備註 ----------------------------------
網上也有其他方法的,中間對於遷移日誌和temp 檔案的方法不太一樣!
--遷移redo log
透過SQL*Plus連入資料庫例項,將控制檔案裡記錄的聯機日誌檔案的路徑修改為磁碟組SYS_DATA。
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo01.log' to '+SYS_DATA';
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo02.log' to '+SYS_DATA';
SQL> alter database rename file 'F:\ORACL\ORADATA\ORCL\redo03.log' to '+SYS_DATA';
--遷移tempfile 透過rman 手工遷移!
RMAN> run{
2> switch tempfile 1 to '+SYS_DATA';
3> }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-672014/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【ASM學習】普通資料庫向ASM例項的遷移(一)ASM資料庫
- 【資料遷移】RMAN遷移資料庫到ASM(二)切換資料檔案到ASM資料庫ASM
- ASM之建立ASM例項及ASM資料庫ASM資料庫
- 建立ASM例項及ASM資料庫ASM資料庫
- 遷移資料庫到ASM資料庫ASM
- 【資料遷移】RMAN遷移資料庫到ASM(一)建立ASM磁碟組資料庫ASM
- 使用rman將資料庫遷移到ASM例項資料庫ASM
- 【資料遷移】RMAN遷移資料庫到ASM(三)遷移onlinelog等到ASM資料庫ASM
- oracle 遷移資料庫到asmOracle資料庫ASM
- 使用rman copy將資料庫遷移到ASM例項資料庫ASM
- ASM的資料庫遷移回到DISK上ASM資料庫
- 11g資料庫遷移ASM資料庫ASM
- 遷移資料庫檔案到ASM資料庫ASM
- 建立ASM例項和資料庫ASM資料庫
- 遷移已存在的資料庫到ASM中資料庫ASM
- 資料庫遷移到ASM資料庫ASM
- 使用普通檔案建立ASM例項ASM
- 【ASM學習】在windows 環境下建立ASM例項ASMWindows
- solaris10_oracle10g_asm_non_asm遷移資料庫測試OracleASM資料庫
- 將asm上的資料庫移動到普通的filesystem上ASM資料庫
- 資料從Oracle向Mysql資料遷移例項OracleMySql
- 恢復RAC資料庫到單例項(ASM)資料庫單例ASM
- 利用RMAN將資料庫從檔案系統遷移到ASM(單例項)資料庫ASM單例
- 遷移學習系列---基於例項方法的遷移學習遷移學習
- ASM之建立ASM例項ASM
- 【原創】使用普通檔案建立ASM例項ASM
- 使用RMAN遷移檔案系統資料庫到ASM資料庫ASM
- Window下安裝Oracle ASM單例項資料庫OracleASM單例資料庫
- 全面學習和應用ORACLE ASM特性--(1)關於asm例項OracleASM
- 使用RMAN執行oracle ASM資料遷移OracleASM
- 用rman從檔案系統遷移資料庫到asm資料庫ASM
- 遷移ASM磁碟組ASM
- ASM下遷移spfileASM
- 管理 ASM 例項ASM
- 停止ASM例項ASM
- 用RMAN遷移檔案到ASM或從ASM遷出ASM
- 四、用rman從檔案系統遷移資料庫到asm資料庫ASM
- 在不同機器之間使用rman複製資料庫例項,從非asm到asm資料庫ASM