oracle如何清空用户信息,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;

原文转载处:http://panpu.cn/News/NewsDetail/1152.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值