Cognos问题总结 2.0

Cognos问题总结 2.0
Cognos问题总结 2.0

Cognos问题总结

说明:下述问题对应的Cognos版本是8.1

1.问题:错误DPR-DPR-1035、DPR-CMI-4007不停的往日志

里写错误,导致日志文件过大。

原因:1 Cognos服务正常运行但没有进行注册,无法找到ContentManager

2 Cognos服务注册正常,且服务显示关闭,但仍然继续写

pogo日志,原因是只有boot进程正常关闭, Cognos用到的其他BI 及java进程还在运行,无法正常找到ContentManager报错.

解决方案:有以下两种

1 注册Cognos,即会有相应的ContentManager,不会因为

查找不到ContentManager而报错。

2 UNIX下通过PS -ef|grep BI, PS -ef|grep java查看仍在

运行的进程,将其关闭,就不会再查找ContentManager。

2.问题:错误QE-DEF-0374,RQP_DEF-0354,QE-DEF-0144每

点一次报表都会发生。

原因:没有生成过滤参数提示页。

解决方案:有以下两种

1在报表设计中加提示页,执行步骤如下

1.1 单击下图中间的图标,创建提示页

图2.1

1.2 生成的提示页如图

2.2

图2.2

1.3在图

2.2中设计所需的提示页面,并保存。

1.4重新运行该报表,就会消除上述错误。

2在Cognos提供的sdk调用时可过滤URL在最后面加上&prompt=false。

(建议采用第二种方法解决问题)

3.问题:部分报表运行超时,报内存不足的错误(生产环境)

原因: 1 有些报表在reportStudio中SQL语句关联比较复杂,将两个查询结果再进行关联,cognos就会调用本地SQL,在本地对结果及

进行排序过滤、关联, 没有索引,执行效率不如数据库.

2 cognos server中配置的sort buffer size过小

解决方案:

1将有可能出现本地SQL的查询尽量在数据库中完成,优化数据库设计。如果不可避免出现本地SQL,就在

Framework里关联就可以了,不要在报表设计页面进

行关联.

2把buffer size调大,比如从4m调到16m,参考图3.1,执行界面在cognos服务器端Cognos

configuration/Environment/下,配置“sort

buffer size in MB”参数,从4调整为16

图 3.1

4.问题:如何配置负载均衡Cognos

原因:

解决方案:

1 Cognos 8.1 要配置负载均衡,需要分别在Cognos分发层

和web server层配置。Cognos层两个服务器的

Dispatcher URI 和COGNOS URI 分别设置,顺序一定要一样,参考图4.1,在两个cognos服务器中的配置是一样的。

Content manager在一个时间只能一个是处于运行状态。

图4.1

前端配置Apache将不同端口的请求分发到配置好集群的两个Cognos的gateway,Cognos调用自身的负载机制,将请求再发送给不同的Dispatcher,由其内部协调最终在哪台Cognos服务上执行该请求

2 Cognos 8.

3 只需在 Cognos层配置即可,不必配置web

server层。

5.问题:如何提高并发性能

原因:服务数参数设置不合理

解决方案:

1调整Cognos reportstudio的“交互式报表服务的最大进程数”,一般为服务器cpu个数的两倍。在unix下,使用top命令,可以查看cpu个数。

2扩大每个进程能在某个时间段处理的请求个数,单一进程最大亲和力设置为4 .

3具体执行步骤如下

3.1 在cognos的IE界面上,单击图形5.1中单击“服

务器管理”

图 5.1

3.2出现图像5.2的界面,单击“配置”选项

图 5.2

3.3从5.2操作进入配置界面,选择需要配置的服务器,

单击“更多”,即进入下面的界面

图5.3

3.4在界面5.3中,单击“设置属性”,进入界面5.4,

单击“设置”,出现图形5.5,即可设置参数

图形5.4

图形5.5

3.5 在图形5.5中设置“交互式报表服务的低亲和力连接数”为

4.

3.6在图形5.5中设置“交互式报表服务的最大进程数”

