Oracle 我需要将所有特权授予我的本地数据库用户

Oracle 我需要将所有特权授予我的本地数据库用户,oracle,database-administration,Oracle,Database Administration,我需要创建任何东西的能力,尤其需要拥有调试特权 我家里有一个Oracle数据库,我想对我的工作PC数据库运行它的导出脚本,但我不想使用系统用户 我尝试了向我的用户授予connect、resource、dba但我仍然无法创建视图 这是一篇短文,展示了如何向Oracle中的用户授予“所有权限”,更重要的是,需要哪些权限才能做到这一点。这是我最近在一个新闻组/邮件列表上发的帖子。这仅供参考,因为了解这一点很有用,但这里需要强调的一个重要事实是,我想不出任何情况,也不知道什么时候应该将所有特权授予任何人

我需要创建任何东西的能力,尤其需要拥有调试特权

我家里有一个Oracle数据库,我想对我的工作PC数据库运行它的导出脚本,但我不想使用系统用户


我尝试了
向我的用户授予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?这是我和所有人未来参考的一个自我回答问题。他要求在本地开发系统上获得特权,安全问题应该不那么严重。