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=standbyoptional 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;