Oracle BIEE 12c用户权限系统操作文档(下)

Oracle BIEE 12c用户权限系统操作文档(下)

本文涉及用户、用户组和应用程序角色系统的操作和对oracle 11g数据库、hive、Impala三种数据源的分用户项目视图权限细粒度权限管理操作。

以下操作均为个人研究成果,研究整理不易,这里分享出来是希望能和大家共同探讨,不足之处还望指出。

四、安装windows端的Oracle BIEE

因OBIEE的BI 管理工具只在Windows版本的BIEE存在(官网和博客多次确认),需在windows端下载对应版本BIEE安装,安装同时会自动在Windows端安装相应ODBC驱动,安装过程可参考Linux版本BIEE安装过程(无需配置环境变量,文件夹路径相似,Linux的.sh操作在Windows对应.cmd操作)

五、配置Windows端ODBC

1.Windows自带搜索程序和文件中搜索”“ODBC”,并打开

Oracle BIEE 12c用户权限系统操作文档(下)

2.点击“系统DSN”,选择“添加”

Oracle BIEE 12c用户权限系统操作文档(下)

3.列表中选择“Oracle BI Server”,“完成”

4.填入“名称”和“服务器IP”,“下一步”

Oracle BIEE 12c用户权限系统操作文档(下)

5.浏览器登陆融合中间件控制界面:http://ip:9500/em,点击“biinstance”

Oracle BIEE 12c用户权限系统操作文档(下)

6.点击“可用性”,打开“BI Server”,查看对应的端口(这里是9515)

Oracle BIEE 12c用户权限系统操作文档(下)

7.回到ODBC配置界面,将第6步得到的端口号填入,点击“下一步”,“完成”

Oracle BIEE 12c用户权限系统操作文档(下)

六、连接Linux端BI Server

1.启动BI 管理工具

在Windows下的BIEE安装目录$Oracle_ Home/user_projects\domains\bi\bitools\bin下找到“admintool.cmd”,双击打开。

2.点击第三个文件夹图标“联机打开”选项

Oracle BIEE 12c用户权限系统操作文档(下)

3.此方法不推荐,为第2条备选方案,这里仅作了解:

选择脱机打开RPD文件进行编辑,需要使用BIEE自带工具命令提取RPD:/opt/oraBI/Middleware/Oracle_Home/user_projects/domains/bi/bitools/bin./datamodel.sh downloadrpd -O obiee.rpd -SI ssi -U adminusername -P adminpassword

将RPD文件传到Windows系统的BI管理工具打开、编辑、保存,再反传回Linux系统中,使用BIEE自带工具命令上传RPD:

/opt/oraBI/Middleware/Oracle_Home/user_projects/domains/bi/bitools/bin/datamodel.sh uploadrpd -I obiee_new.rpd -SI ssi -U adminusername -P adminpassword

重启BIEE。

4.选择之前创建的ODBC驱动,输入BIEE的管理员“用户”和“口令”并“打开”

Oracle BIEE 12c用户权限系统操作文档(下)

5.如图这里会显示BIEE数据的三层结构,优秀的习惯是学好数据建模,下面先介绍Impala数据源的简单导入方式

Oracle BIEE 12c用户权限系统操作文档(下)

七、导入数据源元数据

  • Impala数据源

1.修改Linux系统BIEE的obis.properties文件:

vi /opt/oraBI/Middleware/Oracle_Home//user_projects/domains/bi/config/fmwconfig/bienv/OBIS/obis.properties

配置如下内容(HADOOP_DLL是为连接hive数据源配置的,只用Impala可省略):

LD_LIBRARY_PATH=/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/7.1.4/lib,

/opt/oraBI/Middleware/Oracle_Home/bi/bifoundation/server/bin,

/opt/oraBI/Middleware/Oracle_Home/bi/bifoundation/web/bin,

/opt/oraBI/Middleware/Oracle_Home/bi/clients/Essbase/EssbaseRTC/bin,

/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib,

$ORACLE_INSTANCE,

/usr/lib64,

/opt/oraBI/Middleware/Oracle_Home/lib

HADOOP_DLL=/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib/ARhive28.so

2.修改Linux系统BIEE的odbc.ini文件:

