[root@localhost ~]# vi /u01/s_pfile.ora
需要修改的内容如下:(没必要照搬,可根据自己的实际情况自行修改,注意红色部分是重点修改的地方)
*.audit_file_dest='/u01/app/oracle/admin/orcl_s/adump'
*.background_dump_dest='/u01/app/oracle/admin/orcl_s/bdump'
*.control_files='/u01/app/oracle/oradata/orcl_s/orcl2control01.ctl','/u01/app/oracle/oradata/orcl_s/orcl2control02.ctl','/u01/app/oracle/oradata/orcl_s/orcl2control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/orcl_s/cdump'
*.user_dump_dest='/u01/app/oracle/admin/orcl_s/udump'
*.db_unique_name=orcl2
*.log_archive_dest_1='location=/u01/arch2'
*.log_archive_dest_2='service=orcl_p.1_tns arch valid_for=(online_logfiles, primary_ro
le) db_unique_name=orcl1'
*.log_archive_dest_state_2=enable
*.fal_server=orcl_p.1_tns
*.fal_client=orcl_s.2_tns
8、配置standby数据库的监听和服务名
[oracle@localhost admin]$ cd $ORACLE_HOME/network/admin
[oracle@localhost admin]$ vi listener.ora?
# listener.ora Network Configuration File: /u01/app/oracle/10.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
? (SID_LIST =
? ? (SID_DESC =
? ? ? (SID_NAME = orcl_s)
? ? ? (ORACLE_HOME = /u01/app/oracle/10.2.0/db_1)
? ? ? (GLOBAL_DBNAME = orcl_s)
? ? )
? )
LISTENER =
? (DESCRIPTION_LIST =
? ? (DESCRIPTION =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.37.1.2)(PORT = 1521))
? ? )
? )
[oracle@localhost admin]$ vi tnsnames.ora?
# tnsnames.ora Network Configuration File: /u01/app/oracle/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
orcl_s.2_tns =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.37.1.2)(PORT = 1521))
? ? )
? ? (CONNECT_DATA =
? ? ? (SID = orcl_s)
? ? ? (SERVER = DEDICATED)
? ? )
? )
orcl_p.1_tns =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = 10.37.1.1)(PORT = 1521))
? ? )
? ? (CONNECT_DATA =
? ? ? (SID = orcl_p)
? ? ? (SERVER = DEDICATED)
"tnsnames.ora" 36L, 764C?
配置完成后重启监听服务
[oracle@localhost admin]$ lsnrctl stop
[oracle@localhost admin]$ lsnrctl start
至此监听和服务配置完成,在primary和standby端用tnsping命令应该能ping都通两个服务,能远程登入两数据库视为配置成功
Connected.
Connected to an idle instance.
9、配置stanby数据库并启动到mount状态,并接受归档文件
任意终端连接到standby数据库
利用s_pfile.ora常见standby的spfile
SQL> create spfile from pfile='/u01/s_pfile.ora';
File created.
SQL> startup mount
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.
连接到primary数据库并设置远程归档路径开启
Connected.
SQL> alter system set log_archive_dest_state_2=enable;
System altered.
查看归档接受情况
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
? ? ? ? ? ? 4
Connected.
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
? ? ? ? ? ? 4
查看standby的归档路径下是否有源数据库传来的归档日志
SQL> !ls /u01/arch2
1_4_840520047.dbf
10、primary数据插入,测试standby数据库能否正常接受
primary端创建表并插入数据
SQL> conn scott/tiger
Connected.
SQL> create table DG_TEST(ID VARCHAR2(10));
Table created.
SQL> insert into DG_TEST?
? 2? values ('DG_TEST')
? 3? /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> /
1 row created.
SQL> select * from DG_TEST;
ID
----------
DG_TEST
DG_TEST
DG_TEST
DG_TEST
SQL> commit;
Commit complete.
切换归档日志,使当前日志归档
SQL> conn / as sysdba
Connected.
SQL> alter system switch