欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库Oracle Review SectionⅡ Oracle用户管理

程序员文章站 2022-04-26 12:28:33
...

创建表空间

安装完数据库后,会自动创建一些表空间如:SYSTEM、TEMP、UNDO、USERS分别为系统表空间、临时表空间 、重做日志表空间、用户表空间(创建普通用户时默认表空间) 

创建表空间语法

/*创建数据表空间 */ 
create tablespaceuser_data 
logging datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' 
size 50m 
autoextend on 
next 50m 
maxsize 20480m 
extent management local; //此项可以不写
/*查看表空间是否创建成功*/
Select file_name,tablespace_name from dba_data_files order by  file_name;
/*查询每个用户的默认表空间 */
Select user_id,username,default_tablespace from  dba_users;
/*普通用户的默认表空间 假设已创建表空间 user_data*/
Alter database default tablespace user_data;
/*修改表空间名称*/
Alter tablespace user_datarename to  user1;
/*删除表空间*/ 
drop tablespace user1 ;
drop tablespace user1 including contents and datafiles;

Oracle 默认用户

Oracle 有几个默认的数据库用户——可通过select * from all_users查看所有用户
 

数据库Oracle Review SectionⅡ Oracle用户管理

创建新用户

要连接到Oracle数据库,就需要创建一个用户帐户

每个用户都有一个默认表空间和一个临时表空间

CREATE USER命令用于创建新用户

语法

CREATE USER username IDENTIFIED BY password [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE tablespace];

示例

SQL> CREATE USER philis  IDENTIFIED BY philis;
SQL> CREATE USER tea  IDENTIFIED BY tea;

授予权限

权限指的是执行特定命令或访问数据库对象的权利

权限有两种类型,系统权限和对象权限

系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限

对象权限允许用户对数据库对象(如表、视图 、序列等)执行特定操作 

角色是一组相关权限的组合,可以将权限 授予角色,再把角色授予用户,以简化权限管理

系统权限

Oracle把权限进行了细分,允许用户执行某些数据库操作,主要的系统权限如:

CREATE PROCEDURE,CREATE ROLE,CREATE SEQUENCE CREATE SESSION,CREATE TABLE,CREATE TABLESPACE CREATE TRIGGER,CREATE USER,CREATE VIEW,DROP TABLESPACE,DROP USER……

示例:

SQL> grant create table to philis;
SQL> grant create session to philis;

对象权限

表对象权限包括:

Insert ,update, delete, select, index ,alter ,reference

存储过程的有:

exec

示例:

SQL> grant select on emp to philis;
SQL> grant all on emp to philis;

注意:只有表的拥有者或者有授权的人,才可以把访问该表的权限给别人

角色授权

Oracle提供了三种标准的角色(role):CONNECT、 RESOURCE和DBA, 也可以自定义角色。

CONNECT Role(连接角色):是使用Oracle的简单权限,允许用 户连接至数据库,并创建数据库对象。

RESOURCE Role(资源角色) :允许用户使用数据库中的存储空 间,更可靠和正式的数据库用户可以授予RESOURCE 角色。 RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。 过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

DBA Role(数据库管理员角色) 
 

SQL> grant resource,connect to philis; SQL>create role STUDENT; --创建角色,然后给其授权
SQL> drop role STUDENT;--删除角色

管理权限

with grant option
 

SQL> connect scott/tiger;

SQL> grant all on emp to tea with grant option;
/*允许tea用户插入、删除、更新和查询scott用户emp表中的记录,并允许其将权限赋予其他用户*/

SQL> connect tea/tea;
SQL> connect tea/tea;
SQL> grant select on scott.emp to system;
SQL> connect system/manager as sysdba;

收回权限

收回部分权限:
 

Connect scott/tiger; 
Revoke select on emp from tea;

收回所有权限:

Connect scott/tiger;
Revoke all on emp from tea;

注意:看一下收回权限后,级联授权的能否收回

更改和删除用户

ALTER USER 命令可用于更改 

SQL> --修改tea用户密码 
SQL> alter user tea identified by pass; 
SQL> --给scott用户解锁unlock,上锁lock 
SQL> --需要system用户权限,oracle11g scott用户默认锁定 
SQL> alter user scott account unlock;

DROP USER 命令用于删除用户
 

SQL> DROP USER tea CASCADE;

本章总结

  • 掌握Oracle的表空间的概念
  • 掌握Oracle用户的管理方式
  • 掌握Oracle权限的管理
  • 了解角色的管理 

2018.8.26