除了IO、内存、CPU之外,还有一些限制,比如:限制在pdb中的操作命令,我们可以创建一个lockdown profile来限制对当前PDB的操作,增强某些操作的安全性。
 
关于PDB Lockdown Profiles
以下通过一个简单的测试来看看这个特性的基本功能。 首先在CDB root下创建一个profile,这个profile将对全局可用,并且需要:

 
创建PDB Lockdown Profile
SQL> connect / as sysdba
Connected. SQL> CREATE LOCKDOWN PROFILE woqutech;
Lockdown Profile created. SQL> ALTER LOCKDOWN PROFILE woqutech DISABLE STATEMENT = ('ALTER SYSTEM'); --禁用alter system 命令
Lockdown Profile altered.
 
 
 
 
 
8
8
 
 
 
1
SQL> connect / as sysdba
2
Connected.
3

4
SQL> CREATE LOCKDOWN PROFILE woqutech;
5
Lockdown Profile created.
6

7
SQL> ALTER LOCKDOWN PROFILE woqutech DISABLE STATEMENT = ('ALTER SYSTEM');    --禁用alter system 命令
8
Lockdown Profile altered.
 
 
 
连接到PDB WXH,在PDB级别启用lockdown profile :
 
使PDB Lockdown Profile生效
SQL> alter session set container = wxh;
Connected. SQL> ALTER SYSTEM SET PDB_LOCKDOWN = woqutech;
System altered. 在执行alter system 时就会报ora-01031
例:
SQL> alter system set statistics_level=all ; ERROR at line 1:
ORA-01031: insufficient privileges
 
 
 
 
 
12
12
 
 
 
1
SQL> alter session set container = wxh;
2
Connected.
3

4
SQL> ALTER SYSTEM SET PDB_LOCKDOWN = woqutech;
5
System altered.
6

7
在执行alter system 时就会报ora-01031
8
例:
9
SQL> alter system set statistics_level=all ;
10

11
ERROR at line 1:
12
ORA-01031: insufficient privileges
 
 

LOCKDOWN PROFILE可以限制到非常细粒度的权限,比如以下限制仅仅限制用户执行ARCHIVE LOG和CHECKPOINT操作。


SQL> connect / as sysdba
Connected.
SQL> alter lockdown profile woqutech enable statement = ('ALTER SYSTEM') clause all except = ('ARCHIVE LOG','CHECKPOINT');
Lockdown Profile altered.
 
 
 
 
 
4
4
 
 
 
1
SQL> connect / as sysdba
2
Connected.
3
SQL> alter lockdown profile woqutech enable statement = ('ALTER SYSTEM') clause all except = ('ARCHIVE LOG','CHECKPOINT');
4
Lockdown Profile altered.
 
 
禁止当前PDB所有的alter system语句
ALTER LOCKDOWN PROFILE woqutech DISABLE STATEMENT = ('ALTER SYSTEM');
 
 
 
 
 
1
1
 
 
 
1
ALTER LOCKDOWN PROFILE woqutech DISABLE STATEMENT = ('ALTER SYSTEM');
 
 
禁止除了alter system flush shared_pool外的所有altersystem 语句。
ALTER LOCKDOWN PROFILE woqutech ENABLE STATEMENT = ('ALTER SYSTEM') clause = ('flush shared_pool');
 
 
 
 
 
1
1
 
 
 
1
ALTER LOCKDOWN PROFILE woqutech ENABLE STATEMENT = ('ALTER SYSTEM') clause = ('flush shared_pool');
 
 
禁止PDB中XDB protocols(FTP, HTTP, HTTPS)的使用
ALTER LOCKDOWN PROFILE woqutech DISABLEFEATURE = ('XDB_PROTOCOLS')
 
 
 
 
 
1
1
 
 
 
1
ALTER LOCKDOWN PROFILE woqutech DISABLEFEATURE = ('XDB_PROTOCOLS')
 
 

除了特定的权限,还可以对某些数据库功能特点进行限制:

比如调用和执行UTL_HTTP和 UTL_TCP 包可能是高风险的,那么以下的PROFILE设置可以禁用这些特性:
 
alter lockdown profile woqutechdisable feature = ('UTL_HTTP', 'UTL_TCP');
 
 
 
 
 
1
1
 
 
 
1
alter lockdown profile woqutechdisable feature = ('UTL_HTTP', 'UTL_TCP');
 
 

删除PDB Lockdown Profile

DROP LOCKDOWN_PROFILE woqutech;
 
 
 
 
 
1
1
 
 
 
1
DROP LOCKDOWN_PROFILE woqutech;
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 

