Oracle数据库安全管理

下面通过一些小例子来熟悉一下:

  • Oracle数据库安全控制的实现。
  • Oracle数据库用户管理。
  • Oracle数据库权限管理。
  • Oracle数据库角色管理。
  • Oracle数据库概要文件的管理。
  • Oracle数据库审计。
  • (1)创建一个名为Tom的用户,采用口令认证方式,口令为Tom,默认表空间为USERS表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS1表空间上的配额为50MB。
create user Tom identified by Tom default tablespace users temporary tablespace temp
quota 10m on users quota 50m on booktbs1;User TOM 已创建。
  • (2)创建个名为Joan的用户,采用口令认证方式, 口令为Joan,默认表空间为BOOKTBS2表空间,默认临时表空间为TEMP,在USERS表空间上配额为10MB,在BOOKTBS2表空间上的配额为20MB、该用户的初始状态为锁定状态。
create tablespace BOOKTBS2 datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\BOOKTBS2_1.DBF' SIZE 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M; create user Joan identified by Joan default tablespace booktbs2 temporary tablespace temp quota 10mon users quota 20m on booktbs2 account lock;Tablespace BOOKTBS2 已创建。
User JOAN 已创建。
  • (3)为方便数据库中用户的登录,为BOOKSALES 数据库中所有用户授予CREATESESSION系统权限。
grant create session to public;Grant 成功。
  • (4)分别使用Tom用户和Joan用户登录BOOKSALES数据库,测试是否成功。
conn Tom/Tom@BOOKSALES
已连接.
conn Joan/Joan@BOOKSALES
连接失败USER          = JoanURL           = jdbc:oracle:thin:@(DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = BOOKSALES)    )  )错误消息 = ORA-28000: the account is locked
  • (5)为Joan用户账户解锁,并重新进行登录。
alter user Joan account unlock;
User JOAN已变更。
conn Joan/Joan@BOOKSALES
已连接.
(6) Tom 用户和Joan用户登录成功后,分别查询books表、customers 表中的数据。
conn Tom/Tom@BOOKSALES
已连接.
select * from books;

conn Joan/Joan@BOOKSALES
已连接.
select * from books;

  • (7)为Tom用户授予CREATE TABLE、CREATE VIEW系统权限,并可以进行权限传递:将图书销售系统中的各个表的SELECT、UPDATE、DELETE、INSERT 对象权限授予Tom用户,也具有传递性。
grant select,update,delete,insert on customers to Tom with grant option;
Grant 成功。
grant select,update,delete,insert on publishers to Tom with grant option;
Grant 成功。
grant select,update,delete,insert on books to Tom with grant option;
Grant 成功。
grant select,update,delete,insert on orders to Tom with grant option;
Grant 成功。
grant select,update,delete,insert on orderitem to Tom with grant option;
Grant 成功。
grant select,update,delete,insert on promotion to Tom with grant option;
Grant 成功。
  • (8) Tom用户将图书销售系统中的customers表、publishers 表、books 表的查询权限以及CREATE VIEW、CREATE TABLE的系统权限授予Joan用户。
grant select on customers to Joan;
Grant 成功。
grant select on publishers to Joan;
Grant 成功。
grant select on books to Joan;
Grant 成功。
grant create table,create view to Joan;
Grant 成功。
  • (9)利用Joan用户登录BOOKSALES数据库,查询customers表、publishers 表、books表中的数据。创建一个包含出版社及其出版的图书信息的视图publisher book。
conn Joan/Joan@BOOKSALES
已连接.
select * from customers;

select * from publishers;

select * from books;

create view publishers_view as select name,contact,phone from publishers;
View PUBLISHERS_VIEW 已创建。
  • (10) Tom用户回收其授予Joan用户的CREATE VIEW的系统权限。
revoke create view from Joan;
Revoke 成功。
  • (11) Tom用户回收其授予Joan用户的在customers表上的SELECT权限。
revoke select on customers from Joan;
Revoke 成功。
  • (12)利用system用户登录BOOKSALES数据库,回收Tom用户所有具有的CREATETABLE系统权限以及在customers表、publishers 表、books 表上SELECT权限。
