Oracle主从复制.docx
- 文档编号:7889408
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:27
- 大小:3.10MB
Oracle主从复制.docx
《Oracle主从复制.docx》由会员分享,可在线阅读,更多相关《Oracle主从复制.docx(27页珍藏版)》请在冰豆网上搜索。
Oracle主从复制
Oracle主从复制
前言
DataGuard(简称DG),DG是Oracle企业版专有特性。
作用就是用来高可用。
而实现原理就是从主库获取数据到从库,在主库发生异常的时候,从库接管主库,完成身份的变化。
可以一个主库,最多9个从库。
同时分为逻辑standby和物理standby。
一旦创建并配置成standby后,dg负责传输primary数据库redodata到standby数据库,standby数据库通过应用接收到的redodata保持与primary数据库的事务一致。
从库只需要安装数据库软件,数据从主库传输后完成。
硬件以及操作系统需求:
主库和从库运行的操作系统平台必须相同,版本可以有差异,数据库安装路径可以不同。
主从服务器的配置差异最好不要太大,要不切换角色的时候,配置差的切换后,性能会有影响。
主库必须是归档模式,并且forcelogging模式,从库可以是非forcelogging。
一个主节点,可以有逻辑从节点,可以有物理从节点,但是时区和时间设置必须一致,否则同步会出现问题。
DG操作实例
搭建环境(略)
创建数据库Primary(主库)与Standby(从库)
问题注意:
ORA-12541:
TNS:
nolistener
没有监听的原因:
1)查看服务中的监听是否启动;
2)F:
\app\issuser\product\11.2.0\dbhome_1\NETWORK\ADMIN下的
listener.ora文件添加:
(SID_DESC=
(GLOBAL_DBNAME=ORCL)
(ORACLE_HOME=F:
\app\issuser\product\11.2.0\dbhome_1)
(SID_NAME=ORCL)
)
3)若前两种都不行。
使用第三种:
重新配置监听服务
ORA-01031:
insufficientprivileges
ORA-12505:
TNS:
listenerdoesnotcurrentlyknowofSIDgiveninconnectdescriptor
F:
\app\issuser\product\11.2.0\dbhome_1\NETWORK\ADMIN下的
listener.ora文件添加:
(SID_DESC=
(GLOBAL_DBNAME=ORCL)
(ORACLE_HOME=F:
\app\issuser\product\11.2.0\dbhome_1)
(SID_NAME=ORCL)
)
ORA-01034:
oraclenotavailable
原因:
outlin用户被误删除
主库Primary数据库配置及相关操作(数据库实例)
在Primary(主库)上查看归档
即使所有设置都不满足备用归档使用,Oracle会使用一个缺省路径
sqlplussystem/system@primaryassysdba(进入数据库(主库))
archiveloglist(查看)
shutdownimmediate;
startupmount;
注意:
若此处启动不成功的话,修改(主库路径下文件)F:
\app\issuser\product\11.2.0\dbhome_1\NETWORK\ADMIN下的listener.ora文件(具体操作请查看配置主备库的监听文件)
重新启动监听跟服务。
在Primary上修改数据库为强制归档模式
alterdatabasearchivelog;
alterdatabaseopen;
archiveloglist;
=======================或者如下操作===================
alterdatabaseforcelogging;
shutdownimmediate;
shutdownimmediate;
本地创建两个文件(主库Primary上的参数文件及从库standby控制文件)
创建参数文件:
createpfile='E:
\OracleDataFill\archlog\init.ora'fromspfile;(E:
\OracleDataFill\archlog文件夹提前建好,会自动生成init.ora)
创建控制文件:
alterdatabasecreatestandbycontrolfileas'E:
\OracleDataFill\archlog\01.ctl';
shutdownimmediate;
关闭从库Standby库(手动停掉服务)配置文件:
将主库Primary的数据文件复制到从库standby中,覆盖同名文件。
将刚刚创建的参数文件和控制文件(E:
\OracleDataFill\archlog\init.ora和E:
\OracleDataFill\archlog\01.ctl),分别复制到主库primary和从库standby下:
oracle密码文件在windows下默认的位置是$ORACLE_HOME/database目录,默认的文件名是pwdSID.ora(在建库时会生成)
查看当前系统使用的是spfile还是pfile
selectisspecified,count(*)fromv$spparametergroupbyisspecified;
如果 isspecified里有true,表明用spfile进行了指定配置
如果全为false,则表明用pfile启动
查看spfile和pfile的存储位置
showparameterspfile
主库从库都在此路径下。
修改Primary的pfile参数
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER='standby'
*.FAL_CLIENT='primary'
*.STANDBY_FILE_MANAGEMENT='AUTO'
修改Standby参数文件
添加以下内容:
*.log_archive_dest_2='SERVICE=primaryLGWRASYNC'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER=primary
*.FAL_CLIENT=standby
配置主备库的监听文件(主库配置PRIMARY监听,从库配置STANDBY监听)
F:
\app\issuser\product\11.2.0\dbhome_1\NETWORK\ADMIN下的
listener.ora文件
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=CLRExtProc)
(ORACLE_HOME=F:
\app\issuser\product\11.2.0\dbhome_1)
(PROGRAM=extproc)
(ENVS="EXTPROC_DLLS=ONLY:
F:
\app\issuser\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)(SID_DESC=
(GLOBAL_DBNAME=PRIMARY)
(ORACLE_HOME=F:
\app\issuser\product\11.2.0\dbhome_1)
(SID_NAME=PRIMARY)
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=CLRExtProc)
(ORACLE_HOME=F:
\app\issuser\product\11.2.0\dbhome_1)
(PROGRAM=extproc)
(ENVS="EXTPROC_DLLS=ONLY:
F:
\app\issuser\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)(SID_DESC=
(GLOBAL_DBNAME=STANDBY)
(ORACLE_HOME=F:
\app\issuser\product\11.2.0\dbhome_1)
(SID_NAME=STANDBY)
)
)
配置主备库tnsnames.ora文件(主库从库是一样的)
F:
\app\issuser\product\11.2.0\dbhome_1\NETWORK\ADMIN下的tnsnames.ora做修改:
PRIMARY=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=)
)
)
STANDBY=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=)
)
)
主从复制测试(实例间的复制测试)
sqlplussystem/system@primaryassysdba
connsystem/system@primary
createtabletest(namevarchar2(20));
insertintotestvalues('mynameistianwf');
commit;
plsql登入查看表数据
主库:
从库:
DG操作数据库
环境搭建(略)
主库配置数据库相关文件:
监听文件:
listener.ora
服务文件:
tnsnames.ora
添加两个文件(主库Primary上的参数文件及从库standby控制文件)
修改配置文件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 主从 复制