oracle用户管理

n  创建用户(简单版)

概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。

基本语法:create user 用户名 identified by 密码

n  给用户修改密码

概述:如果给自己修改密码可以直接使用

sql>password 用户名

如果给别人修改密码则需要具有dba的权限,或是拥有alter user的系统权限,也可以使用password 用户名

sql>alter user 用户名 identified by 新密码

u  表空间

什么是表空间:表存在的空间,一个表空间是指向具体的数据文件

创建用户(细节)

例子:sql>create user shunping identified by m123

          default tablespace users

          temporary tablespace temp

          quota 3m on users;

identified by 表明用户shunping将用数据库方式验证

default tablespace users  //用户的表空间在users上

tempporary tablespace temp  //用户shunping的临时表建在temp空间

quota 3m on users   //表明用户顺平建立的数据对象(表、索引、视图、pl/sql块...)最大只能是3m,刚刚创建的用户是没有任何权限的,因此,需要dba给该用户授权

sql>grant connect to shunping

如果你希望该用户建表没有空间的限制

sql>grant resource to shunping

如果你希望该用户成为dba

sql>grant dba to shunping

n  用户管理的综合案例

概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其制定相应的权限。给一个用户赋权限使用的命令grant,回收权限使用命令revoke。

基本语法:grant 权限/角色 to 用户

          revoke 权限/角色 from 用户

①创建xiaoming,并赋予connect和resource

②回收权限

综合案例:创建一个用户xiaohong,然后给他分配两个角色,可以让xiaohong登录、创建表,可以操作(CRUD)自己创建表,然后回收角色,最后删除用户。

(1)使用system创建xiaohong

create user xiaohong identified by m123;

(2)给xiaohong分配几个常用角色

grant connect to xiaohong;

grant resource to xiaohong;

(3)让xiaohong登录

connect xiaohong/m123;

(4)xiaohong修改密码

password xiaohong

(5)xiaohong创建一张简单的表

create table ......

(6)使用system登录,然后回收角色

revoke connect from xiaohong;

revoke connect from xiaohong;

(7)删除用户

drop user xiaohong cascade;

☞当我们删除一个用户的时候,如果这个用户自己已经创建过数据对象,那么我们在删除用户的时候,需要加选项cascade,表示把这个用户删除的同时,把该用户创建的数据对象一并删除。

u 方案(schema

理解:当一个用户创建好后,如果该用户创建了任意一个数据对象,我们的dbms就会创建一个对应的方案与该用户对应,并且该方案的名字和用户名一致

☞小技巧:如果希望看到某个用户的方案究竟有什么数据对象,我们可以用pl/sql developer

方案的实际应用,要求:让xiaohong可以查看scott的emp表

步骤1:先用scott登录,

conn scott/tiger;

步骤2:赋权限

grant select [update delete insert all]on emp to xiaohong;

步骤3:xiaohong查询scott的emp表时,需要

原文地址:https://www.cnblogs.com/fanweisheng/p/11113644.html