vi /opt/oraBI/Middleware/Oracle_Home/user_projects/domains/bi/config/fmwconfig/bienv/core/odbc.ini

添加如下内容;

[Impala]

Driver=/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/7.1.4/lib/ARimpala27.so

Description=Oracle 7.1 Impala Wire Protocol

ArraySize=16384

Database=default

DefaultLongDataBuffLen=1024

DefaultOrderByLimit=-1

EnableDescribeParam=0

HostName=xxx.xxx.x.xxx

LoginTimeout=30

MaxVarcharSize=2000

PortNumber=21050

RemoveColumnQualifiers=0

StringDescribeType=12

TransactionMode=0

UseCurrentSchema=0

WireProtocolVersion=2

3.重启BIEE的obis服务

cd /opt/oraBI/Middleware/Oracle_Home/user_projects/domains/bi/bitools/bin

./stop.sh -i obis1

./start.sh -i obis1

4.打开Windows系统的ODBC配置界面,选择“系统DSN”,点击“添加”,在列表中找到“Oracle 7.1 Impala Wire Protocol”,点击“完成”

5.添入ODBC名称(Impala),添加Impala的主机的ip、端口号(21050)和数据库名称(default)

Oracle BIEE 12c用户权限系统操作文档(下)

6.点击下方的“Test Connect”,输入登陆Impala的Linux系统账户名称和密码,点击“ok”

Oracle BIEE 12c用户权限系统操作文档(下)

7.出现该提示表示成功,即可保存退出ODBC编辑

Oracle BIEE 12c用户权限系统操作文档(下)

8.打开BI 管理工具,依次选择左上方的“文件”、“导入元数据”

9.连接类型选择“ODBC 3.5”,列表中选择“Impala”,填入Linux系统登陆Impala的用户名、密码,点击“下一步”,再次“下一步”,

Oracle BIEE 12c用户权限系统操作文档(下)

10.选择要导入的库(default),添加进右侧“资料档案视图”,点击“完成”,等待元数据导入完毕自动退出

Oracle BIEE 12c用户权限系统操作文档(下)

11.在“物理层”中可见刚刚导入的数据库“Impala”,右键点击“Impala”库中的表,选则“属性”,点击“检出”

Oracle BIEE 12c用户权限系统操作文档(下)

12.点击“外键”和“+”

Oracle BIEE 12c用户权限系统操作文档(下)

13.添加与之关联外键的另一张表(BIEE硬性规定添加的表需要外键关联,可随意关联一表来使检查通过)

Oracle BIEE 12c用户权限系统操作文档(下)

14.选择一张表,点击“选择”,在两张表中随意选择类型相同的两个列的名称进行关联,点击“确定”

15.右键点击“Impala”,选择“属性”,会提示“数据库具有只读属性。是否要检出它?”,点击“是”

16.点击“功能”,点击“重置为默认值”,点击“确定”(OBIEE 12C有微小的改动,需要重置下默认功能,否则接下来会错误提示)

Oracle BIEE 12c用户权限系统操作文档(下)

17.按住物理层的“Impala”,将其拖动至“业务模型和映射层”,再拖动至“表示层”,在这两层中可为数据库(Impaladb)和列名进行自定义名称显示

18.点击BI管理工具左上角“检入更改”,待同步检测无误后点击保存图标进行保存

Oracle BIEE 12c用户权限系统操作文档(下)

19.表示层的数据集会以主题区域的形式出现在http://ip:9502/dv/ui中,默认所有用户可见(有时需等待数分钟,并重新登录后可见)

Oracle BIEE 12c用户权限系统操作文档(下)

  • Oracle数据库数据源

1.打开BI管理工具,依次点击“文件”,“导入元数据”,连接类型选择“OCI 10g/11g”填入数据库连接信息,点击“下一步”,“下一步”,选择要添加的表,添加,“完成”

Oracle BIEE 12c用户权限系统操作文档(下)

2.余下步骤和导入Impala表类似,参照Impala数据源第12-19条操作即可

(三)hive数据源

1.修改Linux系统BIEE的obis.properties文件:

vi /opt/oraBI/Middleware/Oracle_Home//user_projects/domains/bi/config/fmwconfig/bienv/OBIS/obis.properties

