|
本帖最后由 lujiaguai 于 2016-9-19 16:39 编辑
唐sir,近期意外情况较多,耽误了实验进度,加上中秋假期,距离上次课程时间比较久了,今天做的过程中有些概念模糊了
1,关于真洗假洗的问题:
假洗指的是受到新特性实验环境的限制,在同一台机器上做SQL Performance Analyzer,这样情况称为假洗
真洗值得指在不同的主机上,A主机作为源主机采集一次工作负载,然后放到B主机上做SQL Performance Analyzer,这样的情况称为真洗
关于这一点是否可以这样理解:
真洗更符合生产环境的应用模型?
但是spa属于轻量级软件模拟测试,如新特性环境从10G到11G的SPA过程,是不是实际也能反应实际情况?从这角度这个过程也是有效的,并非真是假的。
举个例子说,如果一台物理服务器上,安装了多个数据库软件,这些数据库软件版本不一样,这也算假洗的范围吗?洗出来的结果是否真实可靠?
2,考试过程中,是否在奇数机,偶数机之间,通过scp命令传递dump数据,进行真洗?
3,如果我在更真实的环境中测试,捕获用户hr,没有moudle模块的信息,持续10分钟,间隔5秒,是否如下写法就可以了:
BEGIN
dbms_sqltune.create_sqlset(sqlset_name => 'STS_HR', sqlset_owner =>'SYSTEM');
END;
/
DECLARE
bf VARCHAR2(110);
BEGIN
bf := q'#UPPER(PARSING_SCHEMA_NAME) = 'HR' AND UPPER(SQL_TEXT) NOT LIKE 'APPLICAT%' #';
dbms_sqltune.capture_cursor_cache_sqlset( sqlset_name=>'STS_HR', time_limit=>'600',
repeat_interval=>'5',
basic_filter=>bf,
sqlset_owner=>'SYSTEM');
END;
/
如果同时hr用户一直有数据在跑,那么实验中的第五步,加载工作负载是不是可以不用做,就执行上面这个修改过的第四部的命令捕获,10分钟后会停止。
这样测试是否理解正确?
4,创建数据库链的过程发现,如果密码或者tns写错,命令依然可正常执行,考场上如何测试数据库连本身是正常的?
直接测试查询,是否是最简便的办法: select * from v$datafile@数据库链
5,实验环境中在最后SQL Performance Analyzer Workflows的时候,选择Upgrade from 10.2 or 11g.
这里有2个选项pre_upgrade trial , post-upgrade trial,分别选择旧,新2个数据库链进行对比
上课的时候提到Guided Workflow选项,该选项是否用于11G-11G的spa?
Guided Workflow选项里面有4个步骤,其中2,3步Create SQL Trial in Initial Environment,Create SQL Trial in Changed Environment
是不是分别指的,源环境,目的环境?为了公平起见,远程的源环境用数据库链进行连接,那么本地的目的环境也用数据库链进行连接?
但是本地无论如何都比远程的快,即便本地也用了数据库链?如果数据量较大,那么远程环境是否会受到网络的影响?导致结论不准确?
如果确实因为网络导致不准确,那么实际生产环境中正确的做法是什么?或者说找第三台服务器做中间机来做?为了公平?
6,实验第六步,expdp了整个apps用户的文件,然后传递到目标库上,再impdp吃进去。
这个过程在生产环境中也是如此吗?岂不是无比的痛苦?如果生产环境里的HR用户数据很多,可能expdp出来就要几个小时,再impdp吃进去几个小时~
这样等于是复制了整个hr用户的环境,然后先前第四部的时候,可能只捕获了10分钟的数据,可是准备工作持续了一天时间,这样合理吗?
如果说数据导入导出不可避免,那么捕获工作负载的时间是否长一些更合适?实际工作中如何选择?
|
|