为16(假设CPU的个数是8).

6.问题:在开发环境上Cognos运行较慢

原因:发生内存泄露,属于比较底层的问题,在bin目录下生成core文件达几个G,内存泄露有可能属于报表过于复杂无法分配内存造成的,或者报表在制作设计过程中保存运行都有可能产生底层泄露,是Cognos8.1的问题.

解决方案:尽量避免设计过于复杂的报表,把大规模的数据库连接放在数据库层处理,减小系统资源开销。

7.问题:Cognos的升级和安装注意事项

原因:

解决方案:

需要检查操作的系统的版本和补丁信息,必须满足对应Cognos版本的安装先决条件。

在域里面添加权限

公司为了安全加入域后,发现有一些问题,就是有的用户需要重新启动一些服务但是提示没有权限,如何才能把指定的服务器的管理权限给普通域用户。还有像google输入法之类的升级的时候提示“不是管理员,无法升级”。不知道怎么解决? 回答:根据您的描述,我对这个问题的理解是:普通的域用户的权限问题。 分析: ===== 您说到的这些情况,windows域就是设计为这样的. 默认的域用户在登录一台客户机的时候,域用户自动加入了客户机本地的“user”组,这个组只有一些基本的使用功能. 而您提到的重启服务,安装程序这样的操作,是需要本机管理员权限来进行. 而域管理员是自动加入到了本机的“administrator”组的. 建议: ==== 如果您的确需要让这些用户有这些控制权限,您可以给他们本机的“administrator”权限. 这里您可以有两种选择. 1. 告诉他们一个本机的管理员帐号,让他们在需要的时候切换用户来实现需要的功能. 2. 把域用户加入到本机的“administrator”组使得用户始终有本机的完全控制权限. a. 右键“我的电脑”, 选择“管理” b. 选择“本地用户和组” c. 选择“组”, d. 选择其中的“administrators”并双击 c. 然后把需要的域用户添加到这个组就可以实现普通的域访问权限和本机的管理员权限并存了. 另外,如果您需要某些用户对服务器的某些服务有管理权限,但是又不想赋予他们管理员权 限的话.可以通过修改组策略来实现. 我们假定这些server在一个名叫“server ou” 的OU中.您需要赋予权限的服务是“DNS sever” 1. 在“server ou”上添加一个组策略.给它定义一个名字. 2. 编辑这个组策略,展开“计算机配置\windows设置\安全设置\系统服务” 3. 从右面栏中找到“dns server” 服务,双击. 4. 选择“定义这个策略设置” 启动模式按照您本来的需求设置,然后点击“编辑安全设置” 5. 在弹出窗口中,选择添加. 6. 输入您需要的用户(组),然后在下面的权限栏中,赋予那个用户(组) “启动,停止和暂停”权限. 关于安装程序,您可以还可以把用户加入到本地的“power user”组,这个组的成员有权限装一部分的软件,但是涉及以下方面的程序无法安装: 1. 需要修改服务,驱动,系统文件的.(例如Google输入法) 2. 一些老程序会要求系统的控制权限. 3. 安装前先检查用户的组身份,不属于管理员直接拒绝.

关于用户权限的数据库设计

1 设计思路 为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。 1.1 用户 用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。 用户通常具有以下属性: 编号,在系统中唯一。 ü名称,在系统中唯一。 ü用户口令。 ü注释,描述用户或角色的信息。 1.2 角色 角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述角色信息 1.3 权限 权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、 修改和删除功能,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述权限信息 1.4 用户与角色的关系 一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如 l 用户(User): UserID UserName UserPwd 1 张三 xxxxxx 2 李四 xxxxxx …… l 角色(Role): RoleID RoleName RoleNote 01 系统管理员监控系统维护管理员 02 监控人员在线监控人员 03 调度人员调度工作人员 04 一般工作人员工作人员…… 从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。 1.5 权限与角色的关系 一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角色。例如: l 角色(Role): RoleID RoleName RoleNote 01 系统管理员监控系统维护管理员 02 监控人员在线监控人员

