创建用户
1.首先登陆到系统用户sys(sys用户具有创建用户的权限)。
2.然后在代码编辑框写入创建用户的代码。
语法:CREATE USER uer_name IDENTIFIED BY password;
示例:CREATE USER student IDENTIFIED BY 123456;创建了一个student用户,登陆密码为123456.
3.default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间
temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间
给用户分配权限
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角色:允许用户连接数据库
RESOURCE角色:允许用户创建相关的数据库对象,如表、序列等
然而,在实际操作时我们有一次性分配多种权限的语句,如:GRANT CONNECT,RESOURCE TO student;给student用户分配了连接数据库,创建表,创建序列(无视图权限)等基本权限,足够初学者使用和操作了。
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用户下:
语法:CONN student/123456
PASSWORD;
password必须放在下一行。
sys用户下:
语法: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;
2.注意:在删除用户时,如果用户架构包含对象(如,表),那么在删除用户的时候可以在DROP USER语句的用户名后面使用CASCADE关键字进行级联删除。但是需要注意是的是,要确保用户中的这些对象没有其他用户还需要访问。