oracle12c之四 控制PDB操作 PDBLockdown Profiles的更多相关文章

  1. oracle12c之 控制pdb中sga 与 pga 内存使用

    Memory Management using Resource Manager Oracle数据库资源管理器(资源管理器)现在可以在多租户容器数据库(CDB)中管理可插入数据库(PDBs)之间的内存 ...

  2. oracle12c之一 控制-PDB的磁盘I/O(IOPS,MBPS)资源管理

    在以前的版本中,没有简单的方法来控制单个PDB使用的磁盘I / O量. 因此,某个PDB可能耗尽大量磁盘I / O,并影响同一实例中的其他PDB的性能. Oracle 12c R2可以控制PDB使用的 ...

  3. oracle12c之三 控制PDB中CPU 资源使用

      CPU资源隔离 数据库中,不同的PDB对主机CPU资源使用要求不同,那么我们就可以使用CDB resourceplans来管理不同pdb对CPU资源的使用. CDB Resource Plans ...

  4. oracle12c之二 控制PDB中SGA 与 PGA 内存使用

    oracle12c之 控制pdb中sga 与 pga 内存使用 Memory Management using Resource Manager Oracle数据库资源管理器(资源管理器)现在可以在多 ...

  5. Selenium3 + Python3自动化测试系列三——控制浏览器操作

    控制浏览器操作 控制浏览器窗口大小 在测试过程中,我们在打开浏览器后,根据需求可自定义调整浏览器的尺寸大小.WebDriver提供了set_window_size()方法来设置浏览器的大小. 如果页面 ...

  6. 归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  7. 035——VUE中表单控件处理之使用vue控制select操作文字栏目列表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. selenium控制浏览器操作

    selenium控制浏览器操作 控制浏览器有哪些操作? 控制页面大小 前进.后退 刷新 自动输入.提交 ........  控制页面大小,实例: # -*- coding:utf-8 -*- from ...

  9. VFP控制Excel操作集

    ◆访问EXCEL:ExcelSheet = GetObject('','Excel.Sheet')返回结果为类,则成功.例:ExcelSheet = GetObject('','Excel.Sheet ...

随机推荐

  1. myisam,innodb和memory的区别

    1.myisam,innodb和memory的区别如下: 2:InnoDB存储引擎2.1:InnoDB具有事务,回滚,崩溃修复能力和多版本并发的事务安全2.2:关于InnoDB的auto_increm ...

  2. QML开发常见错误(原)

    大部分错误,都是因为没有重新编译或者清理导致的.消除步骤: 先排除基本语法错误 清理项目 如果前两步都没有效果,手动删除程序生成目录 1.添加新控件,运行时不识别,如 qrc:ui/main.qml: ...

  3. windows 安装 mysql5.7.17

    下载mysql 进入官网:https://www.mysql.com/ 单击[Downloads]选项卡 最下面有个[  MySQL Community Edition (GPL)],单击[Commu ...

  4. C# 静态类的使用

    静态类与非静态类基本相同,但存在一个区别:静态类不能实例化.也就是说,不能使用 new 关键字创建静态类类型的变量.因为没有实例变量,所以要使用类名本身访问静态类的成员. static class C ...

  5. 如何快速增加pdf书签,解除pdf限制

    一.需要的工具 福昕PDF阅读器 Foxit PDF Editor 2.2.1 build 1119 汉化版 下载地址:http://www.onlinedown.net/soft/51002.htm ...

  6. android session解析

    最近在开发项目的过程中,遇到Android与web服务器要在同一session下通信的问题. 在解决问题前先回顾下Session与Cookie: Cookie和Session都为了用来保存状态信息,都 ...

  7. OpenCV实现均值哈希

    总共分三步:压缩,灰度化,均值化,求哈希值. 1.压缩 void secondMethod(char* filename, char* savename) { //const char* filena ...

  8. Grails项目开发——前端请求跨域问题

    Grails项目开发--前端请求跨域问题 最近做项目采用前后端分离的思想,使用Grails作为后台开发Restful API供前端调用. 在项目开发的过程中,遇到前端没办法通过ajax访问到后台接口的 ...

  9. [java]基于UDP的Socket通信Demo

    java课编程作业:在老师给的demo的基础上实现客户端发送数据到服务器端,服务器端接受客户端后进行数据广播. 整体功能类似于聊天室,代码部分不是太难,但是在本机测试的时候出现这样的问题: 服务端通过 ...

  10. sharepoint用户信息同步出错

    首先使用工具定位问题,然后权限不够授予权限 C:\Program Files\Microsoft Office Servers\15.0\Synchronization Service\UIShell