|
由于數據文件改變路徑相比升級的風(fēng)險稍大一些,所以我們決定先開(kāi)始移植數據文件,然后再對數據庫進(jìn)行升級操作。 一、數據文件移植到本機硬盤(pán) 1、將數據文件、控制文件、臨時(shí)數據文件和重做日志文件分別先列出來(lái) select * from v$datafile; select * from v$controlfile; select * from v$tempfile; select * from v$logfile; 2、先建立臨時(shí)數據文件到本機硬盤(pán)上,路徑另定 create temporary tablespace "tmp" datafile 'path/tmp01.dbf' size 100m; 然后將該臨時(shí)表空間設置為系統默認臨時(shí)表空間 alter database default temporary tablespace "tmp"; 然后刪除原本的磁陣上的臨時(shí)表空間 drop temporary tablespace "temp" including contents; 3、移動(dòng)數據文件和日志文件,首先在本機硬盤(pán)上建立相關(guān)目錄并賦予oracle寫(xiě)權限,然后通過(guò)以下sql取出執行語(yǔ)句 select 'alter database rename file '||name||'to '||name from v$logfile; select 'alter database rename file '||name||'to '||name from v$datafile; 將得到的語(yǔ)句to后面的路徑稍作修改 4、關(guān)閉數據庫,執行數據路徑改變 shutdown immediate startup mount 然后將所有的數據文件和重做日志文件用操作系統命令移動(dòng)到本機硬盤(pán)新建的目錄中 完成后執行類(lèi)似命令: ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\DRSYS01.DBF' TO 'E:\ORCL\DRSYS01.DBF'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\INDX01.DBF' TO 'E:\ORCL\INDX01.DBF'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG' TO 'E:\ORCL\REDO01.LOG'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG' TO 'E:\ORCL\REDO02.LOG'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG' TO 'E:\ORCL\REDO03.LOG'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF' TO 'E:\ORCL\SYSTEM01.DBF'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\TOOLS01.DBF' TO 'E:\ORCL\TOOLS01.DBF'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\USERS01.DBF' TO 'E:\ORCL\USERS01.DBF'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\XDB01.DBF' TO 'E:\ORCL\XDB01.DBF'; ALTER DATABASE RENAME FILE 'D:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF' TO 'E:\ORCL\UNDOTBS01.DBF'; 完成后啟動(dòng)數據庫 alter database open; 如無(wú)異常表示成功 5、移動(dòng)歸檔日志文件 首先查看歸檔日志文件歸檔目錄,并確認目前只歸檔到一個(gè)目錄 show parameter log_archive_dest_1 在本機建立相應的歸檔日志文件存放路徑并賦予oracle寫(xiě)權限,然后修改歸檔日志文件存放路徑: alter system set log_archive_dest_1='location=path' scope=spfile; 然后關(guān)閉數據 shutdown immediate 將歸檔日志下的所有文件移動(dòng)到新建的目錄中,然后重新啟動(dòng)數據庫 startup 啟動(dòng)后檢查是否能夠成功歸檔 alter system swtich logfile; 執行此命令后系統應該切換日志文件,并保存最新的歸檔文件到歸檔目錄中,如正常則表示成功 6、移動(dòng)控制文件 由于控制文件無(wú)法使用alter system 修改,所以必須將數據庫的 spfile導出pfile,在pfile中修改后在切換回spfile,具體方法如下: create pfile=path from spfile; 找到該pfile后修改控制文件路徑,并將控制文件移動(dòng)到修改的路徑中,接著(zhù)關(guān)閉數據庫使用pfile啟動(dòng) shutdown immediate startup pfile=path 如無(wú)異常則檢查 select * from v$controlfile; 使用pfile重建spfile文件 create spfile from pfile=path; 關(guān)閉數據庫,使用默認spfile啟動(dòng) shutdown immediate startup 無(wú)異常則表示成功,到這里為止所有的數據文件、臨時(shí)數據文件、控制文件和重做日志文件以及歸檔日志文件都已經(jīng)成功移植到本機硬盤(pán)上,接下來(lái)對數據庫進(jìn)行升級操作
二、數據庫升級 1、將已經(jīng)有的數據庫壓縮包解壓到硬盤(pán)上,使用vnc oracle用戶(hù)登錄到aix 2、關(guān)閉正在運行的數據庫,關(guān)閉oracle監聽(tīng)進(jìn)程 shutdown immediate lsnrctl stop 3、開(kāi)始升級,運行目錄中的./runInstaller,安裝時(shí)請注意路徑和OID名稱(chēng)為OUIHome 4、按照提示切換root用戶(hù)運行root.sh 5、升級成功后啟動(dòng)數據庫,運行腳本 SQL> STARTUP MIGRATE SQL> SPOOL patch.log SQL> @?/rdbms/admin/catpatch.sql SQL> SPOOL OFF 運行完畢后檢查日志文件有無(wú)錯誤,如無(wú)錯誤繼續下一步編譯無(wú)效對象 6、關(guān)閉數據庫,編譯無(wú)效對象 SQL> SHUTDOWN SQL> STARTUP SQL> @?/rdbms/admin/utlrp.sql 此時(shí)數據庫升級完畢,檢驗有無(wú)異常,如無(wú)異常則表示數據庫成功升級至9208 |