Data+Guard+配置手册NEWWord格式.docx
- 文档编号:17526032
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:21
- 大小:132.93KB
Data+Guard+配置手册NEWWord格式.docx
《Data+Guard+配置手册NEWWord格式.docx》由会员分享,可在线阅读,更多相关《Data+Guard+配置手册NEWWord格式.docx(21页珍藏版)》请在冰豆网上搜索。
主库和从库硬件的配置可以不同,比如:
CPU数量、内存大小、存储配置等;
5.主库和从库可以是单实例的数据库,也可以是多实例的RAC(OracleRealApplicationCluster,“真正应用集群”)数据库;
6.每个主从库必须有它自己的控制文件;
7.如果把主从库放在了一个系统中,则必须调整初始化参数;
8.只要使用DataGuard,就要保持主库是ForceLogging模式;
如果在主库上使用了NoLogging,操作不生产日志,因此数据也不会传递到从库;
9.管理主从库的用户必须具有SYSDBA的权限。
2.本文档环境说明
2.1主库配置
操作系统:
win2003server
数据库:
ora9i(9.2.0.1.0)
IP地址:
192.168.3.21
主机名:
try001
数据库实例名(SID):
locdmis
2.2从库配置
192.168.3.24
try004
standby
2.3数据库目录说明
本文档中出现的数据库文件路径,请根据实际情况进行相应的调整;
3.DATAGUARD配置步骤
3.1步骤1安装Oracle
主库和从库的Oracle安装的时候都选择相同的安装路径E:
\oracle\ora92;
并且先不要安装数据库,即在安装过程中“数据库配置”一项下面选择“只安装软件”;
3.2步骤2主库上使用DBCA建一个数据库
在主库上使用DBCA(DatabaseConfigurationAssistant)建一个数据库,SID设为locdmis(先不导入到数据库,DG做完后再导入),从库先不用创建实例;
本次实施的第1,2步也可以操作如下:
在主库安装Oracle的时候,直接建立数据库实例locdmis,待DataGuard配置成功后将地调数据库备份文件(***.dmp)导入到主数据库中,若从库中已经建立了数据库,则用DBCA将其删除掉。
3.3步骤3登录到主库
用sqlplus登录到主库:
运行—>
cmdsqlplus,输入DBA的用
用户名:
sys@locdmisassysdba
密码:
sys
3.4步骤4设置主库归档路径
设置主库归档路径为e:
\oracle\ora92\database\Archive:
Sql>
altersystemsetlog_archive_dest_1='
LOCATION=e:
\oracle\ora92\database\ArchiveMANDATORY'
scope=both;
3.5步骤5主库挂载模式
将主库实例、数据库关闭,然后启动实例,但不打开数据库,只启动到数据库挂载模式
shutdownimmediate;
startupmount;
3.6步骤6主库设置成归档状态和自动归档模式
将主库设置成归档状态和自动归档模式:
alterdatabasearchivelog;
altersystemsetlog_archive_start=truescope=spfile;
3.7步骤7创建从库的控制文件
在主库上面创建从库的控制文件standby.ctl:
alterdatabasecreatestandbycontrolfileas'
e:
\oracle\oradata\standby.ctl'
;
3.8步骤8创建从库的初始化参数文件
在主库上面创建从库的初始化参数文件standby.ora(将其拷贝回从库后转换成从库的spfile):
createpfile='
\oracle\oradata\standby.ora'
fromspfile;
3.9步骤9查看主库的数据文件及其的位置
查看主库的数据文件及其的位置:
selectnamefromv$datafile;
记下查询结果中的数据文件的位置。
例如:
3.10步骤10关闭主库实例
主库:
关闭实例:
Sql>
3.11步骤11复制文件
A.将第7步中的standby.ctl(e:
\oracle\oradata\standby.ctl)、
第8步中的standby.ora(e:
\oracle\oradata\standby.ora)、
第9步中的数据文件、
还有E:
\oracle\oradata\locdmis路径下面的联机日志文件(REDO.LOG)、E:
\oracle\ora92\database里面的口令文件PWDlocdmis.ora备份出来,拷贝到从库中;
B.在从库中创建路径E:
\oracle\oradata\locdmis,存放第7步中standby.ctl、第9步中数据文件、联机日志文件;
C.在从库:
创建路径E:
\oracle\admin\locdmis,在里面创建空文件夹bdump、cdump、udump、create、pfile;
D.在从库:
将第8步中standby.ora放到E盘根目录下面;
E.将口令文件PWDlocdmis.ora更名为PWDSTANDBY.ora,放在从库的E:
\Oracle\ora92\database下面;
3.12步骤12启动主库实例和数据库
回到主库,启动主库实例和数据库:
startup
3.13步骤13创建实例
转回到从库
A.手动创建服务OracleServiceSTANDBY:
运行—》cmd:
Oradim-new-sidSTANDBY-startmodemanual
B.设置环境变量:
“我的电脑”右击—》属性—》高级—》环境变量
在环境变量的“Administrator的用户变量”一栏里面新建一个值,变量名为ORACLE_SID,变量值为STANDBY(服务名);
在环境变量的“系统变量”一栏里面新建一个值,变量名为ORACLE_SID,变量值为STANDBY(服务名)
3.14步骤14创建监听器
创建从库监听器OracleOraHome92TNSListener:
进入NetConfigurationAssistant,使用“监听程序配置”来创建从库的监听器,同时会在E:
\oracle\ora92\network\admin下面生成listener.ora文件;
3.15步骤15配置本地NET服务名
在从库配置本地NET服务名:
进入NetConfigurationAssistant,使用“本地NET服务名配置”来配置,同时会在E:
\oracle\ora92\network\admin下面生成tnsnames.ora文件;
3.16步骤16配置listener.ora文件
1.配置主、从库listener.ora文件
配置主库listener.ora文件,如下内容:
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=try001)(PORT=1521))
)
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=C:
\oracle\ora92)
(PROGRAM=extproc)
(GLOBAL_DBNAME=locdmis)
(SID_NAME=locdmis)
配置从库listener.ora文件,如下内容:
(ADDRESS=(PROTOCOL=TCP)(HOST=try004)(PORT=1521))
(SID_NAME=standby)
2.配置主、从库的tnsnames.ora文件
配置主、从库的tnsnames.ora,都将里面的内容设置成如下内容:
STANDBY=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.24)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=locdmis)
LOCDMIS=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.3.21)(PORT=1521))
3.17步骤17修改初始化参数文件standby.ora
从库:
修改E根目录下面的初始化参数文件standby.ora,里面的全部内容如下(删除了原来的control_files参数,将instance_name改成了STANDBY,最后面的7行粗体部分是新添加的内容):
*.aq_tm_processes=1
*.background_dump_dest='
C:
\oracle\admin\locdmis\bdump'
*.compatible='
9.2.0.0.0'
*.core_dump_dest='
\oracle\admin\locdmis\cdump'
*.db_block_size=8192
*.db_cache_size=16777216
*.db_domain='
'
*.db_file_multiblock_read_count=32
*.db_name='
locdmis'
*.dispatchers='
(PROTOCOL=TCP)(SERVICE=locdmisXDB)'
*.fast_start_mttr_target=300
*.hash_area_size=1048576
*.hash_join_enabled=TRUE
*.instance_name='
standby'
*.java_pool_size=33554432
*.job_queue_processes=10
*.large_pool_size=8388608
*.log_archive_dest_1='
\oracle\ora92\database\Archive'
*.log_archive_start=TRUE
*.open_cursors=300
*.pga_aggregate_target=33554432
*.processes=150
*.query_rewrite_enabled='
TRUE'
*.remote_login_passwordfile='
EXCLUSIVE'
*.shared_pool_size=50331648
*.sort_area_size=1048576
*.star_transformation_enabled='
FALSE'
*.timed_statistics=TRUE
*.undo_management='
AUTO'
*.undo_retention=10800
*.undo_tablespace='
UNDOTBS1'
*.user_dump_dest='
\oracle\admin\locdmis\udump'
*.standby_file_management=AUTO
*.remote_archive_enable=TRUE
*.lock_name_space='
*.fal_server='
*.fal_client='
*.standby_archive_dest='
*.control_files='
\oracle\oradata\locdmis\standby.ctl'
仔细做好该步骤
3.18步骤18创建从库的spfile
进入sqlplus将standby.ora创建成从库的spfile:
先参照步骤3登录到从库数据库,
createspfilefrompfile='
\standby.ora'
3.19步骤19将从库设置成standby模式
启动从库的实例,并且将从库设置成standby模式:
(如果:
alterdatabasemountstandbydatabase;
不成功,出现错误ORA-00205,先shutdownimmediate;
在检查standby.ora文件的路径是否正确,再重复第18步。
)
startupnomount;
3.20步骤20从库启动日志应用服务
在从库启动日志应用服务:
alterdatabaserecovermanagedstandbydatabasedisconnectfromsession;
将从库处于maximumprotection模式下(可以不设置,但为了确保绝无数据丢失,推荐使用)
SQL>
alterdatabasesetstandbydatabasetomaximizeperformance;
3.21步骤21启动到物理从库的归档
转到主库,启动到物理从库的归档:
ALTERSYSTEMSETLOG_ARCHIVE_DEST_2='
SERVICE=standbyreopen=30'
SCOPE=BOTH;
ALTERSYSTEMSETLOG_ARCHIVE_DEST_STATE_2=ENABLESCOPE=BOTH;
3.22步骤22校验DataGuard的运转
A.主库,归档当前日志:
ALTERSYSTEMARCHIVELOGCURRENT;
或
altersystemswitchlogfile;
B.从库,校验归档日志是否正常接收:
SELECTSEQUENCE#,FIRST_TIME,NEXT_TIMEFROMV$ARCHIVED_LOGORDERBYSEQUENCE#;
C.从库,查看新的归档日志是否正常用于恢复:
SELECTSEQUENCE#,APPLIEDFROMV$ARCHIVED_LOGORDERBYSEQUENCE#;
SEQUENCE#APP------------
8YES
9YES
10YES
11YES
如果都是像以上那样的内容,都是YES的话,那就成功了。
也可以分别查看主从库的E:
\oracle\ora92\database\archive文件夹里面的内容,如果从库的和主库的内容一致,就算dataguard配置成功了。
3.23步骤23测试查询数据
这个时候从库只是将日志文件拿过来存放起来,但并没有执行日志文件,所以在主库上所做的操作无法在从库上得到结果,即无法在从库上查询数据。
要在从库上查询数据,要执行以下语句:
在从库上用sysdba用户连接
alterdatabaserecovermanagedstandbydatabasedisconnectfromsession;
alterdatabaserecovermanagedstandbydatabasecancel;
alterdatabaseopenreadonly;
查询数据即可。
查询完成以后,一定要恢复从库为恢复模式
这个功能的可以用来查询前一天(或者前若干时间)以前的数据,比如报表之类的,因为今天只能查询昨天以前的报表,对数据的同步性的要求不是那么严格。
查询完后一定要将从库设回恢复模式。
DataGuard配置完成。
在主库建表空间(表空间参照locdmis表空间.txt),导入locdmis.dmp数据库。
(impsystem/system@locdmisfull=yfile=’文件路径’)
修改参数ARCHIVE_LAG_TARGET,可以控制归档文件的传输时间。
(一般为1800)
4.主备数据库切换
============以下为主备数据库切换步骤=============
4.1主、从库切换前提
做主、从库切换,必须在主库和从库都运行正常的情况下。
4.2步骤24检查主库和从库的初始化参数设置
检查主库和从库的初始化参数设置,常规的检查包括:
showparameterfal;
A.确保fal_server,fal_client值设置正确
B.确保log_archive_dest_n参数设置正确
C.确保STANDBY_FILE_MANAGEMENT值正确
1.Sql>
showparameterfal;
若其值与上图中不一致,则执行以下语句
Altersystemsetfal_client=’locdmis’
Altersystemsetfal_server=’standby’
2.Sql>
showparameterlog_archive;
检查log_archive_dest_1,log_archive_dest_2,log_archive_dest_state_1,log_archive_dest_state_2,log_archive_start的值是否和上图一致,若不一致,执行Altersystemsetname=‘value’进行相应的修改。
Name,value分别用图中的值代替。
3.sql>
showparameterstandby;
Altersystemsetstandby_archive_dest=’c:
\oracle\ora92\database\archive’
Altersystemsetstandby_file_managedment=’AUTO’
备库:
设置与主库类似,实际值见下图
1.sql>
2.sql>
showparameterlog_archive;
4.3步骤25切换测试(Switchover)
必须遵守先主后备的顺序
1、在主库
selectswitchover_statusfromv$database;
如果是tostandby或一个sessionsactive时可以正常切换.
直接执行ALTERDATABASECOMMITTOSWITCHOVERTOPHYSICALSTANDBY;
否则执行:
ALTERDATABASECOMMITTOSWITCHOVERTOPHYSICALSTANDBYWITHSESSIONSHUTDOWN;
2、在备库
SELECTSWITCHOVER_STATUSFROMV$DATABASE;
如果是to_primary或一个sessionsactive
可以正常切换.
直接执行:
ALTERDATABASECOMMITTOSWITCHOVERTOPRIMARY;
ALTERDATABASECOMMITTOSWITCHOVERTOPRIMARYWITHSESSIONSHUTDOWN;
startup;
主、从库切换成功;
4.4步骤26恢复主备库
重复步骤25
5.主库瘫痪后,切换备库为主库
5.1说明
当主库遇到突发性损坏时,尽量恢复主库,如果实在恢复不了,那么按步骤27操作。
恢复主库:
但是在操作完步骤27后,从库切换
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Data Guard 配置 手册 NEW
![提示](https://static.bdocx.com/images/bang_tan.gif)