Oracle DG搭建.docx
- 文档编号:9048180
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:26
- 大小:325.14KB
Oracle DG搭建.docx
《Oracle DG搭建.docx》由会员分享,可在线阅读,更多相关《Oracle DG搭建.docx(26页珍藏版)》请在冰豆网上搜索。
OracleDG搭建
*******学院
实习报告
(课程置换:
****实训)
姓名:
学号:
专业:
班级:
实习单位指导教师:
校内指导教师:
实习项目:
OracleDataGuard(数据卫士)环境搭建项目
实习单位名称:
实习起止时间:
自年月日至年月日
第一部分实习报告
1.项目描述
1.1DG的整体配置
DG是一个整体的配置环境,包含一个生产库和一个或者多个备库;在整个DG环境中,众多应用访问的生产库,也称之为primarydatabase即主库;primarydatabase可以个单实例的数据库,也可以是一个RAC环境;备库是一种主库事务级别的一致性副本;备库的类型有物理备库、逻辑备库和快照备库。
图1.1DG拓扑图
1.2DG的相关服务
1.2.1RedoTransportServices(日志传输服务)
负责自动将主库的redodata传输到备库上去的服务;
职责:
A.传输日志到备库;
B.管理有可能发生的日志gap;
C.自动获取missing的redo数据;
1.2.2ApplyServices(应用服务)
物理备库采用的是redoapply;
图1.2物理备库拓扑图
逻辑备库采用的是sqlapply即将日志转化成SQL;
图1.3逻辑备库拓扑图
1.2.3RoleTransitions(角色转换服务)
Switchover:
转换primary数据库与standby数据库,switchover可以确保不会丢失数据。
Failover:
当primary数据库出现故障并且不能被及时恢复时,会调用failover将一个standby数据库转换为新的primary数据库。
在最大保护模式或最高可用性模式下,failover可以保证不会丢失数据。
1.3DG的数据保护模式
(1)MAXIMIZEPERFORMANCE(最大性能模式):
这种模式应当可以说是从8i继承过来的备用服务器模式,异步传送,无数据同步检查,可能丢失数据,但是能获得主节点的最大性能,在不影响主库性能的情况下,提供最高级别的数据保护模式。
(2)MAXIMIZEAVAILABILITY(最大可用模式):
无数据丢失模式,允许数据分歧,允许异步传送。
正常情况下运行在最大保护模式,在主节点与备用节点的网络断开或连接不正常时,自动切换到最大性能模式,主节点的操作还是可以继续的。
在网络不好的情况下有较大的性能影响。
(3)MAXIMIZEPROTECTION(最大保护模式):
最大数据保护与无数据分歧,LGWR将同时传送到备用节点,在主节点事务确认之前,备用节点也必须完全收到日志数据。
如果网络不好,引起LGWR不能传送数据,将引起严重的性能问题,导致主节点DOWN机。
最大保护
最高可用
最高性能
REDO写进程
LGWR
LGWR
LGWR或ARCH
网络传输模式
SYNC
SYNC
LGWR进程时SYNC或ASYNC,ARCH进程时SYNC
磁盘写操作
AFFIRM
AFFIRM
AFFIRM或NOAFFIRM
是否需要standbyredologs
YES
YES
可没有但推荐有
1.4DG当中涉及的日志分类
onlineredolog:
--在线重做日志(主库生成在线重做日志,需要传递给备库)
archivedlog:
--归档日志(在线重做日志的归档)
standbyredolog:
--备库的重做日志(和日志传输模式与DG保护模式有关)
2.项目实习环境介绍
2.1硬件环境
服务器:
惠普ProLiantDL160Gen9(783366-AA5)-1U-机架式服务器
CPU:
INTELXeonE5-2603v3
AMD:
4核心CPU或以上
内存:
16GB
系统:
WIN764位
硬盘:
内置固态硬盘空间200G
2.2软件环境
生产环境均采用64位系统和数据库软件;
采用vmwareworkstation10虚拟机软件作为安装平台;
虚拟机系统:
OracleEnterpridbseLinux6(64位);
数据库版本:
Oracle11g_11204_x86_64(64位);
2.3基础要求
2.3.1基本配置:
系统要求最低配置内存2G,swap分区4G,根分区40G,装好系统后先配置好yum,IP地址,/etc/sysconfig/network文件中的主机名,以及/etc/hosts文件中的IP地址和主机名的对应关系。
主库IP:
172.16.66.253
主库主机名:
pridb
备库IP:
172.16.66.254
备库主机名:
stddb
3.搭建DataGuard
3.1将数据库改为强制日志模式
3.1.1查看当前是否强制日志模式:
SYS>selectname,log_mode,force_loggingfromv$database;
SYS>alterdatabaseforcelogging;
Databasealtered.
SYS>selectname,log_mode,force_loggingfromv$database;
3.2创建密码文件
将主库的密码文件直接copy到备库,重命名后使用,备库的密码文件需要跟主库一致,否则导致日志传输不到备库。
[oracledbs]$scporapwpridb172.16.66.254:
$ORACLE_HOME/dbs/orapwstddb
3.3创建standbyredolog日志组
原则:
A.standbyredolog的文件大小与primary数据库onlineredolog文件大小相同
B.standbyredolog日志文件组的个数依照下面的原则进行计算:
standbyredolog组数公式>=(每个instance日志组个数+1)*instance个数
3.3.1查看主库当前线程与日志组的对应关系及日志组的大小:
SYS>selectthread#,group#,bytes/1024/1024,statusfromv$log;
如上图所示,现在的环境有三组redolog,每个日志组的大小都是100M,
所以Standbyredolog组数>=(4+1)*1==5
所以至少需要创建5组Standbyredolog,大小均为100M
3.3.2查看主库当前有哪些日志组及其成员:
SYS>colmemberfora50
SYS>selectgroup#,memberfromv$logfile;
GROUP#MEMBER
------------------------------------------------------------
4/u01/app/oracle/oradata/pridb/redo04.log
3/u01/app/oracle/oradata/pridb/redo03.log
2/u01/app/oracle/oradata/pridb/redo02.log
1/u01/app/oracle/oradata/pridb/redo01.log
3.3.3手动创建standbylog日志组所需的目录:
由于已经存在group1-4,所以group号只能从5开始
SYS>alterdatabaseaddstandbylogfilegroup5
2'/u01/app/oracle/oradata/standbylog/stddb_redo05.log'
3size100m;
Databasealtered.
SYS>alterdatabaseaddstandbylogfilegroup6
2'/u01/app/oracle/oradata/standbylog/stddb_redo06.log'
3size100m;
Databasealtered.
SYS>alterdatabaseaddstandbylogfilegroup7
2'/u01/app/oracle/oradata/standbylog/stddb_redo07.log'
3size100m;
Databasealtered.
SYS>alterdatabaseaddstandbylogfilegroup8
2'/u01/app/oracle/oradata/standbylog/stddb_redo08.log'
3size100m;
Databasealtered.
SYS>alterdatabaseaddstandbylogfilegroup9
2'/u01/app/oracle/oradata/standbylog/stddb_redo09.log'
3size100m;
Databasealtered.
3.3.4查看standby日志组的信息:
SYS>selectgroup#,sequence#,status,bytes/1024/1024fromv$standby_log;
3.3.5查看当前有哪些日志组及其成员:
SYS>setpagesize100
SYS>colmemberfora60
SYS>selectgroup#,memberfromv$logfileorderbygroup#;
GROUP#MEMBER
------------------------------------------------------------------------
1/u01/app/oracle/oradata/pridb/redo01.log
2/u01/app/oracle/oradata/pridb/redo02.log
3/u01/app/oracle/oradata/pridb/redo03.log
4/u01/app/oracle/oradata/pridb/redo04.log
5/u01/app/oracle/oradata/standbylog/stddb_redo05.log
6/u01/app/oracle/oradata/standbylog/stddb_redo06.log
7/u01/app/oracle/oradata/standbylog/stddb_redo07.log
8/u01/app/oracle/oradata/standbylog/stddb_redo08.log
9/u01/app/oracle/oradata/standbylog/stddb_redo09.log
3.4修改主库的pfile参数文件
3.4.1查看spfile的路径:
SYS>showparameterspfile;
3.4.2用spfile创建一个pfile,用于修改:
SYS>createpfilefromspfile;
3.4.3修改主库的pfile:
[oracle~]$cd$ORACLE_HOME/dbs
[oracledbs]$viminitpridb.ora
pridb.__db_cache_size=125829120
pridb.__java_pool_size=4194304
pridb.__large_pool_size=4194304
pridb.__oracle_base='/u01/app/oracle'#ORACLE_BASEsetfromenvironment
pridb.__pga_aggregate_target=146800640
pridb.__sga_target=272629760
pridb.__shared_io_pool_size=0
pridb.__shared_pool_size=125829120
pridb.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/pridb/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/pridb/control01.ctl','/u01/app/oracle/fast_recovery_area/pridb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='pridb'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4227858432
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=pridbXDB)'
*.memory_target=419430400
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
手动添加如下行:
*.db_unique_name='pridb'
*.log_archive_config='dg_config=(pridb,stddb)'
*.log_archive_dest_1='location=/u01/app/arch/pridbvalid_for=(all_logfiles,all_roles)db_unique_name=pridb'
*.log_archive_dest_2='service=stddbvalid_for=(online_logfiles,primary_role)db_unique_name=stddb'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=4
*.fal_server='stddb'
*.fal_client='pridb'
*.db_file_name_convert='/u01/app/oracle/oradata/stddb','/u01/app/oracle/oradata/pridb'
*.log_file_name_convert='/u01/app/oracle/oradata/stddb','/u01/app/oracle/oradata/pridb'
*.standby_file_management='auto'
修改完毕,保存退出
3.4.4手工创建/u01/app/arch/pridb目录:
[oracledbs]$mkdir/u01/app/arch/pridb-pv
mkdir:
createddirectory`/u01/app/arch'
mkdir:
createddirectory`/u01/app/arch/pridb'
3.5创建spfile
3.5.1一致性关闭数据库:
SYS>shutdownimmediate;
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
3.5.2生成动态参数文件spfile:
SYS>createspfilefrompfile;
3.5.3把数据库改为归档模式:
首先需要把数据库启动到mount状态
SYS>startupmount;
ORACLEinstancestarted.
Databasemounted.
SYS>alterdatabasearchivelog;启用归档模式
Databasealtered.
SYS>alterdatabaseopen;OPEN数据库
Databasealtered.
SYS>archiveloglist;查看是否启用归档模式
如上图,归档路径已经改为/u01/app/arch/pridb,证明对pfile的修改已生效
3.5.4查看当前数据库是否使用spfile启动:
SYS>showparameterspfile;
如上图,若能看到spfile的路径,则证明数据库是使用spfile启动的,若没有值,则说明是用pfile启动的。
3.6对主库进行RMAN全库备份
3.6.1创建备份所需的目录:
[oracle~]#mkdir/dgback
3.6.2进入RMAN进行全库备份:
[oracle~]#rmantarget/
RMAN>configurechanneldevicetypediskformat'/home/oracle/dgback/%d_%I_%s_%p.bkp';
RMAN>backupascompressedbackupsetdatabaseincludecurrentcontrolfileforstandbyplusarchivelog;
Startingbackupat05-NOV-16
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
allocatedchannel:
ORA_DISK_1
channelORA_DISK_1:
SID=41devicetype=DISK
channelORA_DISK_1:
startingfulldatafilebackupset
channelORA_DISK_1:
specifyingdatafile(s)inbackupset
inputdatafilefilenumber=00001name=/u01/app/oracle/oradata/pridb/system01.dbf
inputdatafilefilenumber=00002name=/u01/app/oracle/oradata/pridb/sysaux01.dbf
inputdatafilefilenumber=00005name=/u01/app/oracle/oradata/pridb/example01.dbf
inputdatafilefilenumber=00003name=/u01/app/oracle/oradata/pridb/undotbs01.dbf
inputdatafilefilenumber=00004name=/u01/app/oracle/oradata/pridb/users01.dbf
channelORA_DISK_1:
startingpiece1at05-NOV-16
channelORA_DISK_1:
finishedpiece1at05-NOV-16
piecehandle=/rman_backup/Full_20161105_01ou2791_1_1.baktag=TAG20161105T143721comment=NONE
channelORA_DISK_1:
backupsetcomplete,elapsedtime:
00:
00:
45
channelORA_DISK_1:
startingfulldatafilebackupset
channelORA_DISK_1:
specifyingdatafile(s)inbackupset
includingcurrentcontrolfileinbackupset
includingcurrentSPFILEinbackupset
channelORA_DISK_1:
startingpiece1at05-NOV-16
channelORA_DISK_1:
finishedpiece1at05-NOV-16
piecehandle=/rman_backup/Full_20161105_02ou27ae_1_1.baktag=TAG20161105T143721comment=NONE
channelORA_DISK_1:
backupsetcomplete,elapsedtime:
00:
00:
01
Finishedbackupat05-NOV-16
3.6.3查看备份的归档日志:
RMAN>listarchivelogall;
3.6.4查看备份文件
RMAN>listbackup;
3.7修改监听文件
3.7.1添加静态注册信息
主库:
[oracle~]$cd$ORACLE_HOME/network/admin
[oracleadmin]$vimlistener.ora添加如下内容:
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=pridb)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1)
(SID_NAME=pridb)
)
)
主库修改后最终效果如下图:
图3.1主库配置静态注册信息
备库:
[oracle~]$cd$ORACLE_HOME/network/admin
[oracleadmin]$vimlistener.ora添加如下内容:
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=stddb)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1)
(SID_NAME=stddb)
)
(SID_DESC=
(GLOBAL_DBNAME=pridb)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_home1)
(SID_NAME=pridb)
)
)
备库修改后最终效果如下图:
图3.2备库配置静态注册信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle DG搭建 DG 搭建