Oracle系统表空间的加解密

实验环境

数据库选择的是orclpdb1,当前系统表空间未加密:

SQL> show con_nameCON_NAME
------------------------------
ORCLPDB1SQL> select TABLESPACE_NAME, STATUS, ENCRYPTED from dba_tablespaces;TABLESPACE_NAME                STATUS    ENC
------------------------------ --------- ---
SYSTEM                         ONLINE    NO
SYSAUX                         ONLINE    NO
UNDOTBS1                       ONLINE    NO
TEMP                           ONLINE    NO
USERS                          ONLINE    NO

加密

在线加密系统表空间:

SQL> alter tablespace system encryption online encrypt;Tablespace altered.SQL> alter tablespace sysaux encryption online encrypt;Tablespace altered.SQL> alter tablespace undotbs1 encryption online encrypt;Tablespace altered.SQL> select TABLESPACE_NAME, STATUS, ENCRYPTED from dba_tablespaces;TABLESPACE_NAME                STATUS    ENC
------------------------------ --------- ---
SYSTEM                         ONLINE    YES
SYSAUX                         ONLINE    YES
UNDOTBS1                       ONLINE    YES
TEMP                           ONLINE    NO
USERS                          ONLINE    NO

就剩下临时表空间了,按照文档3.6.1 About Encryption Conversion for Tablespaces and Databases中表Table 3-2 Offline and Online Tablespace and Database Encryption Conversions的说明,在线和离线加解密都不可行:

SQL> alter tablespace temp encryption online encrypt;
alter tablespace temp encryption online encrypt
*
ERROR at line 1:
ORA-28370: ENCRYPT, DECRYPT or REKEY option not allowed

在这里插入图片描述
对于临时表空间,只能新建一个加密的临时表空间,然后指定其为默认临时表空间。过程如下。

首先从SQL Developer中得到当前临时表空间的SQL:

SQL>
CREATE TEMPORARY TABLESPACE "TEMP" TEMPFILE '/opt/oracle/oradata/ORCLCDB/ORCLPDB1/temp01.dbf' SIZE 246415360AUTOEXTEND ON NEXT 655360 MAXSIZE 32767MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 1048576;

然后新建加密的临时表空间:

CREATE TEMPORARY TABLESPACE "TEMP_TDE" TEMPFILE 'temp01_tde.dbf' SIZE 246415360 AUTOEXTEND ON NEXT 655360 MAXSIZE 32767MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 1048576ENCRYPTION ENCRYPT;Tablespace created.SQL> select TABLESPACE_NAME, STATUS, ENCRYPTED from dba_tablespaces;TABLESPACE_NAME                STATUS    ENC
------------------------------ --------- ---
SYSTEM                         ONLINE    YES
SYSAUX                         ONLINE    YES
UNDOTBS1                       ONLINE    YES
TEMP                           ONLINE    NO
USERS                          ONLINE    NO
TEMP_TDE                       ONLINE    YES6 rows selected.

当前默认的临时表空间:

SQL>
col PROPERTY_NAME for a40
col PROPERTY_VALUE for a10
col DESCRIPTION for a40
set lines 120
select * from database_properties where property_name like 'DEFAULT%SPACE%';PROPERTY_NAME                            PROPERTY_V DESCRIPTION
---------------------------------------- ---------- ----------------------------------------
DEFAULT_PERMANENT_TABLESPACE             USERS      Name of default permanent tablespace
DEFAULT_TEMP_TABLESPACE                  TEMP       Name of default temporary tablespace

设置新的临时表空间,删除老的临时表空间:

SQL> alter database default temporary tablespace temp_tde;Database altered.SQL> drop tablespace temp including contents and datafiles;Tablespace dropped.SQL> select * from database_properties where property_name like 'DEFAULT%SPACE%';PROPERTY_NAME                            PROPERTY_V DESCRIPTION
---------------------------------------- ---------- ----------------------------------------
DEFAULT_PERMANENT_TABLESPACE             USERS      Name of default permanent tablespace
DEFAULT_TEMP_TABLESPACE                  TEMP_TDE   Name of default temporary tablespaceSQL> select TABLESPACE_NAME, STATUS, ENCRYPTED from dba_tablespaces;TABLESPACE_NAME                STATUS    ENC
------------------------------ --------- ---
SYSTEM                         ONLINE    YES
SYSAUX                         ONLINE    YES
UNDOTBS1                       ONLINE    YES
USERS                          ONLINE    NO
TEMP_TDE                       ONLINE    YES

解密

解密当然也可以在线,但为了涵盖加解密功能,此处使用离线解密。

实例运行时,offline是不行的:

SQL> alter tablespace system offline;
alter tablespace system offline
*
ERROR at line 1:
ORA-01541: system tablespace cannot be brought offline; shut down if necessary

需要关闭数据库:

SQL> shutdown immediate
Pluggable Database closed.SQL> show pdbsCON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------3 ORCLPDB1                       MOUNTED

