一个新的HANA系统,第一次创建HANA用户,折腾了好久,最好在网上找到些资料,终于创建用户,并登陆成功,
1.一、用SYSTEM用户登陆,
2.二、创建用户
打开,Security->User,点击右键,选择“New User”,输入用户名及密码,并保存
以下以创建用户YANGSEN为例。

3.二、赋以权限
在创建完成用户后,可以直接在用户窗口中手动添加相关权限,以下以命令方式添加权限。
在登陆的系统上右键,选择Open Sql Console ,打开执行

4.三、执行以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
GRANT REPO.READ on ".REPO_PACKAGE_ROOT" to YANGSEN; GRANT REPO.ACTIVATE_NATIVE_OBJECTS on ".REPO_PACKAGE_ROOT" to YANGSEN; GRANT REPO.MAINTAIN_NATIVE_PACKAGES on ".REPO_PACKAGE_ROOT" to YANGSEN; GRANT REPO.EDIT_NATIVE_OBJECTS on ".REPO_PACKAGE_ROOT" to YANGSEN; GRANT REPO.READ on "sap" to YANGSEN; GRANT REPO.READ on "system-local" to YANGSEN; GRANT REPO.READ on "Z001" to YANGSEN; GRANT REPO.ACTIVATE_NATIVE_OBJECTS on "Z001" to YANGSEN; GRANT REPO.MAINTAIN_NATIVE_PACKAGES on "Z001" to YANGSEN; GRANT REPO.EDIT_NATIVE_OBJECTS on "Z001" to YANGSEN; GRANT REPO.ACTIVATE_IMPORTED_OBJECTS on "Z001" to YANGSEN; GRANT REPO.MAINTAIN_IMPORTED_PACKAGES on "Z001" to YANGSEN; GRANT REPO.EDIT_IMPORTED_OBJECTS on "Z001" to YANGSEN; /*Package end /*Export and Import –不解释,使之具有表、模型对象的导入导出权限 */ GRANT REPO.EXPORT TO YANGSEN; GRANT REPO.IMPORT TO YANGSEN; GRANT IMPORT TO YANGSEN; GRANT EXPORT TO YANGSEN; GRANT REPO.MAINTAIN_DELIVERY_UNITS TO YANGSEN; /*Export and Import end */ /*Analytic Privilege –使之具有创建和管理Analytic Privilige的权限 */ GRANT CREATE STRUCTURED PRIVILEGE TO YANGSEN; GRANT STRUCTUREDPRIVILEGE ADMIN TO YANGSEN; /*Analytic Privilege end*/ /*Model –激活的Column View在Schema _SYS_BIC,其元数据在Schema _SYS_BI中,需要对其具有选择和执行权限 */ GRANT EXECUTE ON SYS.REPOSITORY_REST TO YANGSEN; GRANT SELECT ON SCHEMA "_SYS_BI" TO YANGSEN; GRANT EXECUTE ON SCHEMA "_SYS_BI" TO YANGSEN; GRANT SELECT ON SCHEMA "_SYS_BIC" TO YANGSEN; GRANT EXECUTE ON SCHEMA "_SYS_BIC" TO YANGSEN; //下面这两句,我是在用SAPHANADB这个用户名执行才成功的,看后面的说明。 //这里的SAPHANADB名字可能每个系统不一样,看后面说明。 GRANT SELECT ON SCHEMA "SAPHANADB" TO T_YANGSEN; GRANT EXECUTE ON SCHEMA "SAPHANADB" TO T_YANGSEN; /*对新用户赋_SYS_BI_CP_ALL权限。注意,如果用户有这个权限,那么该用户可以看到所有的数据, 其他的——-Analytic Privilege就会失效。 在生产环境下,需要谨慎赋予该权限。可以根据需要自定义一些Analytic ——Privilege赋予新用户,使其只能看到该看的数据。 */ CALL GRANT_ACTIVATED_ANALYTICAL_PRIVILEGE ('_SYS_BI_CP_ALL', 'YANGSEN'); /*Model end*/ /*XS IDE only for 7.0 –如果你的SAP HANA版本足够高,你可以使用SAP HANA XS引擎提供的基于Web的管理工具,下面的Privilege就—-是控制新用户具有访问这个Web管理工具哪些权限 */ CALL GRANT_ACTIVATED_ROLE('sap.hana.xs.ide.roles::CatalogDeveloper','YANGSEN'); CALL GRANT_ACTIVATED_ROLE('sap.hana.xs.ide.roles::EditorDeveloper','YANGSEN'); CALL GRANT_ACTIVATED_ROLE('sap.hana.xs.ide.roles::TraceViewer','YANGSEN'); CALL GRANT_ACTIVATED_ROLE('sap.hana.xs.debugger::Debugger','YANGSEN'); |
5.其它问题
如上执行处理后,可正常使用HANA了,但我在创建属性视图(Attribute View)使用时还是出现了错误,首先是发现在第3步添加数据对象时找不到任何的数据对像表,包括MARA,MAKT等任何表,然后检查Catalog->SYSTEM下的表是空的,所以猜原因是为这里,然后发现从SAPGUI,中得到如图

并检查Catalog->SAPHANADB下,有所有的的及其它的内容,所在就想在我的用户下要加入,SAPHANADB的Catalog对像。
所以执行如下代码
1 2 |
GRANT SELECT ON SCHEMA "SAPHANADB" TO YANGSEN; GRANT EXECUTE ON SCHEMA "SAPHANADB" TO YANGSEN; |
但在用户SYSTEM下执行时报错:
Could not execute ‘GRANT EXECUTE ON SCHEMA “SAPHANADB” TO T_YANGSEN’
SAP DBTech JDBC: [258]: insufficient privilege: Detailed info for this error can be found with guid ‘DE0C361783747842943BEC8FFDC62305’
又折腾了好一会才想起用用户:SAPHANADB登陆来执行,或者在用户的Object Privileges中增加SAPHANADB对像,并选择中SELCET EXECUT,

激活用户使用,再终于使用正常了,