Oracle中用户的创建和权限设置
权限:
CREATE SESSION --允许用户登录数据库权限
CREATE TABLE --允许用户创建表权限
UNLIMITED TABLESPACE --允许用户在其他表空间随意建表
角色:
CONNECT 角色:--是授予最终用户的典型权利,最基本的权力,能够连接到ORACLE数据库中,
并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
RESOURCE 角色: --是授予开发人员的,能在自己的方案中创建表、序列、视图等。
DBA 角色,是授予系统管理员的,拥有该角色的用户就能成为系统管理员了,它拥有所有的系统权限
ALTER SESSION --修改会话
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立数据库链接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立会话
CREATE SYNONYM --建立同义词
CREATE VIEW --建立视图
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立过程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立触发器
CREATE TYPE --建立类型
例:
#SQLPLUS /NOLOG
SQL> CONN / AS SYSDBA;
SQL> CREATE USER XIMING IDENTIFIED BY "XIMING123" ACCOUNT UNLOCK DEFAULT TABLESPACE TS_XIMING_DATA TEMPORARY TABLESPACE TS_XIMING_TMP; --USERNAME/PASSWORD都是用户自定义,创建用户时,需要指定数据表空间和,临时表空间
SQL> GRANT UNLIMITED TABLESPACE,SELECT ANY TABLE,SELECT ANY DICTIONARY TO XIMING;
SQL> GRANT CREATE SESSION,CONNECT TO XIMING;
SQL> GRANT CREATE ANY TABLE ,DROP ANY TABLE, CREATE ANY INDEX ,DROP ANY INDEX,ALTER ANY TABLE,COMMENT ANY TABLE,UPDATE ANY TABLE,INSERT ANY TABLE,DELETE ANY TABLE TO XIMING;
SQL> GRANT CREATE ANY VIEW ,DROP ANY VIEW TO XIMING;
SQL> GRANT CREATE ANY PROCEDURE,ALTER ANY PROCEDURE TO XIMING;
SQL> CONN XIMING/XIMING123
SQL> SELECT * FROM USER_SYS_PRIVS;--查看当前用户所有权限
一、创建
SYS;--系统管理员,拥有最高权限
SYSTEM;--本地管理员,次高权限
SCOTT;--普通用户,密码默认为TIGER,默认未解锁
ORACLE有三个默认的用户名和密码
1.用户名:SYS密码:CHANGE_ON_INSTALL
2.用户名:SYSTEM密码:MANAGER
3.用户名:SCOTT密码:TIGER
二、登陆
SQLPLUS / AS SYSDBA;--登陆SYS帐户
SQLPLUS SYS AS SYSDBA;--同上
SQLPLUS SCOTT/TIGER;--登陆普通用户SCOTT
三、管理用户
CREATE USER XIMING;--在管理员帐户下,创建用户 XIMING
ALERT USER XIMING IDENTIFIED BY XIMING666;--修改密码
四、授予权限
1、默认的普通用户SCOTT默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限
--授予 XIMING 用户创建SESSION的权限,即登陆权限,允许用户登录数据库
GRANT CREATE SESSION TO XIMING;
--授予XIMING用户使用表空间的权限
GRANT UNLIMITED TABLESPACE TO XIMING;
--授予创建表的权限
GRANT CREATE TABLE TO XIMING;
--授予删除表的权限
GRANTE DROP TABLE TO XIMING;
--插入表的权限
GRANT INSERT TABLE TO XIMING;
--修改表的权限
GRANT UPDATE TABLE TO XIMING;
--这条比较重要,授予所有权限(ALL)给所有用户(PUBLIC)
GRANT ALL TO PUBLIC;
2、ORALCE对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
GRANT SELECT ON TABLENAME TO XIMING;--授予XIMING用户查看指定表的权限
GRANT DROP ON TABLENAME TO XIMING;--授予删除表的权限
GRANT INSERT ON TABLENAME TO XIMING;--授予插入的权限
GRANT UPDATE ON TABLENAME TO XIMING;--授予修改表的权限
GRANT INSERT(ID) ON TABLENAME TO XIMING;
--授予对指定表特定字段的插入和修改权限,注意,只能是INSERT和UPDATE
GRANT UPDATE(ID) ON TABLENAME TO XIMING;
GRANT ALERT ALL TABLE TO XIMING;--授予XIMING用户ALERT任意表的权限
五、撤销权限
基本语法同GRANT,关键字为REVOKE
六、查看权限
SELECT * FROM USER_SYS_PRIVS;--查看当前用户所有权限
SELECT * FROM USER_TAB_PRIVS;--查看所用用户对表的权限
七、操作表的用户的表
SELECT * FROM XIMING.<TABLENAME>(用户.表明);
八、权限传递
即用户A将权限授予B,B可以将操作的权限再授予C,命令如下:
GRANT ALERT TABLE ON TABLENAME TO XIMING WITH ADMIN OPTION;--关键字 WITH ADMIN OPTION
GRANT ALERT TABLE ON TABLENAME TO XIMING WITH GRANT OPTION;--关键字 WITH GRANT OPTION效果和ADMIN类似
九、角色
角色即权限的集合,可以把一个角色授予给用户
CREATE ROLE XIHONG;--创建角色
GRANT CREATE SESSION TO XIHONG;--将创建SESSION的权限授予XIHONG
GRANT XIHONG TO XIMING;--授予XIMING用户XIHONG的角色
DROP ROLE XIHONG;删除角色