Oracle 我需要将所有特权授予我的本地数据库用户
我需要创建任何东西的能力,尤其需要拥有调试特权 我家里有一个Oracle数据库,我想对我的工作PC数据库运行它的导出脚本,但我不想使用系统用户Oracle 我需要将所有特权授予我的本地数据库用户,oracle,database-administration,Oracle,Database Administration,我需要创建任何东西的能力,尤其需要拥有调试特权 我家里有一个Oracle数据库,我想对我的工作PC数据库运行它的导出脚本,但我不想使用系统用户 我尝试了向我的用户授予connect、resource、dba但我仍然无法创建视图 这是一篇短文,展示了如何向Oracle中的用户授予“所有权限”,更重要的是,需要哪些权限才能做到这一点。这是我最近在一个新闻组/邮件列表上发的帖子。这仅供参考,因为了解这一点很有用,但这里需要强调的一个重要事实是,我想不出任何情况,也不知道什么时候应该将所有特权授予任何人
我尝试了
向我的用户授予connect、resource、dba代码>但我仍然无法创建视图 这是一篇短文,展示了如何向Oracle中的用户授予“所有权限”,更重要的是,需要哪些权限才能做到这一点。这是我最近在一个新闻组/邮件列表上发的帖子。这仅供参考,因为了解这一点很有用,但这里需要强调的一个重要事实是,我想不出任何情况,也不知道什么时候应该将所有特权授予任何人。这完全没有必要。正确地完成工作,找出手头工作所需的确切权限,并授予这些权限。授予所有权限是一种安全风险,因为这意味着拥有这些权限的用户可以在数据库中执行任何操作
记住,在任何时候都要使用最小特权原则,并给予所需的权利。不要为了迅速完成工作而放弃一切。下面是示例代码
Connected to:
Personal Oracle9i Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL>
SQL> sho user
USER is "SYSTEM"
SQL> select * from system_privilege_map
2 where name like '%PRIV%';
PRIVILEGE NAME PROPERTY
---------- ---------------------------------------- ----------
-167 GRANT ANY PRIVILEGE 0
-244 GRANT ANY OBJECT PRIVILEGE 0
SQL>
SQL> -- Create a new user with just create session (to log on) and grant
SQL> -- any privilege to, well grant all privileges.
SQL> create user emil identified by emil;
User created.
SQL> grant create session, grant any privilege to emil;
Grant succeeded.
SQL> -- because we want to test this privilege create a second user to
SQL> -- test it with
SQL> create user zulia identified by zulia;
User created.
SQL> -- connect as emil and grant all privileges to Zulia
SQL> connect emil/emil@sans
Connected.
SQL> grant all privileges to zulia;
Grant succeeded.
SQL> -- connect as system and find out if it worked.
SQL> connect system/manager@sans
Connected.
SQL> select count(*),grantee
2 from dba_sys_privs
3 where grantee in ('MDSYS','EMIL','ZULIA')
4* group by grantee
SQL> /
COUNT(*) GRANTEE
---------- ------------------------------
2 EMIL
139 MDSYS
139 ZULIA
SQL>
我们使用MDSYS
作为检查点,因为MDSYS
拥有授予它的所有特权
默认情况下,在Oracle的默认安装中。你需要的特权
因此,授予任何特权
该(已弃用的)资源
特权肯定会授予您创建视图的权限。一定有什么事你没有告诉我们。您得到的确切错误消息是什么?在授予特权后,您是否尝试使用myuser
再次断开连接?A是否希望将用户priv作为完整系统和sysdba?这是我和所有人未来参考的一个自我回答问题。他要求在本地开发系统上获得特权,安全问题应该不那么严重。