配置如下内容(若配置过Impala,此步可省):

LD_LIBRARY_PATH=/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/7.1.4/lib,

/opt/oraBI/Middleware/Oracle_Home/bi/bifoundation/server/bin,

/opt/oraBI/Middleware/Oracle_Home/bi/bifoundation/web/bin,

/opt/oraBI/Middleware/Oracle_Home/bi/clients/Essbase/EssbaseRTC/bin,

/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib,

$ORACLE_INSTANCE,

/usr/lib64,

/opt/oraBI/Middleware/Oracle_Home/lib

HADOOP_DLL=/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib/ARhive28.so

2.修改Linux系统BIEE的odbc.ini文件:

vi /opt/oraBI/Middleware/Oracle_Home/user_projects/domains/bi/config/fmwconfig/bienv/core/odbc.ini

添加如下内容;

[Hive]

Driver=/opt/oraBI/Middleware/Oracle_Home/bi/modules/oracle.bi.datadirect.odbc/8.0.2/lib/ARhive28.so

Description=Oracle 8.0 Apache Hive Wire Protocol

ArraySize=16384

Database=default

DefaultLongDataBuffLen=1024

EnableDescribeParam=0

HostName=xxx.xxx.x.xxx

LoginTimeout=30

MaxVarcharSize=20000

PortNumber=10000

RemoveColumnQualifiers=0

StringDescribeType=12

TransactionMode=0

UseCurrentSchema=0

3.重启BIEE的obis服务

cd /opt/oraBI/Middleware/Oracle_Home/user_projects/domains/bi/bitools/bin

./stop.sh -i obis1

./start.sh -i obis1

4.打开Windows系统的ODBC配置界面,选择“系统DSN”,点击“添加”,在列表中找到“Oracle 8.0 Apache Hive Wire Protocol”(使用最新版本驱动),点击“完成”

5.添入ODBC名称(Impala),添加hive的主机的ip(xxx.xxx.x.xxx)、端口号(10000)和数据库名称(default)

6.余下步骤和impala类似,参照Impala数据源6-19操作即可

八、为用户组设置资源访问权限

1.打开BI管理工具,点击“管理”,列表中选择“身份”

Oracle BIEE 12c用户权限系统操作文档(下)

2.点击“操作”,“同步应用程序角色”,待同步完成后点击“应用程序角色”,可见到之前新建的角色“testrole”

Oracle BIEE 12c用户权限系统操作文档(下)

3.双击该角色,在弹出的框中点击“检出”,点击“权限”

Oracle BIEE 12c用户权限系统操作文档(下)

4.其中“对象权限”可设置表和库的可见性,这里通过“数据过滤器”实现角色对表的细粒度控制,点击“数据过滤器”

Oracle BIEE 12c用户权限系统操作文档(下)

5.单击“名称”下方空白区域添加一个要控制的表(以book为例),点击“选择”

Oracle BIEE 12c用户权限系统操作文档(下)

6.点击“数据过滤器”下空白区域,然后点击“编辑表达式”

Oracle BIEE 12c用户权限系统操作文档(下)

7.选中“book”表,“id”列,添加到右侧编辑区域,添加过滤条件(这里点击“=”,输入1,如图"Impaladb"."book"."id" = 1),依次点击“确定”退出编辑

Oracle BIEE 12c用户权限系统操作文档(下)

8.回到BI管理工具点击“检入更改”并“保存”

九、创建共享项目

1.由管理员账户登录http://ip:9502/dv/ui,点击“创建”,“项目”,添加数据集中的“Impaladb”主题区域,选中“book”表,数据展示效果如下:

Oracle BIEE 12c用户权限系统操作文档(下)

2.将项目“另存为”到“共享文件夹”下,可使所有用户可见

3.使用前面新建用户“jeery”登录http://ip:9502/dv/ui ,在共享文件夹中找到之前新建的项目,数据展示效果如下(只显示数据过滤器过滤后的数据):

Oracle BIEE 12c用户权限系统操作文档(下)

4.默认其他用户对该项目只有查看权限,没有修改和删除权限,至此权限管理功能全面实现。