利用RMAN把ORACLE 10G 64位降級為32位

wzhalal發表於2013-10-10

由於專案需要測試環境,原庫為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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章