conn system/admin@BOOKSALES;
已连接.
revoke create table from Tom;
Revoke 成功。
revoke select on customers from Tom;
Revoke 成功。
revoke select on publishers from Tom;
Revoke 成功。
revoke select on books from Tom;
Revoke 成功。
  • (13)分别查询Tom用户、Joan 用户所具有的对象权限和系统权限详细信息。
conn Tom/Tom@BOOKSALES;
已连接.
select * from user_sys_privs;

conn Joan/Joan@BOOKSALES;
已连接.
select * from user_sys_privs;

  • (14)创建一个角色bs¬_role, 将BOOKSALES数据库中books表的所有对象权限以及对customers表、publishers 表、orders表的SELECT权限授予该角色。
conn sys/admin@BOOKSALES as sysdba;
已连接.
create role bs_role not identified;
Role BS_ROLE 已创建。
grant select,update,delete,insert on books to bs_role;
Grant 成功。
grant select on customers to bs_role;
Grant 成功。
grant select on publishers to bs_role;
Grant 成功。
grant select on orders to bs_role;
Grant 成功。
  • (15)将bs_role角色授予Joan用户,将CREATE SESSION、 RESOURCE、bs_ role角色授予Tom用户。
grant bs_role to Joan;
Grant 成功。
grant create session,resource,bs_role to Tom;
Grant 成功。
  • (16)创建一个bs_profile1 的概要文件,限定该用户的最长会话时间为30分钟,如果连续10分钟空闲,则结束会话。同时,限定其口令有效期为20天,连续登录2次失败后将锁定账户,10天后自动解锁。
create profile bs_profile1 limit connect_time 30 idle_time 10 password_life_time 20 failed_login_attempts 2 password_lock_time 10;
Profile BS_PROFILE1 已创建。
  • (17) 创建一个概要文件bs_profile2, 要求每个用户的最多会话数为3个,最长的连接时间为60分钟,最大空闲时间为20分钟,每个会话占用CPU的最大时间为10秒:用户最多尝试登录次数为3次,登录失败后账户锁定日期为7天。
create profile bs_profile2 limit sessions_per_user 3 connect_time 60 idle_time 20 cpu_per_session 1000
failed_login_attempts 3 password_lock_time 7;
Profile BS_PROFILE2 已创建。
  • (18)将概要文件bs_profle1 指定给Tom用户,将概要文件bs_profile2 指定给Joan用户。
alter user Tom profile bs_profile1;
User TOM已变更。
alter user Joan profile bs_profile2;
User JOAN已变更。
  • (19)利用Tom用户登录BOOKSALES数据库,连续两次输入错误口令,查看账户状态:利用Joan用户登录BOOKSALES数据库,测试最多可以启动多少个会话。
conn Tom/aaa@BOOKSALES;
连接失败USER          = TomURL           = jdbc:oracle:thin:@(DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = BOOKSALES)    )  )错误消息 = ORA-01017: invalid username/password; logon denied
conn Tom/aab@BOOKSALES;
连接失败USER          = TomURL           = jdbc:oracle:thin:@(DESCRIPTION =    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))    (CONNECT_DATA =      (SERVER = DEDICATED)      (SERVICE_NAME = BOOKSALES)    )  )错误消息 = ORA-01017: invalid username/password; logon denied
conn Joan/Joan@BOOKSALES;
已连接.

创作不易,喜欢的话加个关注点个赞,蟹蟹蟹蟹