此时表空间已经离线了,可以解密:

SQL> alter tablespace system encryption offline decrypt;Tablespace altered.SQL> alter tablespace sysaux encryption offline decrypt;Tablespace altered.SQL> alter tablespace undotbs1 encryption offline decrypt;Tablespace altered.

临时表空间还是同样的问题,不能直接解密:

SQL> alter tablespace temp_tde encryption offline decrypt;
alter tablespace temp_tde encryption offline decrypt
*
ERROR at line 1:
ORA-28370: ENCRYPT, DECRYPT or REKEY option not allowed

启动数据库,目前状态如下:

SQL> alter database open;Database altered.SQL> select TABLESPACE_NAME, STATUS, ENCRYPTED from user_tablespaces;TABLESPACE_NAME                STATUS    ENC
------------------------------ --------- ---
SYSTEM                         ONLINE    NO
SYSAUX                         ONLINE    NO
UNDOTBS1                       ONLINE    NO
USERS                          ONLINE    NO
TEMP_TDE                       ONLINE    YES

同前例,创建一个新的未加密的临时表空间,然后取而代之:

CREATE TEMPORARY TABLESPACE "TEMP" TEMPFILE '/opt/oracle/oradata/ORCLCDB/ORCLPDB1/temp01.dbf' SIZE 246415360AUTOEXTEND ON NEXT 655360 MAXSIZE 32767MEXTENT MANAGEMENT LOCAL UNIFORM SIZE 1048576;alter database default temporary tablespace temp;drop tablespace temp_tde including contents and datafiles;

现在,全部解密了:

SQL> select TABLESPACE_NAME, STATUS, ENCRYPTED from user_tablespaces;TABLESPACE_NAME                STATUS    ENC
------------------------------ --------- ---
SYSTEM                         ONLINE    NO
SYSAUX                         ONLINE    NO
UNDOTBS1                       ONLINE    NO
TEMP                           ONLINE    NO
USERS                          ONLINE    NO

参考

  • Oracle Temporary Tablespace
  • ORA-01541: System Tablespace Cannot Be Brought Offline; Shut Down If Necessary

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/384409.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件测试:Postman 工具的使用。开发及测试均需要掌握的测试工具

工具介绍 各个模块功能的介绍如下: 1、New:在这里创建新的请求、集合或环境;还可以创建更高级的文档、Mock Server 和 Monitor以及API。 2、Import:这用于导入集合或环境。有一些选项,例如从文件,文件夹导…

【Linux】远程连接Linux虚拟机(MobaXterm)

【Linux】远程连接Linux虚拟机(MobaXterm) 零、原因 有时候我们在虚拟机中操作Linux不太方便,比如不能复制粘贴,不能传文件等等,我们在主机上使用远程连接软件远程连接Linux虚拟机后可以解决上面的问题。 壹、软件下…

学习小型gpt源码(自用)

数据集构建_哔哩哔哩_bilibili (b站上有一系列课,从数据处理到模型构建和训练使用) 什么是batch? 为什么一个batch内的句子要一样长? 不同batch的长度可以不一样,但是同一个batch内长度一样!…

回文子串转二维dp的方式

目录 写在最前: 1. 首先我们要考虑一个问题:如何判断一个字符串是回文子串 2.如何创建dp[i][j]表示回文子串 3. 如何初始化? 4. 如何实现 问题引入: LCR 020. 回文子串 给定一个字符串 s ,请计算这个字符串中有…

Spring Boot入门指南:留言板

一.留言板 1.输⼊留⾔信息,点击提交.后端把数据存储起来. 2.⻚⾯展⽰输⼊的表⽩墙的信息 规范: 1.写一个类MessageInfo对象,添加构造方法 虽然有快捷键,但是还是不够偷懒 项目添加Lombok。 Lombok是⼀个Java⼯具库,通过添加注…

C语言 | Leetcode C语言题解之第279题完全平方数

题目: 题解: // 判断是否为完全平方数 bool isPerfectSquare(int x) {int y sqrt(x);return y * y x; }// 判断是否能表示为 4^k*(8m7) bool checkAnswer4(int x) {while (x % 4 0) {x / 4;}return x % 8 7; }int numSquares(int n) {if (isPerfect…

项目实战1(30小时精通C++和外挂实战)

项目实战1(30小时精通C和外挂实战) 01-MFC1-图标02-MFC2-按钮、调试、打开网页05-MFC5-checkbox及按钮绑定对象06--文件格式、OD序列号08-暴力破解09-CE10-秒杀僵尸 01-MFC1-图标 这个外挂只针对植物大战僵尸游戏 开发这个外挂,首先要将界面…

【SpringCloud】 微服务分布式环境下的事务问题,seata大合集

