前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle用户的创建和删除

Oracle用户的创建和删除

作者头像
bisal
发布2019-01-29 11:58:54
1.6K0
发布2019-01-29 11:58:54
举报

1. 创建用户

SQL> create user user01 identified by user01;

User created.

但登录提示01045的错误,缺少CREATE SESSION权限。

ERROR: ORA-01045: user USER01 lacks CREATE SESSION privilege; logon denied Enter user-name:

此时需要赋予connect权限给用户(原因见(2)),登陆后创建表提示01031错误:

SQL> create table t(x number); create table t(x number) * ERROR at line 1: ORA-01031: insufficient privileges

再次赋予resource权限给用户(原因见(2)),就可以创建表了。

2. 需要为用户授予connect和resource权限

SQL> grant connect, resource to user01;

Grant succeeded.

下面来说说为什么需要connect和resource权限,

关于connect和resource的权限可参见之前的博客文章:http://blog.itpub.net/7192724/viewspace-1184490/

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

SQL> select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege;

GRANTEE                              PRIVILEGE

------------------------------ ---------------------------------------- RESOURCE                            CREATE CLUSTER RESOURCE                            CREATE INDEXTYPE RESOURCE                            CREATE OPERATOR RESOURCE                            CREATE PROCEDURE RESOURCE                            CREATE SEQUENCE RESOURCE                            CREATE TABLE RESOURCE                            CREATE TRIGGER RESOURCE                            CREATE TYPE 8 rows selected. SQL> select grantee,privilege from dba_sys_privs where grantee='CONNECT' order by privilege;

GRANTEE                              PRIVILEGE ------------------------------ ---------------------------------------- CONNECT                             CREATE SESSION

因此具有connect的用户就有sqlplus创建SESSION的权限,至于创建表就靠resource权限。

3. 删除用户

SQL> drop user user01; drop user user01 * ERROR at line 1: ORA-01922: CASCADE must be specified to drop 'USER01'

报错说明该用户下有创建的其他对象,如果删除用户,有两种方法:

1. 删除用户下的对象:

登录user01后执行:

SQL> drop table tbl_seg;

Table dropped.

再次登录SYS执行:

SQL> drop user user01;

User dropped.

2. 使用CASCADE级联删除:

drop user user01 cascade;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年08月08日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档