老方块硕士班DG环境搭建手册.docx

上传人:牧羊曲112 文档编号:1926164 上传时间:2022-12-26 格式:DOCX 页数:181 大小:8.64MB
返回 下载 相关 举报
老方块硕士班DG环境搭建手册.docx_第1页
第1页 / 共181页
老方块硕士班DG环境搭建手册.docx_第2页
第2页 / 共181页
老方块硕士班DG环境搭建手册.docx_第3页
第3页 / 共181页
老方块硕士班DG环境搭建手册.docx_第4页
第4页 / 共181页
老方块硕士班DG环境搭建手册.docx_第5页
第5页 / 共181页
点击查看更多>>
资源描述

《老方块硕士班DG环境搭建手册.docx》由会员分享,可在线阅读,更多相关《老方块硕士班DG环境搭建手册.docx(181页珍藏版)》请在三一办公上搜索。

1、前言为了学习DG,我们需要有学习环境来支持,因此搭建DG环境是学习DG的第一步。在搭建GC的文档里,有介绍虚拟机模板的搭建,这里就直接用这个虚拟机模板来搭建DG,搭建之前先下载11201的数据库软件,为了后面的滚动升级实验。下面就来介绍怎么搭建DG学习环境!有什么问题的可以联系我。作者:will QQ:185954265第一章 制作DG虚拟机模板下载11201数据库软件点击接受,下载32bit或者64bit软件本人下载的是64bit的软件把两个压缩包都下载下来还原虚拟机模板把在搭建GC环境时的虚拟机模板还原出来改名为prod装载虚拟机右键rename为prod启动虚拟机先登录进去cd /etc

2、/sysconfig/network-scriptslsvi ifcfg-eth0.bak把HWADDR删除掉,然后改一下IPADDR保存退出mv ifcfg-eth0.bak ifcfg-eth0lsservice network restartifconfigexit用secureCRT创建新连接这个提示用同样的方法解决设置好颜色字体,prod的会话连接创建完毕vi /etc/sysconfig/network把主机名改成prod.localdomain修改好之后保存退出hostname prod.localdomain退出后再登录修改hostsvi /etc/hosts127.0.0.1

3、 localhost.localdomain localhost:1 localhost6.localdomain localhost6192.168.75.61 prod.localdomain prod192.168.75.62 standby.localdomain standby保存退出安装oracle软件先安装10201的软件来搭建DG后面有滚动升级成11201的方法把10201的oracle软件传送到/u01目录下传输好之后修改软件属于者为oraclecd /u01ls -lrtchown -R oracle:oinstall *ls -lrt设置oracle环境变量su - or

4、aclevi .bash_profile把下面内容复制到.bash_profile最后export PATHexport TMP=/tmpexport TMPDIR=$TMPexport ORACLE_BASE=/u01export ORACLE_SID=prodexport ORACLE_HOME=/u01/oracle/db_1export ORACLE_TERM=xtermexport PATH=$PATH:$ORACLE_HOME/bin:$HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/bin:/usr/bin:/usr/local/

5、bin:/usr/X11R6/bin/export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexport DISPLAY=192.168.75.1:0.0stty erase halias sqlplus=rlwrap sqlplusalias rman=rlwrap rman保存后退出执行. .bash_profile让环境变量生效解压缩oracle软件cd /u01ls -lrtgzip -dc 10201_database_linux_x86_64.cpio.gz | cpio -icvdBu

6、mls -lrtcd database在windows端打开xmanager的passive来接收远程图形双击它就可以了看到右下角有图标且是:0.0端口就行./runInstaller另开一个窗口用root用户执行上面脚本10201软件安装完成!把安装软件删除,节省空间cd .ls -lrtrm -f 10201_database_linux_x86_64.cpio.gzrm -fR databasels -lrtdf -h备份复制模板至此,完成了虚拟机模板的制作,可以把虚拟机目录拷贝一份保存起来关机,然后复制一份作为备库使用第二章 搭建物理备库配置standby服务器把复制好的虚拟机改名为s

7、tandby装载虚拟机右键rename为standby打开虚拟机先登录进去cd /etc/sysconfig/network-scriptsls因为prod虚拟机没开,所以IP地址没有发生冲突,但是还是要改一下vi ifcfg-eth0改成192.168.75.62保存退出service network restartifconfigexit用secureCRT创建新连接这个提示用同样的方法解决设置好颜色字体,standby的会话连接创建完毕vi /etc/sysconfig/network把主机名改成standby.localdomain修改好之后保存退出hostname standby.l