cognos文档

1、首先打开IBM COGNOS CONFIGURATION在里面配置报表访问的数据库 2、然后进入FrameWork Manager,先给数据取一个名字,我们给数据包取名的规则是fs开头,后面加上报表编号,最后数字是用来区分是汇总表,还是明细表 Project name:报表包名 Location:报表存放的路径 3、选择数据源 这里,如果是时实报表选择cxdb,非实时选择cnplapp,这里的数据其实是在cognos服务器上配好的,所以名字并不是随便取的。 4、进入页面后 在页面的左边会出现一个树型菜单,cnpl是数据包,data sources是数据源, packages是发布包

5、双击数据包 会展现出开发界面。这里有一些选项。SQL标签中是我们要放的SQL语句。TEST是我们可以用来测试语句是否正确,Query Information在这里我们是要修改sql语言的种类(如图) 这里有一个下拉菜单Sql Type,这里我默认的是cognos 它的意思是sql语言类型是cognos 型的,第二是native,意思是自然型的,也就是我们平常所使用的语法。选择后点击ok后,就可以写sql语句了。这里,我们建议,不要直接在cognos sql里面写,而是写在pl/sql中写好测试好后,粘到cognos里面来,这样准确性高。 6、cognos的参数传递 对于在cognos中配置页面参数,这里有自己的语法。 一般都是以#开头,然后以#结尾 #sq():意思是前后有单引号 #prompt("areaorg", "token")#:prompt是传一个值,areaorg是我们的控件名,token是指传递的参数是字符串型的,integer是指传递的参数是整型的. #promptmany("areaorg", "token")#: promptmany是指可以传递多个值 下面,我给出平常我们用到的配置参数的一些例子:

数据库用户管理(用户管理,权限分配)

学习资料:数据库用户管理 SQL Server的安全包括服务器安全和数据安全两部分。服务器安全是指可以SQL Server数据库服务器的登录管理、数据库数据的访问安全等,数据安全则包括数据的完整性、数据库文件的安全性。因此,如果你准备访问SQL Server数据库的数据,你应该具有SQL Server登录帐户和访问数据库的权限。 下面逐一讲解如何创建登录帐户、如何创建数据库用户和如何给用户授权。 一、SQL Server身份验证 在登录SQL Server时,需要选择身份验证的方式,SQL Server支持以下两种身份验证。 Windows身份验证。 SQL Server身份验证。 简单地说,Windows身份验证是使用当前登录到操作系统的用户去登录,而SQL Server身份验证是使用SQL Server中建立的用户去登录。 登录验证通过以后,就可以像管理本机SQL Server一样来管理远程机上的SQL Server 服务。 二、建立登录帐户并赋予权限 与创建数据库一样,建立SQL Server数据库的登录名、用户名,为其赋予权限也有两种方式。 1)使用SQL Server Management Studio建立登录账户并赋予权限 2)使用T-SQL建立登录账户并赋予权限 1.在SQL Server Management Studio中建立登录账户并赋予权限在SQL Server Management Studio中,通常需要进行三步操作。 1)建立SQL Server登录名 在SQL Server Management Studio中,建立登录的步骤如下。 (1)在“安全性”节点下,右击“登录名”,在右键菜单中选择“新建登录名”选项。

Cognos开发之Cube

Cognos 8开发之Cube V1.0

知识成果简要信息表

