最近的几个技术问题总结和答疑(七)

简介: 今天抽空整理,发现近期问我数据恢复,灾备的问题还比较多,我简单整理了一下。 问题1: 能请教一个问题么?我们用was链接的oracle数据库,是不是不建议在was上设置statementcachesize的参数?我们目前设置的是200,发现数据库中那个sessio...
今天抽空整理,发现近期问我数据恢复,灾备的问题还比较多,我简单整理了一下。
问题1:
能请教一个问题么?我们用was链接的oracle数据库,是不是不建议在was上设置statementcachesize的参数?我们目前设置的是200,发现数据库中那个session都会持有200个游标,有工程师建议把这个参数设置为0

这个问题着实还问到我了,不过我问了下专业的中间件工程师,答复如下:
Statement Cache Size是指有多少个prepared statement或者callable statement可以被缓存,在遇到对这些statement的请求时会重用缓存中的statement而不会重新加载。这个不能为0吧,一般设置大于0,小于数据库连接池的最大值


问题2:关于异机数据恢复
有个朋友说在服务器A中做了RMAN备份,想在异机恢复,但是控制文件忘了备份了。问能不能恢复回来。


这个问题其实要明确一点,就是数据文件是否最近有变化,如果没有那就很简单,甚至我们都可以自己创建一个控制文件出来。
异机恢复是完全可行的,不要看到ORA错误就害怕。
比如在现有的库中生成控制文件的trace,直接部署到异机。

问题3:
有一个朋友问我说,他碰到一个问题
oracle 11.0.2的库,有一个视图,关联了几十张表,视图有三百个字段,查询select * 的时候报错,但是select count(*) 的时候就可以,然后将视图中删除一张表select *就能查出来。截图如下:

对于这个问题,有几个思路可供参考。
1.看错误描述,感觉是一个bug
2.视图关联几十个表,上百个字段,本身设计上就有一些问题
3.这类问题是否可以复现是一个关键,如果能够复现,最好还是做一些细致的trace,看看问题边界,因为没有模拟环境,所以只能建议了。


问题4:
我如果不用ROSE HA或ORACLE ACTIVE DATA GUARD的HA软件,直接用SHELLE脚本实现HA功能,这样有什么风险吗

Data Guard如果不考虑更多的特性,就如同标准版的DG所做的,技术上实现是完全没有问题的。早期的Data Guard就是这么干的,很多老DBA就是写脚本,传归档,恢复

问题5:
RAC环境中,业务是数据库仓库,一个节点跑存储过程在频繁DML一个表,同时在另一个节点也在另一个存储过程频繁DML同一张表
在DB层面,哪这种情况如何避免呢,这种情况下RAC2个节点之间的数据同步或缓存CACHE FUSION如何评估

这种情况下,会把RAC的限制放大。节点间频繁更新同步数据库,性能和锁影响都是全局的。
DB层面,可以根据业务把这种操作做切分,甚至只在单节点运行,效果都比双节点强。也就是业务的不同模板配置不同的SERVICE,这样就把应用的不同模板连接到RAC不同节点了。如果配置service,设置策略,这种比较推荐,对应用来说,看到的是业务层面的数据库,其实是各个节点。
有些场景下,我们原来的电信客户,为了稳妥,用的active-passive模式,只激活一个节点,OLTP,另一个就用作高可用临时切换

问题5:
我这个Oracle10t,每天生成1T日志,目前是每天全备,每小时备份日志,但是还是未能满足12小时恢复,我想在每天全备基础上,12小时做次增量,滚日志就能少500G, 这样是否恢复能快些

在这种场景下,每天增备的日志量还是不小的,为了满足12小时恢复,其实Data Guard就是一个不错的选择,可以设置延迟归档应用,恢复相比全量的恢复要快得多。
还有一种思路就是使用第三方的恢复软件,我知道的ActInfo的那个软件不错,一次全量,永远增量。增量的幅度设置的频度可以略微频繁一些。

问题6:
一主多备的搭建,有服务器ABC,有网友使用服务器A switchover到服务器B,然后基于服务器B搭建备库C
但是恢复的时候碰到了一些问题。环境是10gR2

其实这个问题看起来思路还蛮有挑战,实践起来也很顺手的,理论上来说其实有更多更好的方法,上面的方案是比较常规的方案。
因为是10gR2,没法用11g优越的duplicate方式,但是使用rman备份恢复是完全没有问题的,有几个建议可供参考。
1.主备库的管理,建议配置DG Broker,这样很多操作都能直接忽略了,手工搭建备库看起来还是有些技术含量的,用了DG Broker,发现没有一点技术含量了。
2.主库RMAN,恢复到备库,肯定会有GAP,只是这个GAP的大与小而已,对于备库恢复而言,我们完全不需要关心备份后的临界点在哪里,在备库恢复之后,备库会从主库去比对差距,然后通过RFS来同步归档,所以无需手工来传递归档,手工设置临界恢复的log_seq等。





相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
监控 架构师 程序员
阿里技术专家撰写程序员“不迷茫”职业路指南,切中痛点规划未来
我一直都是一个“笨孩子”,但我不以笨为耻。小学三年级时要写一篇关于柑橘树的作文,那时自己肚子没货、下笔万难,父亲知道后教了我两招:是从 整体到局部观察事物;二是阅读,看看别人是怎样写的。
|
监控 安全 Cloud Native
阿里产品专家:高情商的技术人,如何做沟通?
不愿沟通是固执,不会沟通是傻瓜,不敢沟通是奴隶。——德拉蒙德
阿里产品专家:高情商的技术人,如何做沟通?
|
数据处理 缓存 UED
什么技能产品经理不会提,但技术人必须懂?
缓存是搭建高性能高并发系统的必备手段之一,通常用来解决性能瓶颈,是程序员的必备知识点,也是面试必备考点。
2002 0
|
项目管理
漫谈项目管理之:面对严重的技术问题,你应该怎么做?
  接到紧急电话,你匆忙的赶到用户现场。初步分析后,你大吃一惊:可以确定,这是一个方案设计阶段的重大失误,现在暴露出来,导致项目中的所有工作全面停顿。   此时此刻,作为项目经理,你马上要做那些事情?   你想到了什么? 组织技术人员进行讨论,对技术问题进行分析?非常好,这是必须要做的工作。
1380 0
|
XML 开发工具 数据格式
|
Java JavaScript 前端开发
技术问题小总结1
前言 做项目是提高技术最高效的手段,这句话从某种程度上而言真是太对了。因为不论是大项目还是小项目,不论是正式项目还是个人业务项目,只要在做,就总能遇到各种各样的问题,从而能直接着重于某个点去学习。以下便是最近做业余小项目-tzxbloghttps://github.com/tuzongxun/tzxblog时遇到的一些问题和解决办法记录。
1538 0
|
程序员 开发者 项目管理