Oracle Standby数据库建立

Oracle Standby数据库建立
===========================================================
作者: tolywang(http://tolywang.itpub.net)
发表于:2005.05.26 09:53
分类: Oracle数据库管理
出处:http://tolywang.itpub.net/post/48/30948
---------------------------------------------------------------

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;          

猜你喜欢

转载自zhengshuo.iteye.com/blog/1912135