使用RAM將檔案系統遷移到ASM
1,全備資料庫PROD
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup tag 'SH_DB' as compressed backupset format ‘/home/oracle/full_%U.bak' database
include current controlfile;
backup tag 'SH_ARCH' archivelog al format ‘/home/oracle/arch_%U.bak’l;
release channel c1;
release channel c2;
}
2,確認控制檔案的備份片
RMAN> list backup of control file;
/home/oracle/full_03pkgtf4_1_1.bak
3,匯出pfile,將控制檔案修改為+DATA和+FRA
SYS@PROD >create pfile='/home/oracle/prodpfile' from spfile;
[oracle@single ~]$ vi /home/oracle/prodpfile
*.audit_file_dest='/u01/admin/PROD/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
##*.control_files='/u01/oradata/PROD/control01.ctl','/u01/fast_recovery_area/PROD/control02.ctl'
*.control_files='+DATA/PROD/controlfile/control01.ctl','+FRA/PROD/controlfile/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_name='PROD'
##*.db_recovery_file_dest='/u01/fast_recovery_area'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=PRODXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=583008256
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
4,刪除PROD
SYS@PROD >startup force mount restrict;
SYS@PROD >drop database;
5,建立災備端所需目錄(DBCA刪除資料庫需要此步驟)
mkdir -p $ORACLE_BASE/admin/PROD/adump
6,建立資料庫密碼檔案 (DBCA刪除資料庫需要此步驟)
orapwd file=$ORACLE_HOME/dbs/orapwPROD password=oracle entries=5 force=y
7,採用修改過的pfile啟動到nomount
$ sqlplus / as sysdba
SYS@PROD >startup nomount pfile=/home/oracle/pfile;
8,將spfile檔案建立到+DATA目錄下,利用Oracle11g新特性from memory
SYS@PROD >create spfile='+DATA/PROD/spfilePROD.ora' from memory;
9,建立一個pfile來指向spfile。將紅色字型內容填寫在vi建立的pfile檔案中。 在Oracle11g中安裝過叢集軟體都需要這樣配置,無論是單例項ASM還是RAC+ASM
SYS@PROD >!vi $ORACLE_HOME/dbs/initPROD.ora
SPFILE='+DATA/PROD/spfilePROD.ora’
10,恢復控制檔案到+DATA
RMAN> startup force nomount;
RMAN> restore controlfile from '/home/oracle/full_03pkgtf4_1_1.bak';
11,啟動到mount
RMAN> mount database;
12,識別備份集
RMAN> catalog start with '/home/oracle/';
13,恢復資料庫,注意關鍵詞set newname 和 switch datafile all是遷移檔案系統到ASM的關鍵。
run{
set newname for datafile 1 to '+DATA';
set newname for datafile 2 to '+DATA';
set newname for datafile 3 to '+DATA';
set newname for datafile 4 to '+DATA';
set newname for tempfile 1 to '+DATA';
restore database;
switch datafile all;
recover database;
}
14,更改聯機日誌路徑為+DATA
SYS@PROD >alter database rename file '/u01/oradata/PROD/redo01.log' to '+DATA';
SYS@PROD >alter database rename file '/u01/oradata/PROD/redo02.log' to '+DATA';
SYS@PROD >alter database rename file '/u01/oradata/PROD/redo03.log' to '+DATA';
15,open resetlogs開庫
SYS@PROD >alter database open resetlogs;
16, 如果在set newname tempfile步驟不能成功的遷移tempfile使用下面的命令手工追加
SYS@PROD >alter tablespace temp add tempfile '+DATA' size 10m;
SYS@PROD >alter tablespace temp drop tempfile '/u01/oradata/PROD/temp01.dbf’;
實驗結束
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup tag 'SH_DB' as compressed backupset format ‘/home/oracle/full_%U.bak' database
include current controlfile;
backup tag 'SH_ARCH' archivelog al format ‘/home/oracle/arch_%U.bak’l;
release channel c1;
release channel c2;
}
2,確認控制檔案的備份片
RMAN> list backup of control file;
/home/oracle/full_03pkgtf4_1_1.bak
3,匯出pfile,將控制檔案修改為+DATA和+FRA
SYS@PROD >create pfile='/home/oracle/prodpfile' from spfile;
[oracle@single ~]$ vi /home/oracle/prodpfile
*.audit_file_dest='/u01/admin/PROD/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
##*.control_files='/u01/oradata/PROD/control01.ctl','/u01/fast_recovery_area/PROD/control02.ctl'
*.control_files='+DATA/PROD/controlfile/control01.ctl','+FRA/PROD/controlfile/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_name='PROD'
##*.db_recovery_file_dest='/u01/fast_recovery_area'
*.db_recovery_file_dest='+FRA'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/u01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=PRODXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=583008256
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
4,刪除PROD
SYS@PROD >startup force mount restrict;
SYS@PROD >drop database;
5,建立災備端所需目錄(DBCA刪除資料庫需要此步驟)
mkdir -p $ORACLE_BASE/admin/PROD/adump
6,建立資料庫密碼檔案 (DBCA刪除資料庫需要此步驟)
orapwd file=$ORACLE_HOME/dbs/orapwPROD password=oracle entries=5 force=y
7,採用修改過的pfile啟動到nomount
$ sqlplus / as sysdba
SYS@PROD >startup nomount pfile=/home/oracle/pfile;
8,將spfile檔案建立到+DATA目錄下,利用Oracle11g新特性from memory
SYS@PROD >create spfile='+DATA/PROD/spfilePROD.ora' from memory;
9,建立一個pfile來指向spfile。將紅色字型內容填寫在vi建立的pfile檔案中。 在Oracle11g中安裝過叢集軟體都需要這樣配置,無論是單例項ASM還是RAC+ASM
SYS@PROD >!vi $ORACLE_HOME/dbs/initPROD.ora
SPFILE='+DATA/PROD/spfilePROD.ora’
10,恢復控制檔案到+DATA
RMAN> startup force nomount;
RMAN> restore controlfile from '/home/oracle/full_03pkgtf4_1_1.bak';
11,啟動到mount
RMAN> mount database;
12,識別備份集
RMAN> catalog start with '/home/oracle/';
13,恢復資料庫,注意關鍵詞set newname 和 switch datafile all是遷移檔案系統到ASM的關鍵。
run{
set newname for datafile 1 to '+DATA';
set newname for datafile 2 to '+DATA';
set newname for datafile 3 to '+DATA';
set newname for datafile 4 to '+DATA';
set newname for tempfile 1 to '+DATA';
restore database;
switch datafile all;
recover database;
}
14,更改聯機日誌路徑為+DATA
SYS@PROD >alter database rename file '/u01/oradata/PROD/redo01.log' to '+DATA';
SYS@PROD >alter database rename file '/u01/oradata/PROD/redo02.log' to '+DATA';
SYS@PROD >alter database rename file '/u01/oradata/PROD/redo03.log' to '+DATA';
15,open resetlogs開庫
SYS@PROD >alter database open resetlogs;
16, 如果在set newname tempfile步驟不能成功的遷移tempfile使用下面的命令手工追加
SYS@PROD >alter tablespace temp add tempfile '+DATA' size 10m;
SYS@PROD >alter tablespace temp drop tempfile '/u01/oradata/PROD/temp01.dbf’;
實驗結束
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28389881/viewspace-1301426/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 將spfile從ASM裡遷移到檔案系統ASM
- 將ServiceLoader遷移到Java 9模組系統 - frankelJava
- 將 CentOS 8 作業系統遷移到 Oracle LinuxCentOS作業系統OracleLinux
- ASM叢集檔案系統ACFS(ASM Cluster File System)ASM
- 使用SpringCloud將單體遷移到微服務SpringGCCloud微服務
- [譯] 將專案遷移到 Yarn 然後又遷回 npmYarnNPM
- 如何將您的 Eventlet 專案遷移到 Asyncio
- 如何將物理機Windows系統遷移到VMware虛擬機器?Windows虛擬機
- Oracle使用RMAN將普通資料檔案轉成ASMOracleASM
- 將nodejs遷移到D盤NodeJS
- 如何將 CentOS遷移到 AlmaLinux?CentOSLinux
- 2.7.2 遷移到伺服器引數檔案(spfile)伺服器
- 將SpringBoot PetClinic REST遷移到Quarkus的開源專案Spring BootREST
- 重構案例:將純HTML/JS專案遷移到WebpackHTMLJSWeb
- xbbed一鍵讀取ASM block到檔案系統ASMBloC
- [譯] 將一箇舊的大型專案遷移到 Python 3Python
- Python 將所有 Bug 遷移到 GitHub 中PythonGithub
- WSL子系統檔案遷移至其他磁碟
- 12c複製 RAC ASM中的密碼檔案到檔案系統ASM密碼
- win10遷移系統到固態硬碟 win10系統遷移到ssd教程Win10硬碟
- ORACLE RAC ASM資料檔案遷移OMF檔案報錯ORA-01276解決OracleASM
- 將 flutter_web 遷移到 flutter1.9+FlutterWeb
- 我如何將部落格遷移到 Kubernetes(上)
- 我如何將部落格遷移到 Kubernetes(下)
- 將maven、gradle倉庫遷移到d盤MavenGradle
- 使用DynamoShake從dynamodb遷移到mongodbMongoDB
- 使用 .NET 升級助手將.NET Framework應用遷移到.NET 5Framework
- 將檔案轉移到一個資料夾內batBAT
- 將ZooKeeper遷移到Kubernetes的新方法 - hubspot
- 透過MySQL Workbench 將 SQL Server 遷移到GreatSQLMySqlServer
- 使用SecureCRT的SFTP將檔案上傳到Liunx系統上SecurecrtFTP
- FastDFS檔案系統遷移和資料恢復AST資料恢復
- 【ASM】ASM資料檔案和OS檔案(FILESYSTEM)轉移方法總結ASM
- Flutter專案遷移到Null Safety空安全FlutterNull
- Oracle:ASM & 密碼檔案OracleASM密碼
- Flutter #03 將原有的 Flutter app 遷移到 Flutter 2.0FlutterAPP
- 使用 Fstransform 轉換檔案系統ORM
- svn 遷移到gitGit
- Linux系統篇-檔案系統&虛擬檔案系統Linux