我需要向用户授予对象权限,但我不是架构的所有者。 我尝试过使用System用户,但我也不能。 我的远景是使用Sys用户(系统除外),但它已停用,我无法用我的用户激活它。
我有没有办法向用户授予该权限?我不能要求架构的所有者这样做,因为她今天辞职了...而且我不想改变她的数据库用户的密码。
我知道在某些时候我需要创建一个新的DBAdmin用户并创建这些模式的备份,因为当我的同事的SAP用户被删除时,它将删除所有Hana用户和数据库用户用它创建和授予的对象,角色和特权。
答案 0 :(得分:1)
哦,哦! 在这里删除用户非常小心,因为 - 正确写入 - 删除会产生级联效应。
此外: 您必须拥有对象的所有权或您要授予授权选项的权限。 使用SYSTEM用户无济于事,无论如何都不能使用SYS登录数据库。
由于也无法接管所有权,唯一真正的方法是找出用户创建/执行的对象和权限授予。
然后登录到用户并将授权重构为涵盖对象权限的角色。 下一步,您可以考虑创建一个非登录用户来拥有对象,然后执行用户对象的导入/导出。
最后,您可以使用对象所需的权限创建设计时角色。这允许具有ROLE ADMIN权限的用户授予/撤销权限,这使管理更容易,结构更好。
答案 1 :(得分:1)
不确定
(
SELECT "SCHEMA_NAME",
'' AS "OBJECT_NAME",
'SCHEMA' AS "OBJECT_TYPE", "SCHEMA_OWNER" as "OWNER_NAME"
FROM "PUBLIC"."SCHEMAS"
WHERE SCHEMA_OWNER = 'A' UNION ALL
SELECT "SCHEMA_NAME", "OBJECT_NAME",
"OBJECT_TYPE", "OWNER_NAME" FROM "PUBLIC"."OWNERSHIP"
WHERE
"SCHEMA_NAME" IN
( SELECT "SCHEMA_NAME" from "PUBLIC"."SCHEMAS"
WHERE "SCHEMA_OWNER" = 'A' ) OR "OWNER_NAME" = 'A'
) ORDER BY "SCHEMA_NAME" ASC, "OBJECT_NAME" ASC;
你在我写的SAP HANA书中找到了这个以及许多其他有用的东西:https://www.sap-press.com/sap-hana-administration_3506/