利用RMAN把ORACLE 10G 64位降級為32位
由於專案需要測試環境,原庫為ORACLE 10.2.0.4 64位,環境導致需遷移到32位上機器上去,網上有很多32位升級到64位的文章,其實64位降級為32位大同小異,資料字典的改變而已,可以利用冷備 RMAN等方法進行遷移,本文是利用RMAN進行遷移的,RMAN備份可以參考別的文章。
具體步驟如下。
1、遷移前一天停止RMAN指令碼中的DELETE ALL INPUT來停止刪除歸檔日誌檔案。
2、全備前使用V$LOG來確定當前的日誌序列號。
3、在當前伺服器中新建目錄來儲存RMAN備份檔案。
4、使用RMAN全備指令碼進行完整的RMAN備份,指定目錄到新建的目錄中。同時儲存RMAN備份日誌,用來過後確定ORACLE控制檔案所在的備份集備份片。
5、在原資料庫中使用CREATE PFILE FROM SPFILE來更新PFILE。
6、在目標伺服器中新建資料庫,資料庫的名字和原資料庫一樣。
7、建立完成會刪除所有資料檔案,日誌檔案,控制檔案,同時刪除SPFILE。
8、在目標伺服器中新建目錄,此目錄和原伺服器中的目錄一樣。
9、 通過FTP傳輸所有備份集備份片到目標伺服器中新建的目錄中。
10、修改目標伺服器中資料庫的PFILE,要求和原資料庫PFILE一樣。
11、啟動資料庫到NOMOUNT狀態。
12、在目標伺服器中新建目錄用來存在恢復的控制檔案,參照PFILE中的配置
13、進行控制檔案恢復。
14、啟動資料庫到MOUNT狀態。
15、在目標伺服器中新建目錄用來存放資料庫檔案,建立歸檔目錄用來存放歸檔日誌,
同時建立各種TRACE檔案目錄。
16、通過RESOTRE來進行資料檔案還原。
到此準備工作完成,下面的步驟為進行資料恢復時的步驟
17、提取原庫的物件資訊,在遷移完成後方便對比。
18、關閉應用,確定不會再有新的資料寫入到資料庫。
19、進行多次日誌切換,確保所有更改的資料都已經寫入到歸檔日誌,如果日誌檔案為三個進行四次切換即可。
20、通過原資料庫檢視V$LOG來確定當前日誌序列,判斷出需要拷貝的歸檔日誌檔案,為了更加安全可以在最早的歸檔以前再多取幾個。
21、通過FTP拷貝原伺服器歸檔日誌到目標伺服器相應的目錄中。
22、通過RECOVER DATABASE UNTIL 來進行恢復。
23、使用ALTER DATABASE OPEN RESETLOGS來開啟資料庫。
24、使用命令SHUTDOWN IMMEDIATE來關閉資料庫。
25、使用命令STARTUP MIGRATE啟動資料庫。
26、執行指令碼utlirp.sql。
27、使用命令SHUTDOWN IMMEDIATE來關閉資料庫。
28、使用命令STARTUP來啟動資料庫。
29、執行指令碼utlrp.sql。
30、使用命令SHUTDOWN IMMEDIATE來關閉資料庫。
31、使用命令STARTUP來啟動資料庫。
32、提取資料庫物件資訊,和原庫的物件資訊進行比對。
至此資料遷移完成。
建立好相關目錄 拷貝好所有的備份到與原庫上備份的相同目錄下 我的是/u01/app/oracle/backup
[root@itspf ~]# su - oracle
[oracle@itspf ~]$ cd /u01/app/oracle/
[oracle@itspf oracle]$ ls
oraInventory product
[oracle@itspf oracle]$ mkdir admin
[oracle@itspf oracle]$ ls
admin oraInventory product
[oracle@itspf oracle]$ mkdir flash_recovery_area
[oracle@itspf oracle]$ mkdir archivelog
[oracle@itspf oracle]$ mkdir backup
[oracle@itspf oracle]$ mkdir oradata
[oracle@itspf oracle]$ cd admin
[oracle@itspf admin]$ mkdir itspfdb
[oracle@itspf admin]$ cd itspfdb/
[oracle@itspf itspfdb]$ mkdir adump
[oracle@itspf itspfdb]$ mkdir bdump
[oracle@itspf itspfdb]$ mkdir cdump
[oracle@itspf itspfdb]$ mkdir dpdump
[oracle@itspf itspfdb]$ mkdir pfile
[oracle@itspf itspfdb]$ mkdir udump
[oracle@itspf itspfdb]$ cd ..
[oracle@itspf admin]$ cd ..
[oracle@itspf oracle]$ cd ora
oradata/ oraInventory/
[oracle@itspf oracle]$ cd oradata/
[oracle@itspf oradata]$ mkdir itspfdb
從源庫拷貝一個PFLIE到新庫
SQL> startup mount from pfile='/soft/pfile20130710.ora'
ORACLE instance started.
Total System Global Area 1019215872 bytes
Fixed Size 1271252 bytes
Variable Size 616565292 bytes
Database Buffers 394264576 bytes
Redo Buffers 7114752 bytes
ORA-02231: missing or invalid option to ALTER DATABASE
[root@itspf ~]# su - oracle
SQL> startup nomount pfile='/soft/pfile20130710.ora';
SQL>create spfile='/u01/app/oracle/product/10.2.0/db_1/dbs/spfileitspfdb.ora' from pfile='/soft/pfile20130710.ora';
-- 也可以利用RMAN在備份中恢復引數檔案備份
RMAN> restore spfile to pfile '/u01/app/oracle/product/10.2.0/db_1/dbs/inititspfdb.ora' from '/u01/app/oracle/backup/c-4014947212-20130919-01';
-- 恢復控制檔案
[oracle@itspf ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Thu Sep 26 00:43:08 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: itspfdb (not mounted)
RMAN> restore controlfile from '/u01/app/oracle/backup/c-4014947212-20130919-01';
RMAN> exit
Recovery Manager complete.
--還原資料庫
[oracle@itspf ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Thu Sep 26 02:09:44 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: itspfdb (not mounted)
RMAN> alter database mount;
RMAN> restore database
--恢復資料庫。
SQL>startup mount;
--在其中可能有需要幾個歸檔檔案,可以把原庫當天備份的歸檔檔案拷貝過來 選擇AUTO
SQL>recover database using BACKUP CONTROLFILE until cancel;
SQL>alter database open resetlogs;
SQL>shutdown immediate
-- 進行降級後的操作
SQL>Shutdown immediate
SQL>startup migrate
SQL>@$ORACLE_HOME/rdbms/admin/utlirp.sql;
SQL>Shutdown immediate
SQL>Startup
SQL>@$ORACLE_HOME/rdbms/admin/utlrp.sql;
SQL>Shutdown immediate
SQL>Startup
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28894640/viewspace-774092/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用RMAN把ORACLE從WINDOWS轉換到LINUXOracleWindowsLinux
- oracle 10g RMAN管理Oracle 10g
- 利用RMAN 建立 oracle dataguardOracle
- oracle 10g rman 指令碼Oracle 10g指令碼
- A Oracle Data Guard Broker 升級和降級Oracle
- ORACLE 10G 升級Oracle 10g
- oracle實驗記錄 (oracle 10G rman transport database)OracleDatabase
- Oracle 利用RMAN 完成資料遷移Oracle
- oracle 10g RMAN備份及恢復Oracle 10g
- ORACLE 10G RMAN 部分配置設定Oracle 10g
- oracle 10g rac升級Oracle 10g
- 在sun solaris上利用crontab定期把oracle錶轉化為txt檔案Oracle
- RMAN 增量備份最佳化 for ORACLE 10GOracle 10g
- oracle實驗記錄 (oracle 10G dataguard(8)rman 建立dg)Oracle
- oracle 利用flashback將備庫啟用為read wirte(10g 及上)Oracle
- Oracle RAC 利用RMAN自動排程備份Oracle
- Oracle 10g使用RMAN恢復目錄筆記Oracle 10g筆記
- 把oracle RMAN的命令輸出寫在檔案上Oracle
- ORACLE 10G RAC 升級補丁Oracle 10g
- 升級Oracle 10g 到10.2.0.4Oracle 10g
- 升級oracle 10g clusterware 和 racOracle 10g
- oracle實驗記錄 (oracle 10G dataguard(9)rman恢復與dg)Oracle
- 【RMAN】Oracle11g透過rman升級到12cOracle
- 教你如何成為Oracle 10g OCP - 第十三章 RMAN管理的備份與恢復Oracle 10g
- ORACLE 10G data guard 升級步驟Oracle 10g
- ORACLE9I升級到10GOracle
- oracle 10g rac 單例項恢復至ORACLE10G RAC RMANOracle 10g單例
- 關於oracle 10G for suse 9 的rman: can't open targetOracle 10g
- 如何利用Rman對Oracle資料庫進行備份Oracle資料庫
- DC 升級/降級事件處理事件
- selenium的升級與降級
- 教你如何成為Oracle 10g OCP - 第十三章補充:RMAN的組成及工作原理Oracle 10g
- 10g RAC rman tips
- 教你如何成為Oracle 10g OCP - 第十三章補充:RMAN為什麼不備份online redoOracle 10g
- 利用rman快速搭建standby
- 利用RMAN做TSPITR
- rman總結(包含10g rman中的新特性)
- ORACLE9I升級到10G(zt)Oracle