database - 如何将现有用户的权限授予我在 Oracle 中创建的用户?谢谢
问题描述
我希望用户拥有特权的用户是(SQL 开发人员中已经存在的 HR)我试过:
create user myUser
Identified by 12345678
default tablespace ts
profile pf
Account unlock;
Grant all on HR to myUser;
cmd 找不到 HR 用户。谢谢!
解决方案
我想你弄错了。
据我所知,有两种特权:
- 系统权限(您没有授予该权限)
- 对象特权
没有简单的方法可以将一个用户的“全部”(顺便说一句,您称之为“全部”?)授予另一个用户。您可以在某些表上授予 eg select
, update
, delete
... 权限;或者,您可以授予execute
对过程或包的特权。但是,所有这些都需要一个接一个地单独完成。
是的,您可以编写一个脚本来为您完成。例如:
SQL> select 'grant all on ' || table_name || ' to mike;' from user_tables;
'GRANTALLON'||TABLE_NAME||'TOMIKE;'
----------------------------------------------------
grant all on EMP to mike;
grant all on DEPT to mike;
grant all on BONUS to mike;
<snip>
SQL> select 'grant execute on ' || object_name || ' to mike;' from user_procedures;
'GRANTEXECUTEON'||OBJECT_NAME||'TOMIKE;'
--------------------------------------------------------------------------------
grant execute on P_TEST to mike;
grant execute on F_TEST to mike;
<snip>
如果你把它放到一个文件中,你会得到一个可以执行的脚本。
或者,更好的是,考虑创建一个角色,为其授予所需的权限,然后将角色授予另一个用户。
推荐阅读
- c - c - 如何将命令行参数重定向到函数?
- php - 从一个 php 函数更新全局值并使其可用于同一类中的另一个函数
- javascript - discord.js ubuntu 未连接到网关
- python - 对 JSON 对象的 SQL 查询
- css - Angular Prime-ng p-tree,如何更改缩进?
- python - 这段代码有问题吗?还是我的电脑?
- kubernetes - 我可以使用容器文件系统并避免使用 Kubernetes 卷吗?
- google-bigquery - BiqQuery GEOGRAPHY 聚类列 - 最大限制为 1024 字节?
- python - 在 anaconda 中安装软件包时权限被拒绝
- ruby-on-rails - 关联设置正确导致未初始化的常量