溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ORACLE跨版本升級

發(fā)布時間:2020-07-08 07:58:26 來源:網(wǎng)絡 閱讀:918 作者:洛陽紙不貴 欄目:關系型數(shù)據(jù)庫

跨版本升級(10.2.0.5升級到11.2.0.3)
10.2.0.5版本:ORACLE_BASE: /oracle/u01/app/oracle
ORACLE_HOME: /oracle/u01/app/oracle/product/10.2/db_1
11.2.0.3版本:ORACLE_BASE: /oracle/u02/app/oracle
ORACLE_HOME: /oracle/u02/app/oracle/product/10.2/db_1

描述:新裝11g的軟件,用新的軟件來掛原來10g的庫。

升級步驟:
1、升級前確認數(shù)據(jù)庫已經(jīng)完全備份,如果沒做備份,則不要去做升級。
2、可行性問題,是否能夠升級?升級的要求有哪些?應用程序是否支持新的版本?預遷移查看應用是否滿足需求?
先看升級圖,查看是否能升級,高于10.2.0.2才能直接升級到11gR2版本。
3、安裝高版本的數(shù)據(jù)庫到新的安裝目錄,本例中為/oracle/u02/app/oracle目錄。
4、啟動原來數(shù)據(jù)庫,創(chuàng)建pfile文件a.txt,將該文件存放在/tmp下。
5、跑預升級腳本(建議腳本),11g版本跑ORACLE_HOME/rdbms/admin/utlu112i.sql腳本。 注:ORACLE_HOME為ORACLE軟件的安裝目錄。
6、根據(jù)腳本建議修改/tmp/a.txt文件,修改表空間大小,清空回收站,收集統(tǒng)計信息。
7、關閉原來數(shù)據(jù)庫相關的應用,關閉數(shù)據(jù)庫。
8、用orcle用戶拷貝低版本安裝目錄下ORACLE_BASE/admin文件夾到11g的ORACLE_BASE下。
9、修改oracle用戶環(huán)境變量,將ORACLE_BASE和ORACLE_HOME修改到高版本安裝目錄下。
10、使用root用戶修改/etc/oratab文件和/etc/oraInst.loc文件,將相關的路徑修改為新版本的路徑。
11、使用/tmp/a.txt參數(shù)文件啟動數(shù)據(jù)庫到升級模式,重建spfile文件,跑升級腳本升級數(shù)據(jù)庫。升級完成后數(shù)據(jù)庫自動關閉。
12、升級完成后重建oraInventory目錄。
13、刪除原來的軟件安裝目錄。

