溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

單機(jī)11.2.0.1恢復(fù)到RAC 11.2.0.4的案例

發(fā)布時(shí)間:2020-08-05 07:46:37 來源:ITPUB博客 閱讀:138 作者:cqvienet 欄目:關(guān)系型數(shù)據(jù)庫

單機(jī)的數(shù)據(jù)庫名和實(shí)例名都是DB521102, ,恢復(fù)到RACdb_nameDB521102,instance_name分別為DB52110201DB52110202

經(jīng)過實(shí)驗(yàn):不管11.2.0.4是直接安裝的還是由11.2.0.1升級(jí)到11.2.0.4的,都是以下一模一樣的方式。



1.  單機(jī)必須是spfile啟動(dòng)的,備份數(shù)據(jù)庫(以spfile啟動(dòng)則會(huì)自動(dòng)備份spfilecrontrolfile)和歸檔日志

  Rman>backup databast format ‘/u01/app/rman/full%U.bak’ plus archivelog format ‘/u01/app/rman/arch%U.bak’

2.  把單機(jī)的備份拷貝到RAC的隨機(jī)一臺(tái)機(jī)器testdb01的相同目錄/u01/app/rman

3.  RACtestdb01機(jī)器上進(jìn)行單機(jī)數(shù)據(jù)庫的恢復(fù)

ORACLE_SID=DB521102

rman>startup nomount

rman>restore spfile to pfile '/u01/app/oracle/product/11.2.0/db_1/dbs/initDB521102.ora'

from '/u01/app/rman/full10pu0tdo_1_1.bak ';

以上startup nomount的過程中會(huì)出現(xiàn)如下報(bào)錯(cuò),暫時(shí)不用管,會(huì)正常startupnomount狀態(tài),啟動(dòng)后就可以把pfile定義成報(bào)錯(cuò)中的文件信息了

startup failed: ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/db_1/dbs/initDB521102.ora'

4.  RACtestdb01機(jī)器上修改剛剛恢復(fù)過來的pfile文件,只留下如下參數(shù)信息信息,參數(shù)的具體值參考原來RAC的參數(shù)值。

但是一些目錄必須手工建立,比如在ASM中建立+DATA/DB521102+ARCH/ DB521102目錄,其中本地文件路徑必須在所有RAC服務(wù)器中都創(chuàng)建,比如*.audit_file_dest='/u01/app/oracle/admin/DB521102/adump'需要在testdb01testdb02中都建立

 

*.audit_file_dest='/u01/app/oracle/admin/DB521102/adump'

*.audit_trail='none'

*.compatible='11.2.0.0.0'

*.control_files='+DATA/DB521102/control01.ctl','+ARCH/DB521102/control02.ctl'

*.db_block_size=8192

*.db_create_file_dest='+DATA'

*.db_domain=''

*.db_name='DB521102'

*.db_recovery_file_dest='+ARCH'

*.db_recovery_file_dest_size=4070572032

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=DB521102XDB)'

*.memory_target=1656750080

*.log_archive_dest_1='location=+ARCH'

*.log_archive_format='%t_%s_%r.dbf'

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

5.  RACtestdb01機(jī)器上創(chuàng)建SpfileASM目錄,并關(guān)閉該DUMMY實(shí)例

ORACLE_SID= DB521102

SQL> create spfile ='+DATA/DB521102/spfileDB521102.ora' from pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initDB521102.ora';

Sql>shutdown abort;

6.  RACtestdb01機(jī)器上執(zhí)行

echo "spfile='+DATA/DB521102/spfileDB521102.ora'">/u01/app/oracle/product/11.2.0/db_1/dbs/initDB521102.ora

7.  ORACLE_SID=DB521102

RACtestdb01機(jī)器上 startup nomount數(shù)據(jù)庫,并show parameter spfile查看spfile是否來自ASM

8.  RACtestdb01機(jī)器上恢復(fù)單機(jī)的控制文件

