oracle 10g RAC怎么升級到oracle 11g RAC,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
oracle 10g RAC升級到oracle 11g RAC
環境概要介紹
由于舊的環境硬件不足購支持生產系統的需要,需要切換到新的硬件,并計劃升級數據庫的版本,從oracle RAC 10.2.0.5版本升級到oracle RAC 11.2.0.4,升級思路如下:
1、搭建好oracle RAC 11g環境,在這里不詳細說明如何搭建了。
2、在oracle RAC 11g的節點1服務器上,新開一個用戶ora10g,然后安裝好oracle 10.2.0.5單機版本數據庫,這里需要注意的是ora10g的所屬組,在ORACLE_HOME/bin/oracle的權限必須有權限,才可以訪問oracle 11g集群的asm組。
3、搭建oracle RAC 10.2.0.5到oracle RAC 11g的節點1的DATAGUARD環境。這里不細說,這里需要注意的是,備庫使用的11g的asm存儲數據庫文件。
4、升級當晚,以failover的方式結束ora10g的備機角色,轉為主,運行11g的腳本,關閉數據庫。
5、使用11g的數據庫軟件打開ora10g的數據庫文件。
6、使用腳本升級數字字典。
7、注冊數據庫服務到集群管理。
8、檢查配置。
系統環境說明:
192.168.1.121---》原使用oracle 10.2.0.5集群數據庫環境。---》oracle用戶
192.168.42.12---》新使用oracle 11g 集群環境,這里有ora10g、oracle、grid用戶
一、檢查DG同步
登陸192.168.1.121,對數據庫進行連續切換幾個日志。
alter system archive log current;
檢查日志是否同步,分別在192.168.1.121、192.168.42.12進行檢查同步。
select * from v$log_history;
select * from v$archive_dest;
二、關閉192.168.1.121主庫數據庫和停止監聽
lsnrctl stop;
srvctl stop database –d etest;
4.5 切換備機(192.168.42.12)
使用的是failover的方式。
使用ora10g用戶登陸192.168.42.12服務器,
在主庫(192.168.1.121)發起,將備機日志功能發送去掉。
alter system set log_archive_dest_3=’’ scope=both;
備機(192.168.42.12)ora10g用戶上執行
sqlplus / as sysdba
alter database recover managed standby database finish;
alter database commit to switchover to primary;
shutdown immediate;
startup;
在這里如果打開數據庫有問題,切記要解決后才用11g的腳本打開,否則升級失敗。
將11g $ORACLE_HOME/rdbms/admin 下的utlu112i.sql腳本copy到10g的$ORACLE_HOME/rdbms/admin 下,并在10g上執行,這個腳本可以檢查升級前的一些信息。如果不滿足條件,會列出。
sqlplus / as sysdba
spool upgrade_info.log
@?/rdbms/admin/utlu112i.sql
然后關閉oracle 10g的數據庫。
shutdown immediate;
以上這個腳本需要特別小心,如果忘記運行,一旦用11g打開,整個環境就破壞了,不可逆。
登陸oracle(192.168.42.12)用戶,確定實例名稱都配置正確。
使用oracle 11g軟件打開10g的庫,升級數據字典。
使用已經定義的initetest1.ora文件,升級完成使用spfile。這里的initetest1.ora參數不具體給出,自己可以拿一個集群的例子修改即可。
sqlplus / as sysdba
startup upgrade;
upgrade模式下運行腳本:catupgrd.sql
執行語句:
這個跑的時間比較長,大概20分鐘,最好放到后臺去跑,在這里,測試的時候由于temp臨時表空間由于空間不足導致升級腳本跑失敗。所以投產時,請確認temp空間是否有調整到合適的值,重新跑腳本需要重啟數據庫,否則session會掛起。
確定新庫的臨時表空間是否存在
select * from dba_temp_files;
擴大臨時表空間:
alter database tempfile '+DATA/etest/temp01.dbf' resize 4g;
sqlplus -S -L "/ as sysdba" <<OEF
salter database open upgrade;
pool upgrade.log
@?/rdbms/admin/catupgrd.sql
OEF
腳本跑完后,自動關閉了數據庫。
例如:
Total Upgrade Time: 00:17:01
PL/SQL procedure successfully completed.
Commit complete.
Database closed.
Database dismounted.
ORACLE instance shut down.
然后啟動數據庫,顯示本次升級過程的摘要。
sqlplus / as sysdba
startup;
@?/rdbms/admin/utlu112s.sql
一般無報錯提示
執行catuppst.sql腳本,不需要在upgrade 模式下執行,執行時間2分鐘
@?/rdbms/admin/catuppst.sql
然后是編譯無效對象,先查看有多少個無效對象:
select count(*) from dba_invalid_objects;
COUNT(*)
----------
5875
select distinct object_name from dba_invalid_objects;
這個腳本運行時間較長,大概2分鐘,放到后臺運行。
sqlplus -S -L "/ as sysdba" <<OEF
@?/rdbms/admin/utlrp.sql
最后檢查一下無效對象:
select count(*) from dba_invalid_objects;
最后檢查組件狀態
col comp_name for a40
set wrap off
select comp_name,version, status from dba_registry;
1.1 注冊集群數據庫
使用spfile啟動數據庫,修改initetest1.ora配置文件
create spfile='+DATA/etest/spfileetest.ora' from pfile;
這里必須使用spfile,否則以后生產無法動態修改參數。
cat initetest1.ora
SPFILE='+DATA/etest/spfileetest.ora'
修改集群參數
alter system set cluster_database=true scope=spfile;
shutdown immediate
startup
啟動數據庫
Startup
修改相關的參數:
以下是參數可提前修改好,注意檢查
alter system set cluster_database=true scope=spfile sid='etest1';
alter system set cluster_database=true scope=spfile sid='etest2';
alter system set instance_number=1 scope=spfile sid='etest1';
alter system set instance_number=2 scope=spfile sid='etest2';
alter system set thread=1 scope=spfile sid='etest1';
alter system set thread=2 scope=spfile sid='etest2';
alter system set undo_tablespace='UNDOTBS1' scope=spfile sid='etest1';
alter system set undo_tablespace='UNDOTBS2' scope=spfile sid='etest2';
添加實例和數據庫到集群管理
登樓集群節點2
crsctl start crs
啟動數據庫
Sqlplus / as sysdba
Startup
添加集群服務
使用oracle用戶添加
srvctl add database -d etest -o '/u01/app/oracle/product/11.2.0/dbhome_1' -p '+DATA/etest/spfileetest.ora' -r primary -y AUTOMATIC
srvctl add instance -d etest -i etest1 -n cpsdb01
srvctl add instance -d etest -i etest2 -n cpsdb02
檢查服務
crs_stat -t -v
另外可檢查
1、審計參數關閉。
2、dba_profile,檢查profile是否配置合理。
3、Process參數配置是否合理
4、密碼驗證延遲參數event配置。
5、內存sga、pga配置
6、打開flashback database配置
7、歸檔日志打開
看完上述內容,你們掌握oracle 10g RAC怎么升級到oracle 11g RAC的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。