|
primary 库 |
standby 库 | |
|
Ip |
10.8.98.103 |
10.8.98.104 |
|
hostname |
dbserver01 |
dbserver02 |
|
Oracle_sid |
prod1 |
proddg |
|
数据库版本 |
11.2.0.4 |
11.2.0.4 |
|
Db_name |
prod |
prod |
|
Db_unique_name |
prodpri |
prodstd |
|
tnsnames |
tns_primary |
tns_standby |
主机安装oracle,备机只需要安装数据库软件,不需要建库。
1、主机设置归档模式
|
1
2
3
4
5
6
7 |
SQL> archive log list;
|
主机开启force logging 模式
|
1 |
SQL> alter database force logging; |
2、主机添加standby log
|
1
2
3 |
alter database add standby logfile group 21(
|
3. 配置主库的初始化参数,如果配置参数有问题,重启数据库服务就ok。
#dg add alter system set db_unique_name='prodpri' scope=spfile; alter system set log_archive_config='DG_CONFIG=(prodpri,prodstd)' scope=both ; alter system set LOG_ARCHIVE_DEST_1='LOCATION=/oracle/app/oracle/oradata/prod/arch valid_for=(all_logfiles,all_roles) db_unique_name=prodpri' scope=both; alter system set LOG_ARCHIVE_DEST_2='SERVICE=tns_standby LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prodstd' scope=both; alter system set log_archive_format='%t_%s_%r.arc' scope=spfile ; alter system set log_archive_max_processes=8 scope=both ; alter system set db_file_name_convert='/oracle/app/oracle/oradata/prod/','/oracle/app/oracle/oradata/prod/' scope=spfile; alter system set log_file_name_convert='/oracle/app/oracle/oradata/prod/','/oracle/app/oracle/oradata/prod/' scope=spfile; alter system set standby_file_management=AUTO scope=both; alter system set fal_server='tns_standby' scope=both ; alter system set FAL_CLIENT='tns_primary' scope=both ;
重启数据库服务,并查询是否生效
set linesize 500 pages 0
col value for a90
col name for a50
select name, value from v$parameter where name in ('db_name','db_unique_name','log_archive_config', 'log_archive_dest_1','log_archive_dest_2','log_archive_dest_state_1','log_archive_dest_state_2','remote_login_passwordfile','log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert', 'log_file_name_convert', 'standby_file_management');
4.根据spfile创建pfile
SQL> create pfile from spfile;
5.主机更改 lisenter.ora,tnsnames.ora
[oracle@dbserver01 admin]$ cat listener.ora # listener.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = prod) (ORACLE_HOME = /oracle/app/oracle/product/11.2.0) (SID_NAME = prod1)) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.103)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = /oracle/app/oracle [oracle@dbserver01 admin]$
[oracle@dbserver01 admin]$ cat tnsnames.ora # tnsnames.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/tnsnames.ora # Generated by Oracle configuration tools. PROD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver01)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prod) ) ) tns_primary = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.103)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prod) ) ) tns_standby = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prod) ) )
重启数据库监听。 5. 拷贝主机上 lisenter.ora,tnsnames.ora (需要更改部分),pfile文件 (部分参数需要更改),密码文件 (需要改名)到备机。pfile更改以下几行 db_unique_name=' prodstd' scope=spfile;LOG_ARCHIVE_DEST_1='LOCATION=/oracle/app/oracle/oradata/prod/arch valid_for=(all_logfiles,all_roles) db_unique_name= prodstd' scope=both;LOG_ARCHIVE_DEST_2='SERVICE= tns_primary LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME= prodpri' scope=both;fal_server=' tns_primary' scope=both ;FAL_CLIENT=' tns_standby' scope=both ;*.dispatchers='(PROTOCOL=TCP) (SERVICE=prod dgXDB)'
备机根据参数文件initproddg.ora创建相应的文件夹
|
1
2
3 |
mkdir -p /oracle/app/oracle/admin/prod/adump
|
更改完之后,create spfile from pfile,并且从spfile重新启动 备机 lisenter.ora
[oracle@dbserver02 admin]$ cat listener.ora # listener.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = prod) (ORACLE_HOME = /oracle/app/oracle/product/11.2.0) (SID_NAME = proddg)) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = /oracle/app/oracle [oracle@dbserver02 admin]$
并重新启动监听 备机 tnsnames.ora
[oracle@dbserver02 admin]$ cat tnsnames.ora # tnsnames.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/tnsnames.ora # Generated by Oracle configuration tools. PROD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prod) ) ) tns_primary = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.103)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prod) ) ) tns_standby = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = prod) ) )
6、测试tnsping ok,主备机都启动到nomount状态,均从spfile启动
然后主机打开数据库,备机打开到nomount状态。 7. 实施数据库克隆通过rman duplicate (在备机操作) 请参照 http://blog.itpub.net/70004783/viewspace-2788445/
