ORACLE11G搭建DATAGUARD步骤.docx
《ORACLE11G搭建DATAGUARD步骤.docx》由会员分享,可在线阅读,更多相关《ORACLE11G搭建DATAGUARD步骤.docx(9页珍藏版)》请在冰豆网上搜索。
ORACLE11G搭建DATAGUARD步骤
ORACLE11G搭建DATAGUARD步骤
1安装环境
在主机1上安装数据库软件,并建监听和实例,在主机2上安装数据库软件,并建监听,但不建实例。
主机1
主机2
操作系统
redhat6.164位
redhat6.164位
主机名
dg1
db2
IP
192.168.132.3
192.168.132.4
数据库软件版本
oracle11.2.0.1.0
oracle11.2.0.1.0
ORACLE_BASE
/oracle/app/oracle/
/oracle/app/oracle/
ORACLE_HOME
$ORACLE_BASE/product/11.2.0/db_1
$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID
dbtest
闪回区
4G
归档
开启
2主数据库配置
2.1设置数据库强制归档
sqlplus/assysdba
SQL>ALTERDATABASEFORCELOGGING;
SQL>selectforce_loggingfromv$database;
FOR
---
YES
2.2添加STANDBY日志文件
SQL>alterdatabaseaddstandbylogfilegroup4('/oradata/dbtest/redo04.log')size50m;
SQL>alterdatabaseaddstandbylogfilegroup5('/oradata/dbtest/redo05.log')size50m;
SQL>alterdatabaseaddstandbylogfilegroup6('/oradata/dbtest/redo06.log')size50m;
SQL>alterdatabaseaddstandbylogfilegroup7('/oradata/dbtest/redo07.log')size50m;
SQL>select*fromv$logfileorderby1;
2.3修改参数文件
2.3.1生成pfile
SQL>createpfilefromspfile;
SQL>shutdownimmediate;
2.3.2修改pfile
vi$ORACLE_HOME/dbs/initdbtest.ora
在最后添加如下内容:
*.db_unique_name=dbtest1
*.fal_server='dbtest2'
*.fal_client='dbtest1'
*.standby_file_management=auto
*.db_file_name_convert='/oradata/dbtest/','/oradata/dbtest/'
*.log_file_name_convert='/oradata/dbtest/','/oradata/dbtest/'
*.log_archive_config='dg_config=(dbtest1,dbtest2)'
*.log_archive_dest_2='service=dbtest2LGWRSYNCAFFIRMvalid_for=(online_logfiles,primary_role)db_unique_name=dbtest2'
*.log_archive_dest_state_2='ENABLE'
2.3.3生成spfile
SQL>shutdownimmediate
[oracledbserver01~]$cd$ORACLE_HOME/dbs
[oracledbserver01dbs]$mvspfilejkfwdb.oraspfilejkfwdb.ora.bak
SQL>startupnomount
SQL>createspfilefrompfile;
Filecreated.
SQL>showparameteruniq
SQL>shutdownimmediate;
SQL>startup
SQL>showparameterspfile
2.4修改监听配置文件
2.5修改TNS配置文件
[oracledg1admin]$cattnsnames.ora
#tnsnames.oraNetworkConfigurationFile:
/oracle/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
#GeneratedbyOracleconfigurationtools.
DBTEST=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.132.3)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=dbtest1)
)
)
DBTEST1=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.132.3)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=dbtest1)
)
)
DBTEST2=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.132.4)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=dbtest2)
)
)
EXTPROC_CONNECTION_DATA=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2))
)
(CONNECT_DATA=
(SID=PLSExtProc)
(PRESENTATION=RO)
)
)
2.6重启监听服务
lsnrctlstop
lsnrctlstart
2.7配置最大可用模式
SQL>alterdatabasesetstandbydatabasetomaximizeavailability;
Databasealtered.
SQL>exit
2.8备份数据库
[oracledg1admin]$rmantarget/
RMAN>backupdatabaseplusarchivelog;
RMAN>backupcurrentcontrolfileforstandby;
RMAN>exit
备份完成后会在闪回区生产备份文件
3备数据库配置
3.1建立相应的文件目录
包括dump文件目录,闪回区,数据文件目录,可以通过showparameterdest命令查看
mkdir-p/oracle/app/oracle/admin/dbtest/adump
mkdir-p/oracle/app/oracle/admin/dbtest/dpdump
mkdir-p/oracle/app/oracle/diag/rdbms/dbtest1/dbtest/trace
mkdir-p/oracle/app/oracle/diag/rdbms/dbtest1/dbtest/cdump
mkdir-p/oracle/app/oracle/flash_recovery_area
mkdir-p/oradata/dbtest
3.2从主数据库服务器上拷贝文件
注意:
下面命令在主数据库上执行
3.2.1拷贝闪回区内容
[oracledg1admin]$cd/oracle/app/oracle/flash_recovery_area
scp-r./*192.168.132.4:
/oracle/app/oracle/flash_recovery_area/
3.2.2拷贝参数文件
[oracledg1flash_recovery_area]$cd$ORACLE_HOME/dbs
scp./*192.168.132.4:
/oracle/app/oracle/product/11.2.0/db_1/dbs/
3.2.3拷贝密码文件
3.2.4拷贝监听文件和tns文件
[oracledg1dbs]$cd../network/admin/
scp*.ora192.168.132.4:
/oracle/app/oracle/product/11.2.0/db_1/network/admin/
3.3修改监听配置文件
修改ip地址
3.4修改TNS配置文件
修改ip地址
3.5重启监听服务
lsnrctlstop
lsnrctlstart
3.6修改参数文件并启动数据库到nomount
Cd$ORACLE_HOME/dbs
Cpinitdbtest.orainitdbtest.ora.bak
vi$ORACLE_HOME/dbs/initdbtest.ora
去掉上面添加的部分即:
*.db_unique_name=dbtest1
*.fal_server='dbtest2'
*.fal_client='dbtest1'
……
3.7恢复数据库
[oracledg2admin]$rmantargetsys/funo1234dbtest1auxiliary/
RMAN>duplicatetargetdatabaseforstandbynofilenamecheck;
RMAN>exit
3.8修改参数文件
[oracledg2admin]$sqlplus/assysdba
SQL>shutdownimmediate;
vi$ORACLE_HOME/dbs/initdbtest.ora
添加如下内容
*.db_unique_name=dbtest2
SQL>createspfilefrompfile;
3.9启动数据库
SQL>startupnomount;
SQL>alterdatabasemountstandbydatabase;
SQL>alterdatabaserecovermanagedstandbydatabaseusingcurrentlogfiledisconnectfromsession;
3.10验证
主库备库均执行如下命令:
SQL>archiveloglist;
主库
备库
如果最后一行数字相同,说明配置成功
3.11切换到只读模式
SQL>alterdatabaserecovermanagedstandbydatabasecancel;
SQL>alterdatabaseopenreadonly;
3.12切换到同步模式(不需要停库)
SQL>alterdatabaserecovermanagedstandbydatabaseusingcurrentlogfiledisconnectfromsession;