Oracle 11g單例項ASM遷移到檔案系統
Oracle11g單例項ASM遷移到檔案系統
1. 環境:
CentOS5.8Oracle11.2.0.1單例項名sdzy建在ASM上
ASM:/dev/sdb1->+DATA ASM 20GB
2. 相關資訊:
[oracle/grid]$crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.DATA.dg ora....up.type ONLINE ONLINE oracle
ora....ER.lsnr ora....er.type ONLINE ONLINE oracle
ora.asm ora.asm.type ONLINE ONLINE oracle
ora.cssd ora.cssd.type ONLINE ONLINE oracle
ora.diskmon ora....on.type ONLINE ONLINE oracle
ora.sdzy.db ora....se.type ONLINE ONLINE oracle
[oracle/grid]$asmcmd
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 20473 17842 0 17842 0 N DATA/
SQL> select file_name,bytes/1024/1024 MB,tablespace_name from dba_data_files;
FILE_NAME MB TABLESPACE_NAME
--------------------------------------------- ---------- ------------------------------
+DATA/sdzy/datafile/system.264.851788437 700 SYSTEM
+DATA/sdzy/datafile/sysaux.265.851788459 600 SYSAUX
+DATA/sdzy/datafile/undotbs1.266.851788475 850 UNDOTBS1
+DATA/sdzy/datafile/users.268.851788491 5 USERS
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_
---------- ------- ------- --------------------------------------------- ---
1 ONLINE +DATA/sdzy/onlinelog/group_1.258.851788425 NO
1 ONLINE +DATA/sdzy/onlinelog/group_1.259.851788427 YES
2 ONLINE +DATA/sdzy/onlinelog/group_2.260.851788429 NO
2 ONLINE +DATA/sdzy/onlinelog/group_2.261.851788431 YES
3 ONLINE +DATA/sdzy/onlinelog/group_3.262.851788433 NO
3 ONLINE +DATA/sdzy/onlinelog/group_3.263.851788435 YES
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/sdzy/spfilesdzy.ora
SQL> show parameter control;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string +DATA/sdzy/controlfile/current
.256.851788423, +DATA/sdzy/con
trolfile/current.257.851788425
SQL> select file#,status,bytes/1024/1024 MB,TS#,name from v$tempfile;
FILE# STATUS MB TS# NAME
---------- ------- ---------- ---------- ---------------------------------------------
1 ONLINE 68 3 +DATA/sdzy/tempfile/temp.267.851788481
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 68
Next log sequence to archive 70
Current log sequence 70
SQL> show parameter DB_RECOVERY_FILE_DEST;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string +DATA
db_recovery_file_dest_size big integer 4977M
connected to target database: SDZY (DBID=1456076355)
RMAN>
3. 遷移思路:
備份引數和控制檔案
關閉資料庫,啟動到nomount狀態,恢復控制檔案
再使用backup as copy命令複製ASM資料檔案到檔案系統
4. 修改pfile控制檔案引數為檔案系統位置
SQL> alter system set control_files='/db/oracle/admin/sdzy/oradata/control01.ctl','/db/oracle/admin/sdzy/oradata/control02.ctl' scope=spfile;
5. 備份PFILE和控制檔案
SQL> create pfile='/home/oracle/pfile.ora' from spfile;
RMAN> backup current controlfile format '/home/oracle/controlfile.ctl';
Starting backup at 2014-07-14 23:00:27
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=28 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 2014-07-14 23:00:29
channel ORA_DISK_1: finished piece 1 at 2014-07-14 23:00:30
piece handle=/home/oracle/controlfile.ctl tag=TAG20140714T230028 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2014-07-14 23:00:30
6. 關閉資料庫
RMAN> shutdown immediate;
7. 利用備份修改後的pfile檔案啟動到nomount狀態
RMAN> startup nomount pfile='/home/oracle/pfile.ora';
connected to target database (not started)
Oracle instance started
Total System Global Area 1503199232 bytes
Fixed Size 2213536 bytes
Variable Size 1006635360 bytes
Database Buffers 486539264 bytes
Redo Buffers 7811072 bytes
8. 利用備份的控制檔案恢復控制檔案到pfile指定檔案
RMAN> restore controlfile from '/home/oracle/controlfile.ctl';
Starting restore at 2014-07-14 23:15:00
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1146 device type=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/db/oracle/admin/sdzy/oradata/control01.ctl
output file name=/db/oracle/admin/sdzy/oradata/control02.ctl
Finished restore at 2014-07-14 23:15:02
9. 恢復資料庫到mount狀態
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
10. 複製ASM磁碟組資料檔案到檔案系統
backup as copy datafile '+DATA/sdzy/datafile/system.264.851788437' format '/db/oracle/admin/sdzy/oradata/system01.dbf';
backup as copy datafile '+DATA/sdzy/datafile/sysaux.265.851788459' format '/db/oracle/admin/sdzy/oradata/sysaux01.dbf';
backup as copy datafile '+DATA/sdzy/datafile/undotbs1.266.851788475' format '/db/oracle/admin/sdzy/oradata/undotbs1.dbf';
backup as copy datafile '+DATA/sdzy/datafile/users.268.851788491' format '/db/oracle/admin/sdzy/oradata/users01.dbf';
備註:backup as copy 命令是以副本的方式備份資料庫,其作用和作業系統的COPY
命令是一樣的,只是二者的執行者不同而已。這裡必須同時制定ASM檔案的名字和
副本的名字。而且backup as copy 命令只備份資料檔案,不備份日誌檔案,也不備份臨時檔案
11. 修改控制檔案內部資料檔案指標
rman>switch database to copy;
備註:因為控制檔案內部對資料檔案的指向依然是ASM檔案的目錄路徑。我們的目的
是讓它的指向修改為檔案系統的資料庫檔案。該命令的功能正是如此。
【注意】此處不能使用alter database rename file 命令修改控制檔案內部資料檔案
的指標。因為alter database rename file命令不能跨越系統進行操作。所
不能使用其將ASM系統的ASM檔案路徑改為檔案系統的資料檔案路徑。
12. 修復資料庫檔案
rman>recover database;
備註:應用日誌到恢復後的資料檔案上,以實現對其的修復
13. 以RESETLOGS方式開啟資料庫
rman>alter database open resetlogs;
14. 修改聯機日誌檔案組
sql>alter database add logfile group 4 '/db/oracle/admin/sdzy/oradata/redo04_01.log' size 50m;
sql>alter database add logfile group 5 '/db/oracle/admin/sdzy/oradata/redo05_01.log' size 50m;
sql>alter database add logfile group 6 '/db/oracle/admin/sdzy/oradata/redo06_01.log' size 50m;
sql>alter system switch logfile;
sql>alter system checkpoint;
sql>alter database drop logfile group 1;
sql>alter database drop logfile group 2;
sql>alter database drop logfile group 3;
【備註】因為backup as copy database 命令只複製資料檔案不復制聯機日誌檔案,所
以需要手工新增聯機日誌檔案,刪除位於ASM磁碟組的日誌檔案。在刪除過程中,
日誌檔案可能處於當前使用狀態或者是活動狀態,故分別使用如下命令進行解決:
alter system switch logfile;(日誌切換)
alter system checkpoint;(將髒資料寫入資料檔案,以使日誌檔案狀態變為非活動)
15. 新增臨時表空間檔案
SQL> alter tablespace temp add tempfile '/db/oracle/admin/sdzy/oradata/temp01.dbf' size 100M;
Tablespace altered.
SQL> alter tablespace temp drop tempfile '+DATA/sdzy/tempfile/temp.267.851788481';
Tablespace altered.
【備註】因為backup as copy database 命令只複製資料檔案不復制臨時檔案,所
以需要手工新增臨時檔案。
16. 修改歸檔路徑
事先建立歸檔目錄:
/db/oracle/admin/sdzy/oradata/arch
關閉資料庫
SQL> shutdown immediate;
修改備份的pfile檔案:
*.db_create_file_dest='/db/oracle/admin/sdzy/oradata'
*.db_recovery_file_dest='/db/oracle/admin/sdzy/oradata/arch'
利用備份的pfile檔案啟動資料庫:
SQL> startup pfile='/home/oracle/pfile.ora';
ORACLE instance started.
Total System Global Area 1503199232 bytes
Fixed Size 2213536 bytes
Variable Size 1006635360 bytes
Database Buffers 486539264 bytes
Redo Buffers 7811072 bytes
Database mounted.
Database opened.
建立SPFILE檔案
SQL> create spfile from pfile='/home/oracle/pfile.ora';
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area 1503199232 bytes
Fixed Size 2213536 bytes
Variable Size 1006635360 bytes
Database Buffers 486539264 bytes
Redo Buffers 7811072 bytes
Database mounted.
Database opened.
17. 檢查遷移後的檔案路徑
確認資料檔案、歸檔、引數檔案、控制檔案、臨時檔案、日誌檔案等都遷移到檔案系統中,且資料未丟失
確認ASM不再使用,可以將ASM磁碟組刪除
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26217983/viewspace-1461698/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用RMAN將資料庫從檔案系統遷移到ASM(單例項)資料庫ASM單例
- 從檔案系統遷移到ASM上ASM
- oralce 從檔案系統遷移到ASMASM
- 使用RAM將檔案系統遷移到ASMASM
- Oracle DataBase單例項遷移到Oracle RACOracleDatabase單例
- 將spfile從ASM裡遷移到檔案系統ASM
- 資料庫從檔案系統遷移到ASM資料庫ASM
- Oracle單例項+ASM新增控制檔案Oracle單例ASM
- 將資料庫從ASM遷移到檔案系統資料庫ASM
- 將資料庫從檔案系統遷移到ASM資料庫ASM
- 把檔案系統的資料檔案遷移到ASM儲存ASM
- oracle單例項通過dataguard遷移到RAC 轉Oracle單例
- 利用RMAN將資料庫從檔案系統遷移到ASM資料庫ASM
- oracle 將表空間下的資料檔案從檔案系統遷移到ASM磁碟組OracleASM
- RAC 例項 遷移到 單例項 -- 使用RMAN Duplicate單例
- 使用rman將資料庫遷移到ASM例項資料庫ASM
- ASM檔案系統遷移ASM
- asm 檔案系統遷移ASM
- oracle將控制檔案從裸裝置遷移到檔案系統Oracle
- 使用rman copy將資料庫遷移到ASM例項資料庫ASM
- 實現資料庫由檔案系統遷移到 ASM 磁碟組中資料庫ASM
- Oracle11g使用rman從單例項遷移到racOracle單例
- Oracle 10g 安裝及單例項遷移到RACOracle 10g單例
- 單例項資料遷移到RAC補充單例
- 透過xtts遷移單例項檔案系統表空間到RAC ASM儲存表空間TTS單例ASM
- 通過xtts遷移單例項檔案系統表空間到RAC ASM儲存表空間TTS單例ASM
- 遷移到ASMASM
- 利用rman將本地資料檔案遷移到asmASM
- 單例項資料庫expdp遷移到RAC庫單例資料庫
- 如何遷移ASM資料檔案到檔案系統ASM
- 採用Duplicate不連線target資料庫的方式將檔案系統遷移到ASM資料庫ASM
- 使用普通檔案建立ASM例項ASM
- 單例項刪除ASM例項單例ASM
- OracleDataBase單例項使用ASM案例(4)–AIX系統Oracle10g應用OracleDatabase單例ASMAI
- oracle 11g 單例項安裝Oracle單例
- 資料庫遷移到ASM資料庫ASM
- oracle11g asm單例項重建hasOracleASM單例
- ASM單例項(Oracle 11.2.0.4)環境(一)ASM單例Oracle