ORACLE RAC資料庫的備份與恢復(6)
5.3、啟用叢集特性:
檢視叢集相關初始化引數:
SQL> select * from v$option where parameter = ¨Real Application Clusters¨;
PARAMETER VALUE
---------------------------------------- --------------------
Real Application Clusters TRUE
SQL> show parameter cluster
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cluster_database boolean FALSE
cluster_database_instances integer 1
cluster_interconnects string由上述返回結果可知,RAC特性是支援的,不過尚未啟用叢集資料庫,因此接下來首先要改的,就是enable CLUSTER DATABASE,操作如下:
SQL> alter system set cluster_database=true scope=spfile;
System altered.
SQL> alter system set cluster_database_instances=2 scope=spfile;
System altered.
SQL> alter system set instance_number=1 scope=spfile sid=¨repdb1¨;
System altered.
SQL> alter system set instance_number=2 scope=spfile sid=¨repdb2¨;
System altered.
SQL> alter system set thread=1 scope=spfile sid=¨repdb1¨;
System altered.
SQL> alter system set thread=2 scope=spfile sid=¨repdb2¨;
System altered.新建一組UNDO表空間和執行緒2使用的兩組REDO檔案:
SQL> create undo tablespace undotbs2 datafile ¨+ASMDISK2/repdb/datafile/undob01.dbf¨ size 256m;
Tablespace created.
SQL> alter system set undo_tablespace=¨undotbs1¨ scope=spfile sid=¨repdb1¨;
System altered.
SQL> alter system set undo_tablespace=¨undotbs2¨ scope=spfile sid=¨repdb2¨;
System altered.
SQL> create undo tablespace undotbs2 datafile ¨+ASMDISK2/repdb/datafile/undob01.dbf¨ size 256m;
Tablespace created.
SQL> alter database add logfile thread 2 group 3 ¨+ASMDISK2/repdb/redofile/redoc01.dbf¨ size 50m;
Database altered.
SQL> alter database add logfile thread 2 group 4 ¨+ASMDISK2/repdb/redofile/redod01.dbf¨ size 50m;
Database altered.
SQL> alter database enable thread 2;
Database altered.酌情對log_archive_dest_n,* _file_dest 等引數進行設定,由於RAC資料庫的各個例項分別在不同節點上執行,一定要確保上述引數的路徑對所有節點均有效,同時各個節點的目錄也應滿足上述引數的需要,避免由目錄不存在導致的資料庫錯誤。
關閉資料庫,並退出sqlplus命令列環境,修改ORACLE_SID以適應多例項環境,先在節一個節點中進行操作:
[oracle@jssdbn2 oradata]$ export ORACLE_SID=repdb2
[oracle@jssdbn2 oradata]$ echo "SPFILE=¨+ASMDISK2/repdb/spfile/spfilerepdb.ora¨" > /data/ora10g/product/10.2.0/db_1/dbs/initrepdb2.ora
[oracle@jssdbn2 oradata]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Mar 25 14:22:54 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 2083368 bytes
Variable Size 88081880 bytes
Database Buffers 188743680 bytes
Redo Buffers 6303744 bytes
Database mounted.
Database opened.
SQL> show parameter cluster;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cluster_database boolean TRUE
cluster_database_instances integer 2
cluster_interconnects string
SQL> set line 150 pages 1000
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------- ----------------------------------------------------------------
2 repdb2 jssdbn2然後再到另一個節點中執行,注意更改ORACLE_SID:
[oracle@jssdbn1 ~]$ export ORACLE_SID=repdb1
[oracle@jssdbn1 ~]$ echo "SPFILE=¨+ASMDISK2/repdb/spfile/spfilerepdb.ora¨" > /data/ora10g/product/10.2.0/db_1/dbs/initrepdb1.ora
[oracle@jssdbn1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Mar 25 14:23:45 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed Size 2083368 bytes
Variable Size 88081880 bytes
Database Buffers 188743680 bytes
Redo Buffers 6303744 bytes
Database mounted.
Database opened.
SQL> set line 150 pages 1000
SQL> show parameter cluster;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cluster_database boolean TRUE
cluster_database_instances integer 2
cluster_interconnects string
SQL> select instance_number,instance_name,host_name from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------- ----------------------------------------------------------------
1 repdb1 jssdbn1查詢gv$檢視看看:
SQL> select instance_number,instance_name,host_name from gv$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- ---------------- ----------------------------------------------------------------
1 repdb1 jssdbn1
2 repdb2 jssdbn2OK ,現在已經是叢集的資料庫了,整個恢復工作基本完成。剩下的比如修改監聽、配置網路服務名,建立金鑰檔案等操作相信大家已經熟悉的不能再熟悉,這裡不再演示相關操作了(注意金鑰檔案也是建議建立到共享儲存端,否則的話就得在各個節點分別建立一份)。
不過這時候通過crs_stat -t檢視的時候,還看不到新建立的repdb資料庫資訊:
[oracle@jssdbn2 ~]$ /data/ora10g/product/10.2.0/crs_1/bin/crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.jssdb.db application OFFLINE OFFLINE
ora....n1.inst application OFFLINE OFFLINE
ora....n2.inst application OFFLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE jssdbn1
ora....N1.lsnr application ONLINE ONLINE jssdbn1
ora....bn1.gsd application ONLINE ONLINE jssdbn1
ora....bn1.ons application ONLINE ONLINE jssdbn1
ora....bn1.vip application ONLINE ONLINE jssdbn1
ora....SM2.asm application ONLINE ONLINE jssdbn2
ora....N2.lsnr application ONLINE ONLINE jssdbn2
ora....bn2.gsd application ONLINE ONLINE jssdbn2
ora....bn2.ons application ONLINE ONLINE jssdbn2
ora....bn2.vip application ONLINE ONLINE jssdbn2這是正常的,因為手動恢復資料庫,其配置資訊並沒有維護到crs中,需要手動處理,操作如下:
[oracle@jssdbn2 ~]$ srvctl add database -d repdb -o $ORACLE_HOME -n repdb -p +ASMDISK2/repdb/spfile/spfilerepdb.ora
[oracle@jssdbn2 ~]$ srvctl add instance -d repdb -i repdb1 -n jssdbn1
[oracle@jssdbn2 ~]$ srvctl add instance -d repdb -i repdb2 -n jssdbn2上述3條命令分別配置了資料庫和兩個例項,此時3項服務剛剛配置完成,crs中尚未同步其狀態,因此需要執行一下srvctl start database,然後再通過crs_stat即可檢視正確的狀態了:
[oracle@jssdbn2 ~]$ srvctl start database -d repdb
[oracle@jssdbn2 ~]$ /data/ora10g/product/10.2.0/crs_1/bin/crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora.jssdb.db application OFFLINE OFFLINE
ora....n1.inst application OFFLINE OFFLINE
ora....n2.inst application OFFLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE jssdbn1
ora....N1.lsnr application ONLINE ONLINE jssdbn1
ora....bn1.gsd application ONLINE ONLINE jssdbn1
ora....bn1.ons application ONLINE ONLINE jssdbn1
ora....bn1.vip application ONLINE ONLINE jssdbn1
ora....SM2.asm application ONLINE ONLINE jssdbn2
ora....N2.lsnr application ONLINE ONLINE jssdbn2
ora....bn2.gsd application ONLINE ONLINE jssdbn2
ora....bn2.ons application ONLINE ONLINE jssdbn2
ora....bn2.vip application ONLINE ONLINE jssdbn2
ora.repdb.db application ONLINE ONLINE jssdbn1
ora....b1.inst application ONLINE ONLINE jssdbn1
ora....b2.inst application ONLINE ONLINE jssdbn2恢復操作至此基本完成。
關於RAC與其它ORACLE特性的應用,請繼續關注下一個系列文章:ORACLE RAC資料庫與DATA GUARD。
全文完,下載pdf版本請至:http://www.5ienet.com/mydesign/article.asp?/html/rid/115.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-660197/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE RAC資料庫的備份與恢復(5)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(4)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(3)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(2)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(1)Oracle資料庫
- oracle資料庫的備份與恢復Oracle資料庫
- Oracle RAC備份與恢復Oracle
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- 備份與恢復:polardb資料庫備份與恢復資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 資料庫的備份與恢復資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- RMAN備份恢復——RAC環境資料庫的備份(zt)資料庫
- RMAN備份恢復--RAC環境資料庫的備份(十)資料庫
- RMAN備份恢復——RAC環境資料庫的備份(一)資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- Oracle資料庫的備份與恢復方式比較Oracle資料庫
- Oracle資料庫備份與恢復的三種方法Oracle資料庫
- mysql的資料庫備份與恢復MySql資料庫
- RAC環境利用備份恢復RAC資料庫(五)資料庫
- RAC環境利用備份恢復RAC資料庫(四)資料庫
- RAC環境利用備份恢復RAC資料庫(三)資料庫
- RAC環境利用備份恢復RAC資料庫(二)資料庫
- RAC環境利用備份恢復RAC資料庫(一)資料庫
- Oracle資料泵的備份與恢復Oracle
- postgresql備份與恢復資料庫SQL資料庫
- mongo資料庫備份與恢復Go資料庫
- Informix資料庫備份與恢復ORM資料庫
- oracle rac 在asm下的備份與恢復OracleASM
- 完全攻略Oracle資料庫的備份與恢復Oracle資料庫
- Oracle資料庫備份與恢復的三種方法(轉)Oracle資料庫
- 成功恢復無備份RAC環境資料庫資料庫
- Oracle資料庫備份與恢復之RMAN2Oracle資料庫
- oracle資料庫備份與恢復 a piece of cake (4)(轉)Oracle資料庫
- 關閉資料庫的備份與恢復資料庫
- rman資料庫全庫備份與恢復資料庫