第一章 Cognos简介 1.概述 Cognos展现的报表基于统一的元数据模型。统一的元数据模型为应用提供了统一、一致的视图。用户可以在浏览器中自定义报表,格式灵活,元素丰富,而且可以通过Query Studio进行即席的开放式查询。Cognos还具有独特的穿透钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)等功能,使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解,有效地将各种相关的信息关联起来,使用户在分析汇总数据的同时能够深入到自己感兴趣的细节数据中,以便更全面地了解情况,做出正确决策。 Cognos强大的报表制作和展示功能能够制作/展示任何形式的报表,其纯粹的Web界面使用方式又使得部署成本和管理成本降到最低。同时Cognos还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。进行合作,推动以AIX 技术为中心的创新,同时开发、测试和使用各种用于支持AIX 操作系统的新应用和中间件。 2 . Cognos 8 的功能组件介绍: Cognos 8 的功能组件分为服务器端和客户端两部分,服务器端是基于SOA构架的Cognos 8服务,以Web Service的方式接受和处理用户请求;客户端程序是开发人员使用,用于构建CUBE 和Cognos 8元数据的工具,它们分别是:TransFormer 和FrameWork。用户制作、浏览报表和业务分析都是基于浏览器的,不需要安装插件或客户端,在浏览器端,用户可以访问以下组件:Report Studio 、Query Studio 、Analysis Studio。同时用户也可以基于Cognos提供的SDK开发应用直接访问Cognos 8 服务。 Cognos 8产品结构图:

2003域中限制用户安装和卸载软件的权限

何在2003域中限制用户安装和卸载软件的权限,我应该怎么通过设置 策略实现? 可以考虑“power users”组,改组是受限制的。尽管“power users”组的成员比“administrators”组的成员的系统访问权限要低,但“power users”组成员依然可以有较大权限来访问系统。如果您的组织中使用了“power users”组,则应仔细地控制该组的成员,并且不要实现用于“受限制的组”设置的指导。 “受限制的组”设置可在windows xp professonal 的“组策略对象编辑器”中的如下位置进行配置: 计算机配置\windows 设置\安全设置\受限制的组 通过将需要的组直接添加到gpo 命名空间的“受限制的组”节点上,管理员可以为gpo 配置受限制 的组。 如果某个组受限制,您可以定义该组的成员以及它所属的其他组。不指定这些组成员将使该组完全 受限。只有通过使用安全模板才能使组受限。 查看或修改“受限制的组”设置: .打开“安全模板管理控制台。 注意:默认情况下,“安全模板管理控制台”并没有添加到“管理工具”菜单。要添加它,请启动microsoft 管理控制台(mmc.exe) 并添加“安全模板”加载项 2.双击配置文件目录,然后双击配置文件。 3.双击“受限制的组”项。 4.右键单击“受限制的组” 5.选择“添加组” 6.单击“浏览”按钮,再单击“位置”按钮,选择需浏览的位置,然后单击“确定”。 注意:通常这会使列表的顶部显示一个本地计算机。 7.在“输入对象名称来选择”文本框中键入组名并按“检查名称”按钮。 单击“高级”按钮,然后单击“立即查找”按钮,列出所有可用组。 选择需要限制的组,然后单击“确定”。 单击“添加组”对话框上的“确定”来关闭此对话框。 对于所列出的组来说,将添加当前不是所列组成员的任何组或用户,而当前已是所列组成员的所有 用户或组将从安全模板中删除。 为完全限制“power users”组,此组的所有用户和组成员的设置都将删除。对于组织中不准备使用的内置组(例如“backup operators”组),建议您限制它。 如何使用组策略的进行软件分发和如何制作.msi文件?

关于用户权限的数据库设计

1设计思路 为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。 1.1用户 用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。 用户通常具有以下属性: 编号,在系统中唯一。 ü名称,在系统中唯一。 ü用户口令。 ü注释,描述用户或角色的信息。 1.2角色 角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述角色信息 1.3权限 权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、 修改和删除功能,通常具有以下属性: ü编号,在系统中唯一。 ü名称,在系统中唯一。 ü注释,描述权限信息 1.4用户与角色的关系 一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如l用户(User): UserID UserName UserPwd 1张三xxxxxx 2李四xxxxxx …… l角色(Role): RoleID RoleName RoleNote 01系统管理员监控系统维护管理员 02监控人员在线监控人员 03调度人员调度工作人员 04一般工作人员工作人员…… 从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。 1.5权限与角色的关系 一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角色。例如:l角色(Role): RoleID RoleName RoleNote 01系统管理员监控系统维护管理员 02监控人员在线监控人员

Cognos8开发示例