目录 微服务分布式环境下的事务问题 分布式事务 本地事务 BASE理论与强弱一致性 BASE理论 强弱一致性 常见分布式事务解决方案 - 2PC 常见分布式事务解决方案 - TCC 常见分布式事务解决方案 - 最大努力通知 常见分布式事务解决方案 - 最终一致性 Seata介绍与术语 Seata…

学习测试10-4自动化 web自动化

网页资源 链接: https://pan.baidu.com/s/17XL2c2lkw_R6BD–VnOQqw?pwd43dr 提取码: 43dr 复制这段内容后打开百度网盘手机App,操作更方便哦 框架之间切换 driver.switch_to.frame("idframe1") # 父切子 参数用id和name# 子切子必须先转回父 driver.sw…

【OpenCV C++20 学习笔记】操作图片

操作图片 概述图片的导入和保存对导入的图片的操作获取像素值Point类型和图片像素 内存管理和引用计数一些简便操作图片可视化更精确的类型转换 概述 在本专栏的第一篇文章中就介绍了一个用OpenCV处理图片的实例(《图片处理基础》),这篇文章…

SQL injection UNION attacks SQL注入联合查询攻击

通过使用UNION关键字,拼接新的SQL语句从而获得额外的内容,例如 select a,b FROM table1 UNION select c,d FROM table2,可以一次性查询 2行数据,一行是a,b,一行是c,d。 UNION查询必须满足2个条…

实战解读:Llama Guard 3 Prompt Guard

前序研究:实战解读:Llama 3 安全性对抗分析 近日,腾讯朱雀实验室又针对 Llama 3.1 安全性做了进一步解读。 2024年7月23日晚,随着Llama3.1的发布,Meta正式提出了“Llama系统”的概念,通过系统级的安全组件对…

ansible基础讲解和加密文件讲解

ansible最重要的三个文件 /etc/ansible/ansible.cfg #####ansible的配置文件 /etc/ansible/host ##清单文件inventory ansible-navigator.yml ####以yml结尾的文件可以理解为conf结尾的文件,是配置文件,用于设置剧本playbook playbook讲解 以.yml结…

Java泛型理解这一篇就够了

好文推荐&#xff0c;请阅读此文&#xff1a;Java泛型最佳实践 总结&#xff1a; 泛型类 泛型接口 泛型函数 通配符 通配符是为了让Java泛型支持范围限定&#xff0c;这样使得泛型的灵活性提升&#xff0c;同时也让通用性设计有了更多的空间。 <?>&#xff1a;无界…

【SpringBoot】2 项目搭建

创建项目 1&#xff09;确实本地 jdk 版本 打开命令行窗口&#xff1a;快捷键 Windows R&#xff0c;输入 CMD&#xff0c;敲回车 执行命令&#xff1a;java -version 2&#xff09;在项目 clone 的位置创建 Spring Boot 项目&#xff0c;使用 Maven 进行依赖管理&#xff…

Python 机器学习求解 PDE 学习项目——PINN 求解二维 Poisson 方程

本文使用 TensorFlow 1.15 环境搭建深度神经网络&#xff08;PINN&#xff09;求解二维 Poisson 方程: 模型问题 − Δ u f in Ω , u g on Γ : ∂ Ω . \begin{align} -\Delta u & f \quad & \text{in } \Omega,\\ u & g \quad & \text{on } \Gamma:\p…

vue3 vxe-table 点击行,不显示选中状态,加上设置isCurrent: true就可以设置选中行的状态。

1、上个图&#xff0c;要实现这样的&#xff1a; Vxe Table v4.6 官方文档 2、使用 row-config.isCurrent 显示高亮行&#xff0c;当前行是唯一的&#xff1b;用户操作点击选项时会触发事件 current-change <template><div><p><vxe-button click"sel…

【个人记录】pkg可以将Node.js应用打包为可执行文件

背景 之前按客户需求做了一个简易定时任务应用&#xff0c;完成后为方便客户使用需要打包为可执行文件。 pkg工具 pkg 是一个非常流行的工具&#xff0c;它能够将 Node.js 应用打包成独立的可执行文件。它支持多个平台&#xff0c;包括 Windows、macOS 和 Linux。 测试环境…

【SpringBoot】 4 Thymeleaf

官网 https://www.thymeleaf.org/ 介绍 Thymeleaf 是一个适用于 Web 和独立环境的现代服务器端 Java 模板引擎。 模板引擎&#xff1a;为了使用户界面和业务数据分离而产生的&#xff0c;它可以生成特定格式的文档&#xff0c;用于网站的模板引擎会生成一个标准的 html 文档…

Hadoop单机版环境搭建

一 . 案例信息 Hadoop 的安装部署的模式一共有三种&#xff1a; 本地模式&#xff0c;默认的模式&#xff0c;无需运行任何守护进程&#xff08; daemon &#xff09;&#xff0c;所有程序都在单个 JVM 上执行。由 于在本机模式下测试和调试 MapReduce 程序较为方便&#x…