具體實施:
1、查看數(shù)據(jù)庫是否已經(jīng)完全備份,如果未做備份,則不要做升級。
2、研究升級的可行性問題,確認以下問題。
數(shù)據(jù)庫是否能夠升級?
升級的要求有哪些?
應用程序是否支持新版本的數(shù)據(jù)庫?
做預遷移查看應用是否能夠滿足需求。
查找資料(官方文檔),查看能否升級,高于10.2.0.2的版本可以直接升級到11gR2版本。
以上問題確認可行后才可升級。
3、安裝高版本的數(shù)據(jù)庫到新的安裝目錄,本例中為/oracle/u02/app/oracle目錄。
注:oracle11g的升級為全新安裝,從低版本(9i或10g)升級到11g或者從11g低版本升級到11g高版本都是全新安裝。
4、啟動原來的數(shù)據(jù)庫,創(chuàng)建pfile文件(/tmp/a.txt)。
注:pfile文件為數(shù)據(jù)庫的參數(shù)文件,記錄數(shù)據(jù)庫的pga、sga、控制文件位置等信息。在啟動數(shù)據(jù)庫時用到。
此處創(chuàng)建pfile文件的目的是用新版本的數(shù)據(jù)庫軟件啟動原來的數(shù)據(jù)庫。
oracle用戶登錄系統(tǒng),鏈接數(shù)據(jù)庫。
sqlplus / as sysdba; 注:oracle用戶執(zhí)行此命令鏈接到數(shù)據(jù)庫。
SQL> startup 注:啟動數(shù)據(jù)庫,如果數(shù)據(jù)庫已經(jīng)啟動則會報錯。
SQL> create pfile='/tmp/a.txt' from spfile; 注:創(chuàng)建新的參數(shù)文件/tmp/a.txt
5、跑預升級腳本(建議腳本),該腳本的作用是檢查數(shù)據(jù)庫升級時有哪些參數(shù)需要修改。
SQL> spool /tmp/test.txt 注:打開spool,將該命令之后執(zhí)行的sql語句及結果存放在/tmp/test.txt文件中。
SQL> @/oracle/u02/app/oracle/product/10.2/db_1/rdbms/admin/utlu112i.sql
SQL> spool off;
6、查看/tmp/test.txt文件,根據(jù)提示修改/tmp/a.txt文件,修改表空間大小,清空回收站,收集統(tǒng)計信息。
修改/tmp/a.txt文件:
刪除原實例名開頭的所有行。
刪除.background_dump_dest開頭的行
刪除
.user_dump_dest開頭的行
刪除.core_dump_dest開頭的行
添加
.diagnostic_dest='/oracle/u02/app/oracle'
按照/tmp/a.txt文件中的建議加大sga_target和pga_aggregate_target參數(shù)大小。
修改.compatible的值:.compatible='11.2.0.0.0'
修改.audit_file_dest的路徑:.audit_file_dest='/oracle/u02/app/oracle/admin/fsdb/adump'
修改表空間的大小。
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_data_files; 查看各個表空間數(shù)據(jù)文件的大小。
SQL> select file_name,tablespace_name,bytes/1024/1024 from dba_temp_files; 查看temp表空間的數(shù)據(jù)文件大小。
SQL> alter database datafile '/oradata/fsdb/sysaux01.dbf' resize 500M; 修改sysaux表空間數(shù)據(jù)文件大小為500M。
SQL> alter database tempfile '/oradata/fsdb/temp01.dbf' resize 400M; 修改temp表空間數(shù)據(jù)文件大小為400M。
清空回收站:
SQL> purge dba_recyclebin;
SQL> purge user_recyclebin;
收集統(tǒng)計信息:
SQL> execute dbms_stats.gather_dictionary_stats;
具體修改為多大要根據(jù)/tmp/test.txt文件中的建議修改。
7、關閉應用,關閉原來的數(shù)據(jù)庫。
SQL> shutdown immediate;
8、oracle用戶復制oracle10g的ORACLE_BASE目錄下的admin文件夾到11g下的ORACLE_BASE下。
cp -r /oracle/u01/app/oracle/admin /oracle/u02/app/oracle
9、oracle用戶修改oracle用戶的環(huán)境變量,將ORACLE_HOME和ORACLE_BASE修改到11g的安裝目錄下。
vi /home/oracle/.bash_profile 注:編輯oracle用戶的環(huán)境變量
export ORACLE_BASE=/oracle/u02/app/oracle
export ORACLE_HOME=/oracle/u02/app/oracle/product/10.2/db_1 注:后面兩行為修改后的內容
10、使用root用戶修改/etc/oratab文件和/etc/oraInst.loc文件,將相關的路徑修改為11g的路徑。
vi /etc/oratab 注:修改/etc/oratab文件,該文件與oracle數(shù)據(jù)庫是否開機啟動相關。
fsdb:/oracle/u02/app/oracle/product/10.2/db_1:N 注:對該行做出修改,將路徑改為11g的路徑。
vi /etc/oraInst.loc 注:修改/etc/oraInst.loc文件,該文件控制oraInventory的存放路徑。
inventory_loc=/oracle/u02/app/oracle/oraInventory 注:將oraInventory存放路徑修改為11g的路徑。
11、使用/tmp/a.txt參數(shù)文件啟動數(shù)據(jù)庫到升級模式,創(chuàng)建新的spfile文件,跑升級腳本。完成后數(shù)據(jù)庫自動關閉。
oracle用戶登錄到空實例。 sqlplus / as sysdba
SQL> startup upgrade pfile='/tmp/a.txt'; 注:使用/tmp/a.txt參數(shù)文件啟動數(shù)據(jù)庫到升級模式。
SQL> create spfile from pfile='/tmp/a.txt'; 注:創(chuàng)建新的spfile文件,方便以后啟動數(shù)據(jù)庫。
SQL> @?/rdbms/admin/catupgrd.sql 注:執(zhí)行升級腳本,完成數(shù)據(jù)庫的升級。
12、重建oraInventory目錄。
oracle用戶到$ORACLE_HOME/oui/bin目錄下,執(zhí)行以下命令;
./runInstaller -slient -attachHome ORACLE_HOME="/oracle/u02/app/oracle/product/10.2/db_1" ORACLE_HOME_NAME="oracleHome";
注:ORACLE_HOME為11g軟件的ORACLE_HOME,ORACLE_HOME_NAME可以任意指定,不會有什么影響。
執(zhí)行完成后重啟數(shù)據(jù)庫,查看數(shù)據(jù)庫版本,查看數(shù)據(jù)庫是否正常。
13、確認正常無誤后刪除10g數(shù)據(jù)庫的安裝目錄。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI