Oracle Standby資料庫建立

tolywang發表於2005-05-26

          Standby database 是為Primary database 做的備份,是透過Primary database 不斷產生出
來的Archived log files 來實現的。Primary database處於archive mode 的狀態,持續送出
archived log files 給Standby database,而standby database 則處於recovery mode,持續
apply primary database 的archived log files來實現Database備份.      


 1. Red Hat Enterprise Linux 安裝

2. Oracle 軟體安裝   

3. 建立與Primay Database相同SID的資料庫(或者手工建立相關例項目錄也可以)

4. 開始建立Standby 資料庫

    a. 初始化檔案及密碼檔案複製

    b.  表空間檔案複製 

          對於每一個表空間作如下處理可以先  select * from  v$datafile 看看是否有檔案處於offline 狀態 )  

                 Primary Database   SQL> alter tablespace  tablespace_name  begin bacckup  ; 

                 standby server ftp primary database 上複製這個表空間對應的資料檔案

                 對應的資料檔案複製完畢後, Primary Database SQL> alter tablespace tablespace_name end backup ;  

                 這樣依次類推, 直到複製完所有online 的資料檔案為止

     c. 控制檔案的複製。

             Primary Database   SQL > alter  database create standby controlfile  as  '/u01/standby.ctl'  ; 

             複製Primary Database 上的 /u01/standby.ctl  Standby 資料庫上相應的控制檔案目錄下。

                     cp    standby.ctl     controlfile01.ctl  

                     cp    standby.ctl     controlfile02.ctl  

                     cp    standby.ctl     controlfile03.ctl 

    d. Primary Database Server 上強行歸檔   SQL >  alter system switch logfile ; 

    e. (可選) Primary Database Server 上的listener.ora tnsnames.ora 檔案複製到standby database  

    f . Primary Database init.ora 初始化引數檔案中加入或檢查一下語句(如果本來就有,不用新增)     

log_archive_start = true   

log_archive_dest_1 = “location=/u01/product/oracle/oradata/SFIS/archive” 

log_archive_dest_2 = “service=standby optional reopen=60”   

log_archive_dest_state_1=enable    

log_archive_dest_state_2=enable    

log_archive_min_succeed_dest=1       

  

 

g.  更改Primary Database 上的tnsnames.ora 檔案  .      

standby =      

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))      ------192.168.0.2 standby db ip .

)

(CONNECT_DATA =

(SERVICE_NAME = sfis) 

) )  

 

h . 修改 standby 上的init.ora 檔案  .   

log_archive_start = false 

log_archive_dest_1 = "location=/u01/product/oracle/oradata/SFIS/archive"

standby_archive_dest = "/u01/product/oracle/oradata/SFIS/archive"

log_archive_format = "log_%S.ARC" 

 

i. 修改 standby 上的 Listener.ora 檔案  

LISTENER = 

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.24.16.24)(PORT = 1521)))

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))) )

 

j . standby 上的開啟監聽器, 並開啟, mount standby 資料庫.   . 

SQL>lsnrctl start;   

SQL>lsnrctl status;     

SQL>startup nomount pfile=/u01/product/admin/sfis/pfile/init.ora

SQL>alter database mount standby database;

SQL>recovery automatic standby database; 

SQL>recovery managed standby database;    

Note: The windows is open forever;          

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84338/,如需轉載,請註明出處,否則將追究法律責任。

相關文章