蒙在股里 发表于 2015-1-16 22:34:09

MSSQL网站制作之创立iAS10g Report Server Cluster

有了rowbase的binlog后,我们来分析一下怎么实现闪回。平时的DML无非三种操作,增删改,先说三种操作的日志格式。server|创立
1、情况
1.DB1:10g,RedhatlinuxAS3.0
IP:192.168.0.14
2.AS1:win2003,iAS10withform&reportonly
IP:192.168.0.16
fmxandrep:c:geo
iASHome:c:oracleias
reportserver:rep_test03,rep10g
3.AS2:win2000,iAS10withform&reportonly
IP:192.168.0.43
fmxandrep:c:geo
reportserver:rep_load


2、步骤
我企图测试两种体例,一种是两个reportserver在统一台呆板,另外一种体例为两个分离在分歧的呆板上.
起首,测试在统一台呆板的情形,接纳第二台呆板AS1
1.创立两个reportservice,在命令行体例下分离运转
c:oracleias>rwserver-installrep16_1.cluster1
c:oracleias>rwserver-installrep16_2.cluster1
Oracle扣问是不是创立该服务,确认.在“服务”里,启动这两个服务,oracle会主动在<oraclehome>eportsconf下创立rep16_1.cluster1.conf和rep16_2.cluster1.conf两个文件。
1.1修正这两个文件,增加两个情况
<environmentid="UTF8">
<envVariablename="NLS_LANG"value="AMERICAN_AMERICA.UTF8"/>
</environment>
<environmentid="zhs">
<envVariablename="NLS_LANG"value="SIMPLIFIEDCHINESE_CHINA.ZHS16GBK"/>
</environment>
1.2增加诸如报表路径,一时目次,默许情况ID
<engineid="rwEng"class="oracle.reports.engine.EngineImpl"initEngine="1"
maxEngine="1"minEngine="0"engLife="50"maxIdle="30"callbackTimeOut="60000">
<propertyname="sourceDir"value="c:geo;C:WINDOWSFonts"/>
<propertyname="tempDir"value="c:geo"/>
<propertyname="defaultEnvId"value="zhs"/>
<!--propertyname="sourceDir"value="yourreportssourcedirectory"/-->
<!--propertyname="tempDir"value="yourreportstempdirectory"/-->
<!--propertyname="keepConnection"value="yes"/-->
</engine>

2.创立供这两个reportservice独自利用的publickey和privatekey文件。在命令行下运转
c:oracleiaseportsjlib>rwgenkeypub.keypriv.key
Oracle在以后目次c:oracleiaseportsjlib创立了两个key文件.

3.在reportservice的.conf文件里包括这两个key,
<connectionmaxConnect="20"idleTimeOut="15">
<orbClientid="RWClient"publicKeyFile="clientpub.key"/>
<!--clusterpublicKeyFile="serverpub.key"privateKeyFile="serverpri.key"/-->
<clusterpublicKeyFile="C:Oracleiaseportsjlibpub.key"privateKeyFile="C:Oracleiaseportsjlibpriv.key"/>
</connection>

4.从头启动两个reportservice.


5.在使用里对本来reportserver的哀求改成对cluster1的哀求.
serverURL仍然利用原本的/report/rwservlet

6.测试报表,报错,
http://192.168.0.16/reports/rwservlet/showjobs?server=rep16_1.cluster1和
http://192.168.0.16/reports/rwservlet/showjobs?server=rep16_2.cluster1
发明报表实践上是完成了,惋惜,没有拿到
这类操作的执行过程是,1)按照新的表定义建立一个临时表tmpa,2)将原表数据拷贝到临时表,3)将原始表改名tmpb,4)将tmpa改名为原表名,5)将tmpb删除。

愤怒的大鸟 发表于 2015-1-19 16:33:46

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

因胸联盟 发表于 2015-1-27 09:33:13

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

若相依 发表于 2015-2-5 06:43:53

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

透明 发表于 2015-2-11 07:03:52

无法深入到数据库系统层面去了解和探究

飘灵儿 发表于 2015-3-1 23:28:07

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

飘飘悠悠 发表于 2015-3-11 01:14:01

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

蒙在股里 发表于 2015-3-17 17:51:36

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

爱飞 发表于 2015-3-24 17:17:45

可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
页: [1]
查看完整版本: MSSQL网站制作之创立iAS10g Report Server Cluster