Cognos8开发示例 报表开发示例 数据准备: 准备业务元数据->分主题建目录->建立表连接->数据处理->发布数据包 一使用FM组织数据 导入业务元数据,同《cognos使用指南_多维分析.DOC》之使用FM制作IQD文件的1-6步; 1、可以新建一文件夹,专门存放某一报表所需的query subject; 2、在此文件夹下创建query; 方法一:在现有模型下直接拖拽字段;

从不同的表里拖入想要的字段; 进入“Test-》Test sample”可以测试数据是否准确;注意:如果用到的表之间没关联,则会出现如下错误;

解决办法:两两表间分别建立连接; 比如:dimclass与dimrisk是一对多的关系:而dimrisk与dimkind也是一对多的关系: 再test,OK。 方法二:手工写SQL; 2、选data source项;

选择已经建好的data source,可以随意添加几个字段,可以不加过滤及表间连接条件,直接完成,点开新建的query,修改sql语句; 3、建一主表,方法同上。打包发布即可。

二把cube作为数据源生成报表 打开analysis studio,选择一个cube数据包,拖拽出想要的数据,选择“文件-》在report studio中打开”,进而调整整体图表布局; 打开后,如下图所示; 单击“插入表格”,

分别拖动图与表到一行的两个单元格里,运行结果; 也可以点击“结构-》页眉和页脚”添加表头; 特别提醒,此时的图表同样具有向下追溯、向上追溯的功能,并且图随表的数据变化而变化、或者表随图的变化而变化。 Cube开发示例 开发流程:

数据库用户权限划分共5页word资料

数据库用户权限划分 一、数据库公共对象设定 公共对象是指在数据库中大家经常要用到的一些参数表、视图等实例。以及由某个开发的可以共用的一些函数、过程、程序集等功能模块。凡是可以连接该数据库中用户均具备此项权限。可在对象属性中设置此权限。 二、数据库用户权限设定 用户权限是指用户对于该数据库中的所有对象拥有的权限。用户不需要对特定对象设置即可拥有。可在数据库上设置此权限。 三、局部权限设定 局部权限是指用户只对数据库中的部分对象拥有权限。可在登录属性的用户映射中设置此权限。其中自定义角色(按需)是指自定义的一组数据库角色。 四、数据库角色权限设定 数据库角色是一种数据库对象。可根据数据库的对象应用情况设定选取的对象范围,然后设置相关权限。可在当前库“安全”—“角色”中设置此角色。 五、案例(保险库insurance权限划分) (一)公共表权限设置(创建位置:服务器—数据库—表) dbo.Par_Area_mp dbo.Par_BJ_8_area dbo.Par_Status dbo.Par_徐汇闵行路名 (二)添加数据库角色(创建位置:服务器—数据库—安全性—角色—数据库角色) i.保险查询 ii.保险更新 iii.全库查询 iv.全库更改 v.全库更新 vi.外部库查询

vii.外部库更新 (三)创建用户(创建位置:服务器—安全性—登录名),并设置数据库角色。

Test

(四)连接使用 i.只连接了有查看权限的表 ii.可以进行查询操作 iii.不可以创建表 iv.不可以删除表 v.不可以对表中数据进行删除 vi.不可以对表进行写入

Cognos报表开发技巧整理

1实现行属性的目录树展开功能。 1.1在LIST报表中的现实 1.拖入6个字段,并且对产品系列、产品类型分组,如下图: 2.添加产品系列、产品类型的页眉

3.拆分产品系列、产品类型的单元格 4.将产品系列、和产品类型的汇总拖到产品名称处

5.删除产品系列,产品类型 6.打开列表的锁

7.按住CTRL,拖动数量、单位成本、单价到产品类型,产品系列的页眉处 8.在report page中插入HTML控件,然后拷贝如下代码进去,下面代码主要是定义了两个函数,一个用于目录树的展开与缩进,另一个用于页面初始化时隐藏一些数据,下面代码只支持到2层目录,更详细的含义可参考的在交叉表中实现目录树功能的注释。 代码如下: