RAC 10g下從裸裝置遷移到ASM
OS:OL4.8 64bit
DB:Oracle 10.2.0.5
1. 遷移控制檔案
啟動到nomount模式
還原控制檔案
啟動到mount模式
2. 遷移資料檔案
啟動資料庫
3. 遷移日誌檔案
4. 遷移臨時表空間
5. 歸檔日誌遷移
建議指定FRA(db_recovery_file_dest)
6. 遷移spfile
難度頗大,我做的時候發現僅僅遷移spfile後再更改init<SID>.ora中的spfile指向,無法奏效。具體表現為,
當單例項使用常規方式啟動,spfile確實使用了新位置的spfile,但使用srvctl啟動database,仍然使用原來的
spfile。原因是在建立database資源時,就已指定了spfile引數的路徑。如下所示,
正確做法參考這篇文章(感謝作者):http://blog.csdn.net/evils798/article/details/18014645
在open狀態下,建立新的spfile
定位到新的spfile
可以在asmcmd中建立spfile的連結
修改RAC資源中的spfile引數
分別在兩節點上修改spfile路徑
重啟資料庫
確認spfile路徑
完成!
DB:Oracle 10.2.0.5
1. 遷移控制檔案
點選(此處)摺疊或開啟
- SQL> alter system set control_files='+DATA' scope=spfile;
點選(此處)摺疊或開啟
-
srvctl stop database -d racdb -o immediate
- srvctl start database -d racdb -o nomount
點選(此處)摺疊或開啟
-
///dev/raw/raw13是原控制檔案路徑
- RMAN> restore controlfile from '/dev/raw/raw13';
點選(此處)摺疊或開啟
-
srvctl stop database -d racdb -o immediate
- srvctl start database -d racdb -o mount
2. 遷移資料檔案
點選(此處)摺疊或開啟
-
rman target /
-
RMAN> backup as copy database format='+DATA';
- RMAN> switch database to copy; //切換資料檔案
點選(此處)摺疊或開啟
-
srvctl stop database -d racdb -o immediate
- srvctl start database -d racdb
點選(此處)摺疊或開啟
-
alter database add logfile member '+DATA' to group 1;
-
alter database add logfile member '+DATA' to group 2;
-
alter database add logfile member '+DATA' to group 3;
-
alter database add logfile member '+DATA' to group 4;
-
-
//交替使用以下兩條命令,刪除舊的redo log
-
alter system switch logfile;
- alter database drop logfile member '/dev/raw/raw16'
4. 遷移臨時表空間
點選(此處)摺疊或開啟
-
#新建臨時表空間替換舊的
-
create temporary tablespace temp2 tempfile '+DATA' size 200M;
-
alter database default temporary tablespace temp2;
- drop tablespace temp;
建議指定FRA(db_recovery_file_dest)
6. 遷移spfile
難度頗大,我做的時候發現僅僅遷移spfile後再更改init<SID>.ora中的spfile指向,無法奏效。具體表現為,
當單例項使用常規方式啟動,spfile確實使用了新位置的spfile,但使用srvctl啟動database,仍然使用原來的
spfile。原因是在建立database資源時,就已指定了spfile引數的路徑。如下所示,
點選(此處)摺疊或開啟
-
$ srvctl config database -d racdb -a
-
node1 racdb1 /u01/app/oracle/product/10.2.0/db_1
-
node2 racdb2 /u01/app/oracle/product/10.2.0/db_1
-
DB_UNIQUE_NAME: racdb
-
DB_NAME: racdb
-
ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1
-
SPFILE: /dev/raw/raw3
-
DOMAIN: null
-
DB_ROLE: null
-
START_OPTIONS: null
-
POLICY: AUTOMATIC
- ENABLE FLAG: DB ENABLED
在open狀態下,建立新的spfile
點選(此處)摺疊或開啟
-
#建立新的spfile
-
create pfile='/home/oracle/initracdb.ora' from spfile;
- create spfile='+DATA' from pfile='/home/oracle/initracdb.ora';
點選(此處)摺疊或開啟
-
找到新的spfile
-
export ORACLE_SID=+ASM2
-
asmcmd
-
-
ASMCMD> pwd
-
+DATA/RACDB/PARAMETERFILE
-
ASMCMD> ls
- spfile.271.902999477
點選(此處)摺疊或開啟
- mkalias +DATA/RACDB/PARAMETERFILE/spfile.271.902999477 +DATA/RACDB/spfileracdb.ora
點選(此處)摺疊或開啟
-
$ srvctl modify database -d racdb -p +DATA/RACDB/spfileracdb.ora
-
-
$ srvctl config database -d racdb -a
-
node1 racdb1 /u01/app/oracle/product/10.2.0/db_1
-
node2 racdb2 /u01/app/oracle/product/10.2.0/db_1
-
DB_UNIQUE_NAME: racdb
-
DB_NAME: racdb
-
ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1
-
SPFILE: +DATA/RACDB/spfileracdb.ora
-
DOMAIN: null
-
DB_ROLE: null
-
START_OPTIONS: null
-
POLICY: AUTOMATIC
- ENABLE FLAG: DB ENABLED
點選(此處)摺疊或開啟
-
vi $ORACLE_HOME/dbs/initracdb[n].ora
-
- SPFILE='+DATA/RACDB/spfileracdb.ora'
重啟資料庫
點選(此處)摺疊或開啟
-
srvctl stop database -d racdb -o immediate
- srvctl start database -d racdb
點選(此處)摺疊或開啟
-
SQL> show parameter spfile;
-
-
NAME TYPE VALUE
-
------------------------------------ ----------- ------------------------------
- spfile string +DATA/racdb/spfileracdb.ora
完成!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22621861/viewspace-1986655/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux下基於裸裝置建立10g資料庫Linux資料庫
- Solaris 10下遷移10G RAC (六)
- Solaris 10下遷移10G RAC (八)
- Solaris 10下遷移10G RAC (四)
- Solaris 10下遷移10G RAC (二)
- Solaris 10下遷移10G RAC (七)
- Solaris 10下遷移10G RAC (三)
- Solaris 10下遷移10G RAC (一)
- Solaris 10下遷移10G RAC (五)
- 將spfile從ASM裡遷移到檔案系統ASM
- 基於裸裝置的ASM磁碟組擴容方案ASM
- Zenlayer如何將萬臺裝置監控從Zabbix遷移到Flashcat
- 從eclipse遷移到idea(1 安裝篇)EclipseIdea
- vmware + 裸裝置 + crs + oracle10g RAC搭建步驟(二):安裝linuxOracleLinux
- ASM下遷移spfileASM
- raw 裸裝置資料檔案更改其他raw裸裝置位置
- RAC安裝【AIX 7 + 11.2.0.4 + ASM】AIASM
- 從 Nginx 遷移到 Envoy ProxyNginx
- 從 golang flag 遷移到 cmdrGolang
- Linux裸裝置總結Linux
- AIX中的裸裝置AI
- RAC和ASM環境下打patchASM
- 使用DynamoShake從dynamodb遷移到mongodbMongoDB
- 從mpvue遷移到uni-appVueAPP
- [譯]從 SQLite 逐步遷移到 RoomSQLiteOOM
- [譯] 從 SQLite 逐步遷移到 RoomSQLiteOOM
- EF Core從TPH遷移到TPT
- goldengate + asm + racGoASM
- linux udev裸裝置繫結Linuxdev
- 10g RAC on AIXAI
- Gradle指南之從Groovy遷移到KotlinGradleKotlin
- RAC+ASM+DATAGUARDASM
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- Spring Boot 從1.5遷移到2.0.5 - DZone JavaSpring BootJava
- 案例:微服務從Java/SpringBoot遷移到Golang微服務JavaSpring BootGolang
- 如何從 AWS CodeCommit 遷移到極狐GitLab?MITGitlab
- 從Firebase+Redis遷移到PlanetScale+MySQLRedisMySql
- DM7使用裸裝置搭建DMRAC
- DM8 使用裸裝置搭建DMRAC