Rman> restore controlfile from '/u01/app/rman/full10pu0tdo_1_1.bak';

9.  RACtestdb01機(jī)器上

Rman>alter database mount;

10.RACtestdb01機(jī)器上恢復(fù)數(shù)據(jù)文件

RMAN>run{

set newname for datafile 1 to '+DATA/DB521102/system01.dbf';

set newname for datafile 2 to '+DATA/DB521102/sysaux01.dbf';

set newname for datafile 3 to '+DATA/DB521102/undotbs01.dbf';

set newname for datafile 4 to '+DATA/DB521102/users01.dbf';

set newname for tempfile 1 to '+DATA/DB521102/temp01.dbf';

restore database;

switch datafile all;

switch tempfile all;

}

11.RACtestdb01機(jī)器上注冊(cè)單機(jī)最后備份的那個(gè)歸檔日志備份包

Rman>catalog backuppiece '/u01/app/rman/arch21pu0tdr_1_1.bak';

12.RACtestdb01機(jī)器上recover數(shù)據(jù)庫到最后一個(gè)歸檔日志的sequence+1

RMAN> recover database until sequence 9;

13.RACtestdb01機(jī)器上把單機(jī)的在線日志路徑修改為ASM路徑

alter database rename file '/oracle/ora11g/oradata/DB521102/redo01.log' to '+DATA/DB521102/redo01.log';

alter database rename file '/oracle/ora11g/oradata/DB521102/redo02.log' to '+DATA/DB521102/redo02.log';

alter database rename file '/oracle/ora11g/oradata/DB521102/redo03.log' to '+DATA/DB521102/redo03.log';

alter database rename file '/oracle/ora11g/oradata/DB521102/redo04.log' to '+DATA/DB521102/redo04.log';

14.RACtestdb01機(jī)器上

Sql>alter database open resetlogs;

出現(xiàn)如下報(bào)錯(cuò)信息

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-00704: bootstrap process failure

ORA-39700: database must be opened with UPGRADE option

15.解決方法如下,目標(biāo)庫重新登陸按如下執(zhí)行(執(zhí)行catupgrd.sql完后實(shí)例會(huì)自動(dòng)shutdown,之后直接startup的過程不再需要resetlogs了)

ORACLE_SID=DB521102

sql>startup upgrade;

sql>@$ORACLE_HOME/rdbms/admin/catupgrd.sql;

sql> startup

16.RACtestdb01機(jī)器上修改參數(shù),修改數(shù)據(jù)庫的實(shí)例數(shù)目,為每個(gè)實(shí)例命名,并使每個(gè)實(shí)例擁有獨(dú)立的thread

alter system set cluster_database=true scope=spfile;

alter system set cluster_database_instances=2 scope=spfile;

alter system set instance_number=1 scope=spfile sid='DB52110201';

alter system set instance_number=2 scope=spfile sid='DB52110202';

alter system set thread=1 scope=spfile sid='DB52110201';

alter system set thread=2 scope=spfile sid='DB52110202';

17.RACtestdb01機(jī)器上查看undo tablespace,保證只有一個(gè)undo tablespace

show parameter undo

18.RACtestdb01機(jī)器上創(chuàng)建第二個(gè)undo tablespace

create undo tablespace undotbs2 datafile '+DATA/DB521102/undotbs02.dbf' size 512m;

19.RACtestdb01機(jī)器上修改參數(shù),使每個(gè)實(shí)例有獨(dú)立的undo tablespace

alter system set undo_tablespace='undotbs1' scope=spfile sid='DB52110201';

alter system set undo_tablespace='undotbs2' scope=spfile sid='DB52110202';

20.RACtestdb01機(jī)器上為第二個(gè)thread創(chuàng)建在線日志組

alter database add logfile thread 2 group 4 '+DATA/DB521102/redo04.log' size 50m;

alter database add logfile thread 2 group 5 '+DATA/DB521102/rede05.log' size 50m;

alter database add logfile thread 2 group 6 '+DATA/DB521102/rede06.log' size 50m;

