oracle用户及权限管理

淺唱寂寞╮ 提交于 2020-01-12 04:50:37

实验目的:

掌握用户管理、角色管理、权根维护与分配的能力,掌握用户之间共享对象的操作技能。

实验内容:

Oracle有一个开发者角色resource,可以创建表、过程、触发器等对象,但是不能创建视图。本训练要求:

在pdborcl插接式数据中创建一个新的本地角色con_res_view,该角色包含connect和resource角色,同时也包含CREATE VIEW权限,这样任何拥有con_res_view的用户就同时拥有这三种权限。
创建角色之后,再创建用户new_user,给用户分配表空间,设置限额为50M,授予con_res_view角色。
最后测试:用新用户new_user连接数据库、创建表,插入数据,创建视图,查询表和视图的数据。

  • 第1步:以system登录到pdborcl,创建角色shuijingyelong和用户shuijingyelong_1,并授权和分配空间
CREATE ROLE shuijingyelong;
GRANT connect,resource,CREATE VIEW TO shuijingyelong;
CREATE USER shuijingyelong_1 IDENTIFIED BY 123 DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp;
ALTER USER shuijingyelong_1 QUOTA 50M ON users;
GRANT shuijingyelong TO shuijingyelong_1;
exit;

在这里插入图片描述

  • 第2步:新用户shuijingyelong_1连接到pdborcl,创建表mytable和视图myview,插入数据,最后将myview的SELECT对象权限授予hr用户。
show user;
CREATE TABLE mytable (id number,name varchar(50));
INSERT INTO mytable(id,name)VALUES(1,'shuijingyelong');
INSERT INTO mytable(id,name)VALUES (2,'abc');
INSERT INTO mytable(id,name)VALUES (3,'成都大学');
CREATE VIEW myview AS SELECT name FROM mytable;
GRANT SELECT ON myview TO hr;

在这里插入图片描述
在这里插入图片描述

  • 第3步:用户hr连接到pdborcl,查询shuijingyelong_1授予它的视图myview
SELECT * FROM shuijingyelong_1.myview;

在这里插入图片描述

  • 更新teacher表
UPDATE students
SET "ORACLE用户名"='shuijingyelong_1'
WHERE "学号"='201710414214';
UPDATE students
SET "ORACLE表名"='MYTABLE'
WHERE "学号"='201710414214';
--查看更新情况
SELECT
    *
FROM students
WHERE "学号"='201710414214'

在这里插入图片描述

  • 查看数据库的使用情况
SELECT tablespace_name,FILE_NAME,BYTES/1024/1024 MB,MAXBYTES/1024/1024 MAX_MB,autoextensible FROM dba_data_files  WHERE  tablespace_name='USERS';

在这里插入图片描述

SELECT a.tablespace_name "表空间名",Total/1024/1024 "大小MB",
 free/1024/1024 "剩余MB",( total - free )/1024/1024 "使用MB",
 Round(( total - free )/ total,4)* 100 "使用率%"
 from (SELECT tablespace_name,Sum(bytes)free
        FROM   dba_free_space group  BY tablespace_name)a,
       (SELECT tablespace_name,Sum(bytes)total FROM dba_data_files
        group  BY tablespace_name)b
 where  a.tablespace_name = b.tablespace_name;

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!