问题1:是否log_archive_dest_n=service中进程使用lgwr时(如log_archive_dest_2='service=DBSTD LGWR SYNC'),备库就一定要建立standby_redo_log
回答:不是,只有在最大可用或最大保护模式下,备库才要standby_redo_log
问题2:最大可用模式,备机是否可以应用archivelog
回答:可以,不过应用了archivelog后,主库的数据在备库无法实时查询到,数据只有归档后才可以在备库查询到
问题3:最大可用模式下(不设置自动切换的情况下),备机宕机后,重启备机,
dataguard是否可以继续,并且还是最大可用模式
回答:dataguard继续,并且还是最大可用模式
如果备机启动后长时间没有实时应用standbyredo
log,可能有异常,备机需要先执行alter database recover managed standby
databasedisconnect from session以便应用归档日志,等归档日志应用完成后再执行alterdatabase
recover managed standby database cancel,再执行alterdatabase recover managed
standby database using current logfile disconnect
fromsession以便应用standby redo log
问题4:最大可用模式下(不设置自动切换的情况下),主机宕机后,重启主机,dataguard是否可以继续,并且还是最大可用模式
回答:dataguard继续,并且还是最大可用模式
如果主机启动后,备机长时间没有实时应用standbyredo
log,可能有异常,备机需要先执行alter database recover managed standby database
cancel,再执行alterdatabase recover managed standby database disconnect from
session应用归档日志,等归档日志应用完成后再执行alterdatabase recover managed standby
database cancel,再执行alterdatabase recover managed standby database using
current logfile disconnect fromsession以便应用standby redo log
问题5:最大可用模式下(不设置自动切换的情况下),主机宕机,无法启动,备机是否可以升级为主机
回答:可以
备机执行如下
1. alter database recovermanaged standby database finish force;
2. alter database commit toswitchover to primary with session shutdown;
3. alter database open;
问题6:备库不创建standbyredo log是否可以实时应用日志
回答:不可以,实时应用日志的时候会报错ORA-38500:USING CURRENT LOGFILE option not available without standby redo logs
问题7:最大性能模式下,备库是否可以实时应用日志standbyredo log
回答:可以,不过没有意义,还是需要等待主库归档才能真正把数据写入备库
虽然备库可以执行alterdatabase
recover managed standby database using current logfile disconnect
fromsession;但是并不会应用日志,主库的数据不会实时同步到备库,主库执行日志切换后,数据才同步到备库,说明在最大性能模式下,备库就算执行了实时应用日志的有,也没太大意义
问题8:最大可用性模式下,备库是否可以应用archivelog
回答:可以
最大可用性模式下,本来备库可以实时接收主库的数据的,不过备库也可以选择主库数据归档后再进行应用
问题9:主库不设置db_unique_name是否可以正常搭建datagard
回答:可以
因为主库不设置db_unique_name,则主库的db_unique_name和service_name都是默认是db_name
问题10:备库是否可以不设置db_unique_name
回答:可以,如果主库设置了db_unique_name,则备库可以不设置,不过不推荐这样设置
一般主库不设置db_unique_name,备库设置db_unique_name,则在主备的参数文件*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(主db_name,备db_unique_name)'
问题11:搭建一个物理datagard,主库设置LOG_AUTO_DELETE为true后,备库会不会自动删除归档日志
回答:不会
如果想删除备库的一些归档日志可以在rman下执行deletenoprompt archivelog until time "sysdate-N"; (N为天数)
问题12:搭建dataguard时不拷贝主库的在线日志,那备库到什么时候开始创建onlineredo log
回答:在备库执行alterdatabase
recover managed standby database disconnect from session或alterdatabase
recover managed standby database using current logfile disconnect
fromsession后,如果备库的*.log_file_name_convert参数设置正确,则备库开始创建onlineredo log
也就是说只要备库执行了recover,备库就开始创建自己的online redo log
问题13:搭建dataguard时使用rman备份进行恢复,备库alter database recover managed standby database disconnect fromsession时会用到增量备份包吗
回答:不会,如果使用了0级备份和1级备份2级备份,备库还原使用了0级备份,recover时不会使用1级和2级备份包,而是使用了自级备份以来的所有归档日志
问题14:搭建datagard和操作系统用户名密码有关系吗
回答:没有,只和
oracle的用户名和密码有关,一般只和sys用户有关
问题15:datagard可以通过rman命令自动删除归档日志吗
回答:可以
执行这样的脚本就行delete noprompt archivelog until time "sysdate-30";
问题16:配置好最大性能的主备库后,备库还没有开始应用归档日志之前,备库通过0级备份还原,会不会主库所有0级备份后的归档日志都会自动拷贝过来,是不是alter database recover managed standby database disconnect fromsession需要所有归档日志都拷贝过来了才能进行
回答:不会拷贝所有,会拷贝一部分
不是,只有主库0级备份后的归档日志都还在,并且0级备份后的第一个归档日志传输到了备库,备库就开始recover,在recover的过程中,需要哪个归档日志就从主库去获取哪个归档日志,如果主库归档日志丢失了,那就会报错了
问题17:此类报错是不是只是因为主备库的密码文件不一致导致
FAL[client, USER]: Error 1031 connecting tomierp
db2 for fetching gap sequence
ORA-01031: insufficient privileges
ORA-01031: insufficient privileges
回答:不一定,有时是因为备库recover归档日志时,获取不到主库的归档日志也会报这样的错。
问题18:下列问题如何处理
FAL[client]: Failed to request gap sequence
GAP - thread 1 sequence 123-124
D
BID 3642506776 branch 64548658
FAL[client]: All defined FAL servers havebeen attempted.
回答:说明备库缺少thread为1,sequence为123和124的归档日志
解答1:如果主库也缺少了这个日志并且再也找不回来,则datagard无法继续了,需要重做,如果主库有这个日志的备份,则还原这个归档日志的备份,并把还原出来的归档日志拷贝到备库,并执行以下语句注册归档日志
ALTER DATAB
ASE REGISTER PHYSICAL LOGFILE'/mierp/arch/1_123_83589255.dbf';
ALTER DATABASE REGISTER PHYSICAL LOGFILE'/mierp/arch/1_124_83589255.dbf';
问题19:datagard备库的归档日志是怎么个生成流程
回答:
1.主库配置lgwr,备库还未开始应用归档日志(即备库还没有生成自己的online redo log文件),备库不建立standby,主库执行alter system archive log current看归档会到备库吗
1.会
得出结论:只要备库打开至mount状态(甚至没有restore database),主库就会把归档日志传输到备库,主库日志切换后,最新的归档也会传输到备库
备库没有restore database即没有任何数据文件和online redo log和standby redo log也可以查询v$log,查询的结果和主库基本一致
但是查询v$standby_log则没有结果,因为没有建立standby redo log
2.主库配置lgwr,备库还未开始应用归档日志,备库建立standby,主库执行alter system archive log current看standby redo的sequence是否变化
2.会变化
3. 主库配置arch,备库还未开始应用归档日志,备库不建立standby,主库执行alter system archive log current看归档会到备库吗
3.会
答案:所有备库的归档日志是通过备库的RFS->ARCN生成,如果备库有standby redo log,则流程是备库RFS->standby redo log->ARCN,和备库自己的online redo log没有关系,因为至始至终都是主库的LOG_ARCHIVE_DEST_N决定了把主库的redo日志存放到哪台备库的RFS,因为就算备库没有onlineredo log也可以查到v$log的信息,而这样v$log的信息其实是主库的,就算在ARCN传输模式下,也不是通过ARCN把归档日志从主库拷贝到备库相应的位置,因为主库拷贝文件到备库是通过OS的,是需要OS的用户名密码验证的。而实际上我们并没有看到备库产生归档日志的时候,是需要OS的用户名密码的。
问题20:最大可用性模式下,备库mount后并restore database并创建了standby redo log,主库归档日志传输到了备库,但是还没有应用过,是否可以跳过先应用归档日志直接应用standby redo log
回答:可以
问题21:dataguard备库select name from v$datafile和select member fromv$logfile都正常, select tablespace_name from dba_tablespaces会出现ORA-03113:end-of-file on communication channel错误,根据告警日志,信息是ERROR:slave communication error with
ASM; terminating process 7610,怎么产生的,怎么解决
回答:是因为*.db_file_name_convert只配置了数据文件,没有配置temp文件导致,可以重新配置备库的pfile并重启解决,也可以执行selectname from v$tempfile找到临时文件,再执行alter database tempfile '+DATA/ /temp.263.868896343' drop includingdatafiles删除tempfile。再创建一个tempfile即可alter tablespace temp add tempfile '/data01/ibm186/data01/temp.dbf'size 4096M;
问题22:dataguard主库的文件是通过OMF创建,备库也通过OMF创建,备库是否可以在*.db_file_name_convert只配置主库和备库的db_create_file_dest即可
回答:不可,因为主库备库的db_create_file_dest目录的子目录名称可能不一样,会导致无法创建文件,因为OMF创建文件规则是db_create_file_dest\实例名\datafile或tempfile\文件名称
问题23:最大可用性模式,主库故障后,备库进行Failover的切换,是否必须按以下四步进行
1. 备库执行ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;
2. 备库执行alter databaserecover managed standby database finish force;
3. 备库执行alter database commit to switchover to primary with sessionshutdown;
4. 备库执行alter database open;
回答:是的,虽然可以跳过第一步,但是不建议这样做
http://www.itpub.net/thread-1913853-1-1.html
- Dataguard配置总结
Dataguard配置总结 本例情形 在主库存在运行的情况下,增加配置dataguard备库,实现双机热备,高可用性. 主库要求,归档模式,强制归档. 主库idty 备库idty_st 1.密码文件 ...
- 干货 | NLP算法岗大厂面试经验与路线图分享
最近有好多小伙伴要面经(还有个要买简历的是什么鬼),然鹅真的没有整理面经呀,真的木有时间(。 ́︿ ̀。).不过话说回来,面经有多大用呢?最起码对于NLP岗位的面试来说,作者发现根本不是面经中说的样子 ...
- Oracle 服务器迁移的一些经验
前言 通过此文章来分享一下 Oracle 服务器迁移过程中的一些经验,希望对大家有些许帮助. 本文旨在帮助更多的同学,会提及一些基本命令或技巧,但不赘述,后续有机会再进一步分享各个细节. 背景 之前因 ...
- 移动硬盘不能识别的常见7种解决方案 ~ By 逆天经验
服务器汇总:http://www.cnblogs.com/dunitian/p/4822808.html#iis 服务器异常: http://www.cnblogs.com/dunitian/p/45 ...
- 【原创经验分享】WCF之消息队列
最近都在鼓捣这个WCF,因为看到说WCF比WebService功能要强大许多,另外也看了一些公司的招聘信息,貌似一些中.高级的程序员招聘,都有提及到WCF这一块,所以,自己也关心关心一下,虽然目前工作 ...
- iOS架构一个中型普通App的一些经验总结
这一版比较完善的的App终于提交审核了.有时间写写自己的一些经验的总结了.自己主导的从0到比较成型的app到目前来说也只有两个,但是其中的很多东西都是大同小异.基本上是想到了什么就写什么,感觉写的不到 ...
- 从史上八大MySQL事故中学到的经验
本文列举了史上八大MySQL宕机事件原因.影响以及人们从中学到的经验,文中用地震级数来类比宕机事件的严重性和后果,排在最严重层级前两位的是由于亚马逊AWS宕机故障(相当于地震十级和九级). 一.Per ...
- CentOS上 Mono 3.2.8运行ASP.NET MVC4经验
周一到周三,折腾了两天半的时间,经历几次周折,在小蝶惊鸿的鼎力帮助下,终于在Mono 3.2.8上运行成功MVC4.在此总结经验如下: 系统平台的版本: CentOS 6.5 Mono 3.2.8 J ...
- 【腾讯Bugly经验分享】程序员的成长离不开哪些软技能?
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ce8068d4d44a246f72baf2 Dev Club 是一个交流移动 ...
随机推荐
- JS防止页面被其他网站iframe使用方法
if(window.top !== window.self){ window.top.location = window.location;} 这句话的意识是说:如果当前窗体不是顶级窗体,就把自己变成 ...
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第六天(非原创)
文章大纲 一.课程介绍二.今日内容简单介绍三.Httpclient介绍与实战四.项目源码与资料下载五.参考文章 一.课程介绍 一共14天课程(1)第一天:电商行业的背景.淘淘商城的介绍.搭建项目工 ...
- Intro Of Myself
- Hibernate懒加载深入分析
Hibernate懒加载深入分析 懒加载可以提高性能吗? 不可以简单的说"能",因为Hibernate的关系映射拖累了SQL的性能,所以想出懒加载来弥补.只是弥补而以,不会超越. ...
- IOS存储目录documents你在哪里啊
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...
- 关于ie的内存泄漏与javascript内存释放
最近做一个公司的业务系统,公司要求能尽可能的与c/s近似,也就是如c/s一样,点击文本框可以弹出此项目的相关内容,进行选择输入. 我使用了弹出窗口,然后在子窗口双击选中项目,把选中的值返回给父 ...
- 使用代码编辑器Sublime Text 3进行前端开发及相关快捷键
推荐理由: Sublime Text:一款具有代码高亮.语法提示.自动完成且反应快速的编辑器软件,不仅具有华丽的界面,还支持插件扩展机制,用她来写代码,绝对是一种享受.相比于浮肿沉重的Eclipse, ...
- 螺旋数字的python实现
螺旋数字的算法简单实现. 示例 5 01 02 03 04 05 16 17 18 19 06 15 24 25 20 07 14 23 22 21 08 13 12 11 10 09 通过观察,外部 ...
- c++如何使用全局变量
在xxxx.h文件中使用extern声明变量: extern int i; 在xxxx.cpp文件中定义变量: int i; 声明和定义都只需一次.
- vue-cli中添加使用less
在vue-cli中构建的项目是可以使用less的,但是查看package.json可以发现,并没有less相关的插件,所以我们需要自行安装. 第一步:安装 npm install less less- ...