21.RACtestdb01機(jī)器上啟動(dòng)第二個(gè)thread

alter database enable thread 2;

22.RACtestdb01機(jī)器上檢查歸檔路徑是否在ASM

Archive log list

23.RACtestdb01機(jī)器上關(guān)閉數(shù)據(jù)庫

ORACLE_SID=DB521102

Sql>Shutdown immediate

24.RACtestdb01、testdb02機(jī)器上關(guān)閉RAC數(shù)據(jù)庫

Source ~/.bash_profile

Sql>Shutdown immediate

25.RAC的所有機(jī)器即testdb01testdb02上重新配置初始化pfile

 [oracle@testdb01 dbs]$ echo "spfile='+DATA/DB521102/spfileDB521102.ora'">/u01/app/oracle/product/11.2.0/db_1/dbs/initDB52110201.ora

 

 [oracle@testdb02 ~]$ echo "spfile='+DATA/DB521102/spfileDB521102.ora'">/u01/app/oracle/product/11.2.0/db_1/dbs/initDB52110202.ora

26.RAC的所有機(jī)器即testdb01、testdb02上上配置oracle.bash_profile,把ORACLE_UNQNAME、ORACLE_SID設(shè)置為新值,并source .bash_profile

27.RAC的所有機(jī)器即testdb01、testdb02上都啟動(dòng)數(shù)據(jù)庫,并在每臺(tái)機(jī)器上檢查是否能夠查詢到所有實(shí)例信息

Sql>starup

Sql>select status,instance_number,instance_name,host_name from gv$instance;

28.RAC的所有機(jī)器即testdb01、testdb02上再創(chuàng)建各自實(shí)例的密碼文件

orapwd file='$ORACLE_HOME/dbs/orapwDB5211021' password=123456 entries=5 force=y

orapwd file='$ORACLE_HOME/dbs/orapwDB5211022' password=123456 entries=5 force=y

29.RAC的隨機(jī)一臺(tái)機(jī)器如testdb01機(jī)器上把數(shù)據(jù)庫加入集群(gridoracle用戶都可以)

srvctl add database -d DB521102 -o $ORACLE_HOME -p +DATA/DB521102/spfileDB521102.ora

srvctl add instance -d DB521102 -i DB52110201 -n testdb01

srvctl add instance -d DB521102 -i DB52110202 -n testdb02

srvctl start database -d DB521102

30.RAC的所有機(jī)器即testdb01、testdb02上都檢查一下看集群中是否有這個(gè)數(shù)據(jù)庫了

srvctl status database -d DB521102









以上方法過程中可能粗心遇到一個(gè)問題,具體如下

20160812 1145時(shí)刻重啟服務(wù)器后,srvctl status database –d db521102顯示沒有正常運(yùn)行,手工執(zhí)行srvctl start database –d db521102發(fā)現(xiàn)如下信息,查看initDB5211022.ora發(fā)現(xiàn)該文件自動(dòng)修改了被備份了一份initDB5211022.ora.bak.testdb02,備份文件顯示的目錄為為/dbrac/。當(dāng)然解決方法還是簡(jiǎn)單把參數(shù)文件從dbrac目錄拷貝一份到DB521102就ok了。個(gè)人感覺這個(gè)錯(cuò)誤應(yīng)該引起原因可能是以下2種中的一種,個(gè)人傾向第二種。

1.  26步過程中一開始echo的路徑是dbrac,并在RAC中啟動(dòng)啟動(dòng)了DB,后來手工修改成了DB521102,所以重啟服務(wù)器后,集群不認(rèn)DB521102,還認(rèn)dbrac。

2.  26echo配錯(cuò)成dbrac,但是第29-pDB521102
單機(jī)11.2.0.1恢復(fù)到RAC 11.2.0.4的案例
單機(jī)11.2.0.1恢復(fù)到RAC 11.2.0.4的案例



向AI問一下細(xì)節(jié)

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

AI