Oracle-Oracle数据库安全管理相关推荐

  1. Oracle 11g 数据库 实验7 数据库安全管理

    Oracle 11g 数据库实验7 数据库安全管理 1.实验目的 (1)掌握Oracle数据库安全控制的实现. (2)掌握Oracle数据库用户管理. (3)掌握Oracle数据库权限管理. (4)掌 ...

  2. Oracle的数据库对象有哪些

    Oracle的数据库对象有哪些: 数据库的功能就是组织管理和存储各种数据库对象.数据库中的对象是我们进行数据管理的基本.本篇会回顾一下数据库对象的一些基本知识,让我们更加清晰的了解这些Oracle数据 ...

  3. 关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题

    关于Oracle.ManagedDataAccess数据库表加字段后,必须重启的问题,解决方法如下: 在数据库连接字串中,增加一个参数:Metadata Pooling=false 如"Da ...

  4. oracle创建数据库后干什么,手动创建Oracle数据库之前因后果

    对于许多数据库管理员来说,Oracle究竟是不是一个难以管理和驾驭的怪兽级数据库,会不会让他们管理生涯饱受折磨?当看到其命令行界面时,很多人会问这么一个问题. 如果你想通过一个应用程序操控使用这个数据 ...

  5. Oracle创建数据库(手动)

    在网上找的手动创建oracle数据库的建立,可以使用. 但是要注意的是,oracle建立数据库有所不通,在oracle中建立数据库,会在系统中创建很多服务,所以,建议如果不是必要的情况下,还是不要随便 ...

  6. oracle开发数据库试题,Oracle_开发数据库试题.doc

    Oracle_开发数据库试题 Oracle_开发数据库选择题1 1.()是Oracle维护数据库中其他文件的列表.数据库名称和系统改变号(SCN)的文件. A. 控制文件.B. 参数文件.C. 数据文 ...

  7. oracle创建数据库、表空间、用户并授权

    oracle创建数据库.表空间.用户并授权 在安装完Oracle数据库软件之后可以使用默认的数据库orcl,也可以根据需要创建自定义的数据库.表空间用于对数据库中的资源进行分类,每个用户都有默认的表空 ...

  8. 连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法!

    连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA-01017的解决方法! 参考文章: (1)连接Oracle远程数据库错误:ORA-12541,ORA-12514,ORA ...

  9. oracle 10g 连接语句,Oracle 10g数据库基础之基本查询语句-下-连接子查询

    实验18:表的连接查询 该实验的目的是掌握基本的联合查询. 表的连接 我们要从多张表中要得到信息,就得以一定的条件将表连接在一 实验18:表的连接查询 该实验的目的是掌握基本的联合查询. 表的连接 我 ...

  10. oracle数据库的详细安装,Oracle 11g数据库详细安装图文教程

    本教程为大家分享了Oracle 11g数据库详细安装步骤,供大家参考,具体内容如下 1.先到Oracle官网上下载11g oracle Database 11g第 2 版 (11.2.0.1.0)标准 ...

最新文章

  1. keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完美案例(五)
  2. QT中如何才能使用cos,sin等三角函数
  3. jquery.cookie.js 使用方法
  4. 初学者css常见问题_5分钟内学习CSS-初学者教程
  5. 【转载保存】网页提取正文算法汇总
  6. 「技术人生」专题第1篇:什么是技术一号位?
  7. Bootstrap ScrollSpy 用法
  8. mysql连接命令行,从命令行连接到MySQL
  9. 详解:Spark程序的开始 SparkContext 源码走一走
  10. jquery 输入框,单选按钮,下拉列表和复选框的使用
  11. Android studio 装SDK,android studio安装sdk
  12. python的Bio下的Entrez使用
  13. RuntimeError:The size of tensor a (100) must match the size of tensor b (12800) at non-singleton di
  14. document.onclick是什么
  15. ChemDraw怎么激活?ChemDraw激活教程
  16. CSS3与页面布局学习总结(四)——页面布局大全
  17. element table filed显示不全
  18. 自写密码字典-解口令具体过程(海德拉)
  19. win7计算机网络连接,笔记本win7无线网络红叉电脑网络连接不可用的解决方法
  20. 超微服务器怎么开虚拟化,超微6016TT-IBXF服务器Supermicro开启虚拟化支持

热门文章

  1. 程序员,如果性格内向要做些什么?
  2. 信息管理导论 | 信息与信息资源、信息社会
  3. csma最短帧长_(CSMA CD)的最小帧长计算
  4. java 结束循环_java中结束循环的方法
  5. 快来给你的Hexo博客招募亿只live2d看板娘吧(๑•̀ㅂ•́)و✧
  6. CSDN上新啦!编辑器新增发文助手功能【8月22日】
  7. Objective-C基础教程读书笔记
  8. 调整图像亮度之 线性拉伸 (2) 百分比截断拉伸
  9. 【ACL2021】对话系统:情感、个性与主题转换
  10. php星期代码,PHP星期几获取代码