8、ocaldomain退出后再登录查看hostscat /etc/hosts一切正常!修改ORACLE_SIDsu - oraclevi .bash_profile把环境变量ORACLE_SID的值修改成standby修改好之后保存退出. .bash_profile让环境变量生效创建主数据库prod启动prod虚拟机然后用netca命令配置监听su - oraclenetca这个就设置成默认监听,用1521端口看一下信息用dbca命令创建prod数据库要和.bash_profile里配置的ORACLE_SID参数一样不安装DB Control的em设置sys用户的密码不使用flash recov

9、ery area字符集选ZHS16GBK,当然你选AL32UTF8也可以开始创建数据库解锁几个用户prod数据库创建完毕!设置prod库登陆到sqlplus检查一下归档模式和force loggingsqlplus / as sysdbaselect log_mode,force_logging from v$database;如果是非归档就要关闭数据库修改shutdown immediatestartup mount干净地关闭数据库再启动到mount状态改成归档模式和强制loggingalter database archivelog;alter database force logging

10、;select log_mode,force_logging from v$database;archive log list更改归档目录!mkdir /u01/oradata/prod/archivelogls -l /u01/oradata/prodexitalter system set log_archive_dest_1=location=/u01/oradata/prod/archivelog;archive log listalter database open;创建pfilecreate pfile from spfile;alter database create stand

11、by controlfile as /u01/oracle/standby.ctl;把pfile文件、口令文件和备控制文件传输到standbyexitcd /u01/oracle/db_1/dbsls -lrtscp orapwprod 192.168.75.62:/u01/oracle/db_1/dbsscp initprod.ora 192.168.75.62:/u01/oracle/db_1/dbsscp /u01/oracle/standby.ctl 192.168.75.62:/u01/oracle需要输入oracle用户密码备控制文件只要复制到与prod库的路径相同就行,两边都是/

12、u01/oracle/standby.ctlprod设置先告一段落设置standby数据库cd /u01/oracle/db_1/dbsls -lrt把口令文件和pfile名字改成standby的mv orapwprod orapwstandbymv initprod.ora initstandby.oravi initstandby.ora把最上面几行去掉,然后把上面标注的prod都改成standby注意db_name的prod值不要修改在最后添加以下参数*.db_unique_name=standby*.db_file_name_convert=/u01/oradata/prod,/u01

13、/oradata/standby*.log_file_name_convert=/u01/oradata/prod,/u01/oradata/standby*.log_archive_config=dg_config=(prod,standby)*.log_archive_dest_1=location=/u01/oradata/standby/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=standby*.log_archive_dest_2=service=prod lgwr async valid_for=(on

14、line_logfiles,primary_role) db_unique_name=prod*.log_archive_dest_state_1=enable*.log_archive_dest_state_2=enable*.log_archive_max_processes=10*.fal_server=prod*.fal_client=standby*.standby_file_management=auto保存退出创建一些目录mkdir -p /u01/admin/standby/adumpmkdir -p /u01/admin/standby/bdumpmkdir -p /u01/

15、admin/standby/cdumpmkdir -p /u01/admin/standby/udumpmkdir -p /u01/admin/standby/dpdumpls -l /u01/admin/standbymkdir -p /u01/oradata/standby/archivelogls -l /u01/oradata/standby配置standby库的listener和静态服务名netmgr再添加静态服务名选择save network configuration,保存一下关闭lsnrctl start配置连接到prod的网络服务名netcatnsping prod用pfil

16、e启动到nomount状态env | grep ORA登陆sqlplus之前先检查一下环境变量sqlplus / as sysdbacreate spfile from pfile=?/dbs/initstandby.ora;startup nomountstandby库的配置告一段落,重新回到prod库的配置配置prod数据库再次回到prod库的设置配置连接到standby的网络服务名netca备库的地址,备库监听用的是1521端口tnsping standby配置prod库参数sqlplus / as sysdbaalter system set log_archive_config=dg

17、_config=(prod,standby);alter system set log_archive_dest_1=location=/u01/oradata/prod/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=prod;alter system set log_archive_dest_2=service=standby lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=standby;alter system set log_

18、archive_dest_state_1=enable;alter system set log_archive_dest_state_2=enable;alter system set log_archive_max_processes=10;alter system set fal_server=standby;alter system set fal_client=prod;alter system set standby_file_management=auto;还有三需要重启才生效的参数也设置一下alter system set db_unique_name=prodscope=sp

