修改
改名
将表空间名由test713修改为test317.
增加数据文件
在同一路径下为test317增加一个名为test317.dbf的数据文件,大小为128M.
为数据文件扩容
将test317.dbf扩容到200M.
重命名数据文件
需要在脱机模式下进行,该操作不仅可以修改数据文件名,你愿意的话,还可以修改数据文件路径.
修改表空间的自动扩展属性
将D:\test317.dbf
的自动扩展属性修改为每次扩展10M,最大文件大小为1000M.
删除表空间
创建HTS
-
表空间名在服务器中必须唯一.
-
HTS表空间不支持创建MIRROR镜像文件.
为HTS添加路径
- 一个HTS表空间最多支持255个路径.
删除HTS
- 未被使用的表空间才能被删除.
=================================================================
-
DBA:DM数据库系统中对象与数据操作的最高权限集合,拥有构建数据库的全部特权,只有DBA才可以创建数据库结构.
-
RESOURCE:可以创建数据库对象,对有权限的对象进行数据操纵,不可以创建数据库结构.
-
PUBLIC:不可以创建数据库对象,只能对有权限的数据库对象进行操纵.
角色查看
创建角色
角色添加权限
grant select on table1 to role1;
grant create table to role1;
grant role1 to test1;
-
第一行将表table1的查询权限赋给role1;
-
第二行将创建表的权限赋给role1;
-
第三行将role1角色赋给用户test1.
删除角色
=================================================================
数据库权限是与数据库安全相关的非常重要的权限,其权限范围比对象权限更加广泛,因而一般被授予数据库管理员或者一些具有管理功能的角色.
数据库权限与DM预定义角色有着重要联系,一些数据库权限由于权力较大,只集中在几个DM系统预定义角色中,且不能转授.
种类
| 数据库权限 | 说明 |
| — | — |
| CREATE TABLE | 在自己的模式中创建表的权限 |
| CREATE VIEW | 在自己的模式中创建视图的权限 |
| CREATE USER | 创建用户的权限 |
| CREATE TRIGGER | 在自己的模式中创建触发器的权限 |
| ALTER USER | 修改用户的权限 |
| ALTER DATABASE | 修改数据库的权限 |
| CREATE PROCEDURE | 在自己的模式中创建存储程序的权限 |
DM提供了100余种数据库权限,上表仅列出了常用的一些.
权限的分配和回收
分配
-
授权者须具有对应的数据库权限及其转授权;
-
接受者必须与授权者用户类型一致;
-
如果有WITH ADMIN OPTION选项,接受者可以把这些权限转授给其他用户/角色.
例如,系统管理员SYSDBA把建表和建视图的权限授予给用户TEST并允许其转授.
GRANT CREATE TABLE,CREATE VIEW TO TEST WITH ADMIN OPTION;
回收
-
权限回收者必须是具有回收相应数据库权限以及转授权的用户;
-
ADMIN OPTION FOR选项的意义是取消用户或角色的转授权限,但是权限不回收.
例如,SYSDBA把用户的建表权限收回.
REVOKE CREATE TABLE FROM TEST;
SYSDBA在不收回TEST用户建视图权限的情况下不让其转授建视图权限.
REVOKE ADMIN OPTION FOR CREATE VIEW FROM TEST;
种类
| 数据库对象类型
对象权限 | 表 | 视图 | 存储程序 | 包 | 类 | 类型 | 序列 | 目录 | 域 |
| — | — | — | — | — | — | — | — | — | — |
| SELECT | √ | √ | | | | | √ | | |
| INSERT | √ | √ | | | | | | | |
| DELETE | √ | √ | | | | | | | |
| UPDATE | √ | √ | | | | | | | |
| REFERENCES | √ | | | | | | | | |
| DUMP | √ | | | | | | | | |
| EXCUTE | | | √ | √ | √ | √ | | √ | |
| READ | | | | | | | | √ | |
| WRITE | | | | | | | | √ | |
| USAGE | | | | | | | | | √ |
权限的分配和回收
分配
-
授权者必须是具有对应对象权限及其转授权限的用户;
-
如未指定对象的模式名,模式为授权者所在的模式.DRECTORY为非模式对象,没有模式;
-
如设定了对象类型,则该类型必须与对象的实际类型一致,否则会报错;
-
带WITH GRANT OPTION授予权限给用户时,接受权限的用户可转授此权限;
-
不带列清单授权时,如果对象上存在同类型的列权限,会全部自动合并;
-
对于用户所在的模式的表,用户具有所有权限而不需特别指定;
-
当授权语句中使用了ALL PRIVILEGES时,会将指定的数据库对象上所有的对象权限都授予被授权者.
例1:SYSDBA把PERSON.ADDRESS表的全部权限授予给用户TEST.
GRANT SELECT,INSERT,DELETE,UPDATE,REFERENCES ON PERSON.ADDRESS TO TEST;
该句也可写成如下形式:
GRANT ALL PRIVILEGES ON PERSON.ADDRESS TO TEST;
_例2: 假设用户 TEST 创建了存储过程 TEST_PROC,数据
库管理员 SYSDBA 把该存储过程的执行权 EXECUTE 授给已存在用户 TEST2,并使其具有该权限的转授权。_
GRANT EXECUTE ON PROCEDURE TEST.TEST_PROC TO TEST2 WITH GRANT OPTION;
现在以TEST2的身份登录服务器执行这个存储过程:
例3:假设 SYSDBA 是表 BOOKSHOP_T1 的创建者,用户 BOOKSHOP_USER1、BOOKSHOP_USER2、BOOKSHOP_USER3 存在,且都不是 DBA 权限用户。
(1)以 SYSDBA 身份登录,并执行语句:
GRANT SELECT ON BOOKSHOP_T1 TO BOOKSHOP_USER1 WITH GRANT OPTION;
(2)以 BOOKSHOP_USER1 身份登录,并执行语句:
GRANT SELECT ON SYSDBA.BOOKSHOP_T1 TO BOOKSHOP_USER2;
(3)以 BOOKSHOP_USER2 身份登录,并执行语句:
GRANT SELECT ON SYSDBA.BOOKSHOP_T1 TO BOOKSHOP_USER3;
例4:用户 SYSDBA 创建一个名为 V_PRODUCT 的视图,要求对于该视图,允许BOOKSHOP_USER1 能够进行查询、插入、删除和更新操作,用户BOOKSHOP_USER2 和BOOKSHOP_USER3 也可进行同样的工作,但要求其操作权限由用户 BOOKSHOP_USER1 控制。
(1)以 SYSDBA 的身份登录:
(2)以用户 BOOKSHOP_USER1 的身份登录:
回收
-
权限回收者必须是具有回收相应对象权限以及转授权的用户;
-
回收时不能带列清单,若对象上存在同类型的列权限,则一并被回收;
-
使用GRANT OPTION FOR选项的目的是回收用户或角色权限转授的权利,而不回收用户或角色的权限;并且GRANT OPTION FOR选项不能和RESTRICT一起使用,否则会报错;
-
在回收权限时,设定不同的回收选项,其意义不同
-
- 若不设定回收选项,无法回收授予时带WITH GRANT OPTION的权限,但也不会检查要回收的权限是否存在限制;
-
若设定为RESTRICT,无法回收授予时带WITH GRANT OPTION的权限,也无法回收存在限制的权限,如角色上的某权限被别的用户用于创建视图等;
-
若设定为CASCADE,可回收授予时或不带WITH GRANT OPTION的权限,若带WITH GRANT OPTION还会引起级联回收.
例1:SYSDBA 从用户 TEST 处回收其授出的PERSON.ADDRESS 表的全部权限。
_例2:SYSDBA 从用户 TEST2 处回收其授出的存储过
程 TEST.TEST,PROC 的 EXECUTE 权限。_
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-zAsctFRw-1715137834714)]
[外链图片转存中…(img-n9byI7S7-1715137834714)]
[外链图片转存中…(img-TqvMjyr2-1715137834714)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!