我的搭建环境:
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_