19、file;alter system set db_file_name_convert=/u01/oracle/standby,/u01/oracle/prod scope=spfile;alter system set log_file_name_convert=/u01/oracle/standby,/u01/oracle/prod scope=spfile;备份prod库exitmkdir -p /u01/backupsetls -l /u01创建了备份目录登陆到rman开始备份rman target /runallocate channel d1 type disk format /u0

20、1/backupset/%U;backup database;release channel d1;把备份集目录传输到standby的/u01目录下exitscp -r /u01/backupset 192.168.75.62:/u01可以在standby上检查一下ls -l /u01开始克隆standby库,在prod上运行rman target / auxiliary sys/oraclestandbyrunallocate auxiliary channel d1 type disk;duplicate target database for standby nofilenamechec

21、k;release channel d1;还原了standby库!配置standby数据库查询standby库状态select status from v$instance;现在数据库为mount状态创建备库的standby日志alter database add standby logfile (/u01/oradata/standby/standby01.log) size 50m;alter database add standby logfile (/u01/oradata/standby/standby02.log) size 50m;alter database add stand

22、by logfile (/u01/oradata/standby/standby03.log) size 50m;alter database add standby logfile (/u01/oradata/standby/standby04.log) size 50m;日志大小和主库的一样都是50M,数量比主库多一组在prod库切换几个日志exitsqlplus / as sysdbaalter system switch logfile;在standby库查看一下是否有归档日志了exitls -l /u01/oradata/standby/archivelog日志可以传输了就ok!备库

23、执行日志应用同步语句,开始运行物理DGsqlplus / as sysdbaalter database recover managed standby database using current logfile disconnect from session;因为有备重做日志,所以可以加using current logfile语句,实现实时应用select sequence#, applied from v$archived_log where applied=YES order by sequence#;yes说明日志同步了在prod库上执行:conn scott/tigercreat

24、e table t(i int);insert into t values(1);commit;conn / as sysdbaalter system switch logfile;在standby库上执行:alter database recover managed standby database cancel;alter database open;conn scott/tigerselect * from t;数据已经同步,物理DG搭建成功!看一下数据库的open状态conn / as sysdbaselect open_mode from v$database;注意:物理备库ope

25、n是默认read only模式的alter database recover managed standby database using current logfile disconnect from session;select open_mode from v$database;启动数据同步语句后,数据库又变为mounted状态注意:在测试数据同步的时候请不要用sys用户,不然可能同步不了,这里测试都是用scott用户切换物理备库在prod库上执行:select switchover_status from v$database;alter database commit to swit

26、chover to physical standby;这个命令要执行蛮长时间,请耐心等待注意:上面switchover_status的值如果是TO STANDBY,可以直接switchover,如果是sessions active,则需要在switchover的命令后面加上with session shutdown,比如alter database commit to switchover to physical standby with session shutdown;select status from v$instance;检查一下数据库状态shutdown immediatestar

27、tup nomountalter database mount standby database;这条命令就是把主库切成备库在standby库上执行:select sequence#, applied from v$archived_log where applied=YES order by sequence#;已经和刚才的主库同步完日志select switchover_status from v$database;alter database commit to switchover to primary;这条命令就是把备库切成主库select status from v$instanc

28、e;查看一下数据库状态shutdown immediatestartup在prod库上执行:创建备日志alter database add standby logfile (/u01/oradata/prod/standby01.log) size 50m;alter database add standby logfile (/u01/oradata/prod/standby02.log) size 50m;alter database add standby logfile (/u01/oradata/prod/standby03.log) size 50m;alter database

29、add standby logfile (/u01/oradata/prod/standby04.log) size 50m;执行同步语句alter database recover managed standby database using current logfile disconnect from session;select sequence#, applied from v$archived_log where applied=YESorder by sequence#;在standby库上执行:conn scott/tigerinsert into t values(2);co

30、mmit;conn / as sysdbaalter system switch logfile;在prod库上执行:alter database recover managed standby database cancel;alter database open;conn scott/tigerselect * from t;物理DG切换成功!conn / as sysdbaselect open_mode from v$database;alter database recover managed standby database using current logfile discon

31、nect from session;select open_mode from v$database;恢复成同步模式再切换一次,切换来原来的状态,步骤是一样的这里只是为了验证是否ok在standby库上执行:select switchover_status from v$database;alter database commit to switchover to physical standby;shutdown immediatestartup nomountalter database mount standby database;在prod库上执行:select sequence#,

