设为首页 加入收藏

TOP

Oracle用户的创建和删除
2015-07-24 11:45:19 来源: 作者: 【 】 浏览:2
Tags:Oracle 用户 建和 删除

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;
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇unix&linuxoralce用户内存使.. 下一篇11g新特性_索引的可见与不可见

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++ 语言社区-CSDN社 (2025-12-24 17:48:24)
·CSDN问答专区社区-CS (2025-12-24 17:48:22)
·C++中`a = b = c`与` (2025-12-24 17:48:19)
·C语言结构体怎么直接 (2025-12-24 17:19:44)
·为什么指针作为c语言 (2025-12-24 17:19:41)