RedHat搭建物理Data Guard(一)

2015-07-16 12:07:12 · 作者: · 浏览: 11

我的搭建环境:


primary机上装oracle软件并创建数据库orcl


standby机上只装oralce软件,无需装数据库


基本配置:


源数据库:


IP:10.37.1.1


数据库SID:orcl_p


db_unique_name:orcl1


standby数据库:


IP:10.37.1.2


数据库SID:orcl_s


db_unique_name:orcl2


配置步骤:


1、配置primary数据库归档,并设置本地归档路径


SQL> shutdown immediate;


Database closed.


Database dismounted.


ORACLE instance shut down.


SQL> startup mount


ORACLE instance started.


Total System Global Area? 167772160 bytes


Fixed Size? ? ? ? ? ? ? ? ? 1218316 bytes


Variable Size? ? ? ? ? ? ? 83888372 bytes


Database Buffers? ? ? ? ? 79691776 bytes


Redo Buffers? ? ? ? ? ? ? ? 2973696 bytes


Database mounted.


SQL> alter database archivelog;


Database altered.


SQL> alter database open;


Database altered.


SQL> alter system set log_archive_dest_1='location=/u01/arch';


System altered.


SQL> archive log list


Database log mode? ? ? ? ? ? Archive Mode


Automatic archival? ? ? ? ? ? Enabled


Archive destination? ? ? ? ? ? /u01/arch


Oldest online log sequence? 2


Next log sequence to archive? 4


Current log sequence? 4


2、将primary数据库置于force logging模式


SQL> select force_logging from v$database;


FOR


---


NO


SQL> alter database force logging;


Database altered.


SQL> select force_logging from v$database;


FOR


---


YES


3、创建并修改primary数据库的初始化参数文件


SQL> create pfile='/u01/p_pfile.ora' from spfile;


File created.


[oracle@localhost ~]$ vi /u01/p_pfile.ora


修改如下内容:


*.db_unique_name=orcl1


*.log_archive_config='dg_config=(orcl1,orcl2)'


*.log_archive_dest_2='service=orcl_s.2_tns arch valid_for=(online_logfiles,primary_role)db_unique_name=orcl2'


*.log_archive_dest_state_2=defer


*.fal_server=orcl_s.2_tns


*.fal_client=orcl_p.1_tns


*.db_file_name_convert='/u01/app/oracle/oradata/orcl', '/u01/app/oracle/oradata/orcl_s'


*.log_file_name_convert='/u01/app/oracle/oradata/orcl', '/u01/app/oracle/oradata/orcl_s'


*.standby_file_management=auto


关闭数据库利用修改后的pfile创建spfile


SQL> shutdown immediate


Database closed.


Database dismounted.


ORACLE instance shut down.


SQL> !export ORACLE_SID=orcl_p


SQL> create spfile from pfile='/u01/p_pfile.ora';


File created.


SQL> startup


ORACLE instance started.


Total System Global Area? 167772160 bytes


Fixed Size? ? ? ? ? ? ? ? ? 1218316 bytes


Variable Size? ? ? ? ? ? ? 62916852 bytes


Database Buffers? ? ? ? ? 100663296 bytes


Redo Buffers? ? ? ? ? ? ? ? 2973696 bytes


Database mounted.


Database opened.


4、创建备份:


创建standby的控制文件:


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


Database altered.


创建所有的数据文件备份(此处仅以users表空间下的数据文件为例,其他数据文件均要备份)


SQL> alter tablespace users begin backup;


Tablespace altered.


SQL> !cp /u01/app/oracle/oradata/orcl/users01.dbf /u01


SQL> alter tablespace users end backup;


Tablespace altered.


5、配置primary监听和tns服务


[oracle@localhost ~]$ cd $ORACLE_HOME/network/admin


[oracle@localhost admin]$ vi listener.ora


配置内容如下:


SID_LIST_LISTENER =


? (SID_LIST =


? ? (SID_DESC =


? ? ? (SID_NAME = orcl_p)


? ? ? (ORACLE_HOME = /u01/app/oracle/10.2.0/db_1)


? ? ? (GLOBAL_DBNAME = orcl_p)


? ? )


? )


LISTENER =


? (DESCRIPTION_LIST =


? ? (DESCRIPTION =


? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.37.1.1)(PORT = 1521))


? ? )


? )


配置tns


[oracle@localhost admin]$ vi tnsnames.ora


配置内容如下:


orcl_p.1_tns =


? (DESCRIPTION =


? ? (ADDRESS_LIST =


? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.37.1.1)(PORT = 1521))


? ? )?


? ? (CONNECT_DATA =


? ? ? (SID = orcl_p)


? ? ? (SERVER = DEDICATED)


? ? )


? )


orcl_s.2_tns =


? (DESCRIPTION =


? ? (ADDRESS_LIST =


? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.37.1.2)(PORT = 1521))


? ? )?


? ? (CONNECT_DATA =


? ? ? (SID = orcl_