Oracle中用户的基本操作

创建用户

1.首先登陆到系统用户sys(sys用户具有创建用户的权限)。

2.然后在代码编辑框写入创建用户的代码。

  语法:CREATE USER user_name IDENTIFIED BY password

     [ACCOUNT LOCK|UNLOCK]   lock:给用户上锁;unlock:解锁用户。(和connnect角色无关)

     [DEFAULT TABLESPACE default_tablespace]  default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间

     [TEMPORARY TABLESPACE temporary_tablespace];  temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间

  示例:CREATE USER student IDENTIFIED BY 123456;创建了一个student用户,登陆密码为123456.

给用户分配权限

1.如果想让用户在数据库里完成一些任务,需要相应的给用户授予权限。如:如果想让用户连接到数据库,必须授予用户CREATE SESSION的系统权限。

2.授权必须通过一些特殊用户授权(例如SYSTEM),通过GRANT语句来完成。下表列出了用户可能用到的权限。

系统权限

允许用户的操作

CREATE SESSION

连接到数据库

CREATE SEQUENCE

创建序列,用来生成一系列的数值

CREATE SYNONYM

创建同义词

CREATE TABLE

在用户架构中创建表

CREATE ANY TABLE

在任意架构中创建表

DROP TABLE

从用户架构中删除表

DROP ANY TABLE

在任意构架中删除表

CREATE PROCEDURE

创建存储过程

EXECUTE ANY PROCEDURE

在任意架构中执行存储过程

CREATE USER

创建用户

DROP USER

删除用户

CREATE VIEW

创建视图

  语法:GRANT CREATE SESSION TO student;给用户student分配连接的权限。

  CONNECT角色:主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT角色,拥有CONNECT角色可以与服务器建立连接会话(SESSION,客户对服务器连接称为会话。)

  RESOURCE角色:更可靠的和正式的用户可以授予RESOURCE角色.RESOURCE角色提供给用户创建表,序列,过程(procedure),触发器(tigger),索引(index)等。

  一般情况下,一个普通的用户,如scott,拥有connect和resource权限即可进行常规的数据库开发工作。

3.分配了权限之后的用户也可以给别的用户分配它自身所拥有的权限,但是前提是它被分配权限的时候最后有WITH  ADMIN OPTION字样。

撤销用户权限

1.关键字:REVOKE.

  示例:REVOKE CONNECT FROM student;

2.注意:如果student用户给别的用户分配了权限,那么撤销student的权限时,student用户分配权限的用户的权限不会改变。

修改用户密码

1.一般修改的时候都会用到ALTER关键字来打头,就如创建时候一样使用的关键字是CREATE。

  语法:ALTER USER student IDENTIFIED BY 111111;修改student用户的密码为111111.

2.我们也可以用password来可视化修改密码。

  student用户下和sys用户下都可以:

  2-1.语法:CONN student/123456

       PASSWORD;

  password必须放在下一行。

  2-2语法:CONNECT student/123456

       PASSWORD;

  password必须放在下一行。

查询用户信息

1.在Oracle数据库中,可以通过DBA_USERS查询出包含与用户和用户特征相关的信息。(它查出来的是所有用户的信息) 

  语法:SELECT username,user_id,password,default_tablespace

     FROM dba_users;

2.如果要查询当前用户的信息,则可以登录你想查询的用户,然后使用Select * from user_role_privs;语句来查看它的信息。

删除用户

1.关键字DROP,例如删除student用户。

  示例:DROP USER student [cascade --作用是级联删除即删除用户的对象(表。。),但注意删除是这些对象没有被其它用户访问];

2.注意:在删除用户时,如果用户架构包含对象(如,表),那么在删除用户的时候可以在DROP USER语句的用户名后面使用CASCADE关键字进行级联删除。但是需要注意是的是,要确保用户中的这些对象没有其他用户还需要访问。

原文地址:https://www.cnblogs.com/bzx888/p/4802772.html