32、applied from v$archived_log where applied=YES order by sequence#;select switchover_status from v$database;alter database commit to switchover to primary;select status from v$instance;查看一下数据库状态shutdown immediatestartup在standby库上执行:alter database recover managed standby database using current logfile

33、disconnect from session;在prod库上执行:conn scott/tigerinsert into t values(3);commit;conn / as sysdbaalter system switch logfile;在standby库上执行:alter database recover managed standby database cancel;alter database open;conn scott/tigerselect * from t;conn / as sysdbaalter database recover managed standby

34、database using current logfile disconnect from session;select open_mode from v$database;恢复到了原来的状态,即prod是主库,standby是备库第三章 搭建逻辑备库配置逻辑备库 逻辑备库是在物理备库的基础上配置的,所以要搭建逻辑备库先要创建好物理备库才行在standby库上执行:停止备库的applyalter database recover managed standby database cancel;注意:一定要先停止日志应用,不然下面build的时候会有问题在prod库上执行:创建prod库作为逻

35、辑备库时的在线日志归档路径exitmkdir -p /u01/oradata/prod/lgarchivels -l /u01/oradata/prod修改log_archive_dest_3参数,当prod切换成备库时起作用,即在线日志归档的路径sqlplus / as sysdbaalter system set log_archive_dest_3=location=/u01/oradata/prod/lgarchive valid_for=(standby_logfiles,standby_role) db_unique_name=prod;alter system set log_a

36、rchive_dest_state_3=enable; 然后执行execute dbms_logstdby.build;在standby库上执行:创建standby库作为逻辑备库时的在线日志归档路径exitmkdir -p /u01/oradata/standby/lgarchivels -l /u01/oradata/standbysqlplus / as sysdbaalter system set log_archive_dest_3=location=/u01/oradata/standby/lgarchive valid_for=(standby_logfiles,standby_r

37、ole) db_unique_name=standby;alter system set log_archive_dest_state_3=enable; 检查standby库的临时表空间数据文件select * from v$tempfile;有临时文件信息,如果没有,要添加临时文件alter tablespace temp add tempfile xxxxxx.select status from v$instance;查看一下数据库角色select database_role from v$database;startup mount forcealter database recov

38、er to logical standby standby;把备库转换成逻辑备库,后一个standby是备库名select status from v$instance;startup mount forceselect database_role from v$database;alter database open resetlogs;show parameter db_name此时备库的db_name已经改成standby是一个新库了稍等片刻后在prod库上执行:alter system switch logfile;查看prod库的alert信息查看standby的alert信息在st

39、andby库上执行:查看归档日志是否传输到备库exitls -l /u01/oradata/standby/archivelog启用实时日志应用sqlplus / as sysdbaalter database start logical standby apply immediate;此时standby库的alert日志里会产生大量信息prod库的alert日志信息:配置完成,开始验证在prod库上执行:conn scott/tigercreate table a(a varchar2(10);insert into a values(a);commit;在standby库上执行:conn

40、scott/tigerselect * from a;逻辑备库配置成功!切换逻辑备库 先把prod库和standby库的undo_retention参数都设置成3600conn / as sysdbaalter system set undo_retention=3600;开始切换逻辑备库在prod库上执行:select switchover_status from v$database;alter database prepare to switchover to logical standby;select switchover_status from v$database;在standb

41、y库上执行:select switchover_status from v$database;alter database prepare to switchover to primary;select switchover_status from v$database;在prod库上执行:这个时候观察prod库的switchover_status会发现select switchover_status from v$database;如果上述查询的返回结果不是TO LOGICAL STANDBY 的话,你可能就需要取消此次转换,检查原因,然后再重新操作了取消转换的命令为:alter datab

42、ase prepare to switchover cancel;prod库继续执行alter database commit to switchover to logical standby;在standby库上执行:再检查standby库的switchover_status会发现select switchover_status from v$database;alter database commit to switchover to primary;在prod库上执行:alter database start logical standby apply immediate;在standb

43、y库上执行:conn scott/tigerinsert into a values(b);commit;conn / as sysdba在prod库上执行:conn scott/tigerselect * from a;conn / as sysdba逻辑备库切换成功!再切换回去在standby库上执行:select switchover_status from v$database;alter database prepare to switchover to logical standby;select switchover_status from v$database;在prod库上执行:select switchover_status from v$database;alter database prepare to switchover to primary;select switchover_status from v$database;在standby库上执行:select switchover_status from v$database;alter database commit to switchover to logical standby;select switchover_status from v$database;在prod库

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号