【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下遷移spfileASM
- 遷移學習系列---基於例項方法的遷移學習遷移學習
- 【ASK_ORACLE】Relink ASM單例項資料庫詳細步驟OracleASM單例資料庫
- 【資料庫資料恢復】ASM例項不能掛載的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 【資料庫資料恢復】Oracle ASM例項無法掛載的資料恢復案例資料庫資料恢復OracleASM
- RAC+DG(asm單例項)ASM單例
- 【Oracle】ASM例項安裝入門OracleASM
- 【ASM】ASM資料檔案和OS檔案(FILESYSTEM)轉移方法總結ASM
- ASM單例項安裝後,需要手動設定ASM的引數檔案ASM單例
- Laravel 學習之資料庫遷移Laravel資料庫
- Java ASM學習(2)JavaASM
- Oracle使用RMAN將普通資料檔案轉成ASMOracleASM
- 【ASM】Oracle asm刪除磁碟組注意事項ASMOracle
- 呀!ASM例項起不來可咋整ASM
- 從定位資料塊所在ASM磁碟到ASM strippingASM
- OGG資料庫遷移方案(二)資料庫
- 遷移OCR和VotingDisk並刪除原ASM磁碟組ASM
- Oracle資料庫 ASM磁碟線上擴容Oracle資料庫ASM
- ORACLE RAC ASM資料檔案遷移OMF檔案報錯ORA-01276解決OracleASM
- [20191128]11GR2 asm例項audit檔案.txtASM
- Oracle 11gR2 ASM例項記憶體管理OracleASM記憶體
- 資料庫遷移資料庫
- PG 資料庫 DTS 遷移需要注意的事項:資料庫
- 2.10.3 使用 Oracle Automatic Storage Management (Oracle ASM) 克隆資料庫OracleASM資料庫
- ASM空間爆滿導致資料庫掛起ASM資料庫
- 【資料庫資料恢復】ASM磁碟組掉線的Oracle資料庫資料恢復案例資料庫資料恢復ASMOracle
- 11.2.0.4單例項ASM安裝報錯ohasd failed to ... line 73.單例ASMAI
- ORACLE11GR2 RAC解除安裝ASM例項步驟OracleASM
- 再無需從頭訓練遷移學習模型!亞馬遜開源遷移學習資料庫 Xfer遷移學習模型亞馬遜資料庫
- laravel資料庫遷移Laravel資料庫
- 資料庫遷移 :理解資料庫
- redis資料庫遷移Redis資料庫
- 【資料庫資料恢復】Oracle資料庫ASM磁碟組掉線如何恢復資料?資料庫資料恢復OracleASM
- 【學習】體系結構-001-例項與資料庫資料庫
- iOS CoreData (二) 版本升級和資料庫遷移iOS資料庫
- [20230214]資料庫連線訪問asm相關檢視.txt資料庫ASM
- dm資料庫遷移命令資料庫
- 用rman遷移資料庫資料庫